NaP-Control: Navigating Diffusion Prior for Versatile and Fast Character Control
Organizations: ETH Zurich
Abstract
Achieving precise, versatile whole-body character control in physics-based animation remains challenging. Recent diffusion-based policies generate rich and expressive motions but typically rely on gradient-based test-time guidance to satisfy task objectives, which is slow and can reduce robustness. We introduce NaP-Control (Navigating Diffusion Prior for Versatile and Fast Character Control), abbreviated as NaP. Our method uses reinforcement learning to manipulate the latent noise of a task-agnostic diffusion policy prior, steering it toward task-specific behaviors for fast, robust control with high motion fidelity. In contrast to methods that rely solely on offline training, NaP interacts with the environment during training to correct motions and optimize task rewards, improving success rates and enabling adaptation to challenging scenarios. By directly predicting task-optimized diffusion noise, NaP eliminates iterative guidance during denoising and enables efficient inference. Experiments show that NaP attains higher success rates and faster inference while preserving natural motion across diverse tasks.
Figures & tables
| Type | Methods | Jerk | Success Rate | Samples |
|---|---|---|---|---|
| Flat | AMP [ 32 ] | 2387 | 0.967 | 1200M |
| CML [ 57 ] | 2185 | 0.963 | 400M | |
| NaP(Ours) | 1266 | 0.984 | 327M | |
| Terrain | AdaptNet [ 58 ] | 2444 | 0.868 | 408M |
| NaP(Ours) | 1788 | 0.860 | 900M |
| Inference Speed (FPS) | Far Goal Reaching | Velocity Control |
|---|---|---|
| UniPhys | 2.9 | 5.2 |
| NaP-Control (Ours) | 22.5 | 24.4 |
| Methods | Far Goal Reaching | Agile Hand Reaching | Velocity Control | Object Interaction | |||||
|---|---|---|---|---|---|---|---|---|---|
| Jerk | Success Rate | Jerk | Success Rate | Jerk | Velocity Error | Success Rate | Jerk | Success Rate | |
| PULSE [ 26 ] | 2594 | 0.998 | 3631 | 0.998 | 2273 | 0.0455 | 0.996 | 1373 | 0.999 |
| MaskedMimic [ 41 ] | 3564 | 0.304 | 2750 | 0.725 | 2420 | 0.0678 | 0.355 | 1310 | 0.298 |
| CLoSD [ 44 ] | 1876 | 0.998 | – | – | – | – | – | 1505 | 0.862 |
| UniPhys [ 53 ] | 528 | 0.819 | – | – | 401 | 0.7971 | 0.921 | – | – |
| NaP-Control(Ours) | 1266 | 0.984 | 1146 | 0.991 | 752 | 0.1753 | 0.990 | 491 | 0.979 |
| Methods | Far Goal Reaching | Agile Hand Reaching | Velocity Control | ||||
|---|---|---|---|---|---|---|---|
| Jerk | Success Rate | Jerk | Success Rate | Jerk | Velocity Error | Success Rate | |
| PULSE [ 26 ] | 2830 | 0.966 | 3976 | 0.980 | 2397 | 0.0569 | 0.995 |
| MaskedMimic [ 41 ] | 3566 | 0.319 | 2723 | 0.676 | 2262 | 0.0556 | 0.292 |
| NaP-Control(Ours) | 1788 | 0.860 | 1520 | 0.909 | 1358 | 0.1654 | 0.950 |
| Task | Task-specific input |
|---|---|
| Far goal reaching | Goal coordinates; terrain height maps (optional) |
| Agile hand reaching | Goal coordinates; terrain height maps (optional) |
| Velocity control | Target speed and direction; terrain height maps (optional) |
| Object interaction | Goal coordinates; sofa states |
| Shared input | Character’s proprioception |
| Symbol | Description | Value / range |
| Far goal reaching | ||
| Target goal position in world coordinates. | ||
| Pelvis position in world coordinates. | ||
| Character forward heading unit vector. | ||
| Unit vector pointing from to . | ||
| Scaling factors for and . | 4.0 / 2.0 (uneven), 2.0 | |
| Category | Value / Configuration |
|---|---|
| Training Infrastructure | |
| Hardware | RTX 4090 GPU, 4 CPUs, 32GB RAM |
| ∗ Hardware | NVIDIA H200, 141GB RAM |
| Parallel Environments | 256 / 1536 ∗ |
| Inference Infrastructure | RTX TITAN GPU |
| PPO Hyperparameters |
| Feature | Full State | Compact State | Root State Only |
| Global Root Trajectories | ✓ | ✓ | ✓ |
| 6D Joint Rotations | ✓ | ✓ | – |
| Joint Angular Velocities | ✓ | ✓ | – |
| Local Joint Positions | ✓ | – | – |
| Local Joint Velocities | ✓ | – | – |
| Total Dimensions | 398 | 256 | 47 |
| Methods | Jerk | Success Rate | Precision | FPS |
|---|---|---|---|---|
| NaP(Ours) | 570 | 0.972 | 0.186 | 34.3 |
| TokenHSI [ 29 ] | 575 | 0.995 | 0.089 | 53.9 |
Diffusion Policy
Diffusion policies generate multimodal action sequences by iteratively denoising noise, enabling imitation, planning, and control in robotics.
See all 205 papers