Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ardy2bvh

Convert NVIDIA ARDY motion output (.npz) to BVH and FBX, so you can use real-time text-generated motion in Blender, Unity, Unreal, or any animation tool.

ARDY generates impressive real-time, text-and-constraint-driven human motion, but it only writes .npz files and (for the G1 robot) MuJoCo CSVs. There is currently no path from the humanoid "Core" skeleton output to standard animation formats. This tool fills that gap.

Why this is convenient

The Core skeleton's bone names (Hips, Spine, RightUpLeg, LeftForeArm, ...) follow the standard Mixamo-style naming convention. The BVH produced here retargets almost 1:1 onto standard humanoid rigs, so most retargeting tools map the bones automatically.

Install

pip install numpy scipy

No torch, no ARDY install required. For FBX export you also need Blender (free) on your PATH.

Usage

# 1. Generate motion with ARDY (see their repo)
python scripts/generate.py "A person dances energetically." --output dance

# 2. Convert to BVH
python ardy2bvh.py outputs/dance.npz            # -> outputs/dance.bvh
python ardy2bvh.py outputs/waves/ -o bvh/       # whole folder

# 3. (Optional) Convert to FBX via headless Blender
python bvh2fbx.py outputs/dance.bvh             # -> outputs/dance.fbx

Options for ardy2bvh.py:

Flag Meaning
-o, --output output path (file or folder)
--scale unit scale, e.g. 100 for meters→centimeters

Suggested pipeline for game characters

  1. Generate motions with ARDY (generate.py, batch-friendly).
  2. Convert to BVH with this tool.
  3. Retarget the motion onto your own rigged character with any standard retargeting tool (a Blender add-on or a game engine's built-in retargeter). Because the bone names follow the Mixamo naming convention, the bone mapping is picked up automatically in most tools.
  4. Export FBX / glTF for your engine.

Supported skeletons

  • ✅ Core (cskel27) — ARDY-Core-RP-* models
  • ❌ G1 robot — use ARDY's built-in MuJoCo CSV export
  • ⏳ SOMA — planned once NVIDIA releases the SOMA-skeleton checkpoints

Notes / limitations

  • Coordinate system: ARDY is Y-up, Z-forward, right-handed; BVH output preserves this (Blender BVH importer default settings work).
  • Root motion (Hips world translation) is preserved in the root channels.
  • foot_contacts from the npz are not exported (BVH has no slot for them); use ARDY's --postprocess (default on) to reduce foot skating before export.
  • Early release: validated against ARDY's own BVH parser and forward-kinematics comparison. Issues and PRs welcome.

License

Apache-2.0. Skeleton definition and rest pose extracted from the Apache-2.0 licensed ARDY repository (© NVIDIA Corporation & Affiliates).

About

Convert NVIDIA ARDY motion output (.npz) to BVH/FBX for Blender, Unity, Unreal

Topics

Resources

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages