Single BVH → USDZ export without ever touching GLB

Hello everyone,

I’m currently working on a pipeline that generates human motion as BVH files, retargets that motion onto an avatar mesh (GLB), and then (optionally) packages the result as USDZ for AR Quick Look. Our current flow is:

  1. Motion gen → BVH
  2. Retarget BVH onto SMPL-rigged GLB
  3. Package GLB + textures → USDZ

I’d love to collapse steps 2 + 3 into a single BVH → USDZ export—ideally without ever touching GLB. Questions:

  • Tools/plugins: Has anyone found a command-line tool or script (in Python, Swift, C++) that takes a BVH + target skeleton and emits a USD/USDZ animation stage directly?
  • USDKit / USD Python API: Would it make sense to load the BVH in code, build a USD Skel (UsdSkel) rig, and then stage.Export("… .usdz")? Any code samples?
  • Apple’s usdz_converter: Does it accept BVH or only Alembic/FBX/USD inputs?
  • Other DCC solutions: Blender/Maya USDZ exporters—can they import BVH and bake it straight to USDZ in one step?
  • Best practices: Any gotchas around embedding animation curves, binding skeletons, or packaging textures?

Thanks in advance—any pointers, minimal repros, or code snippets would be hugely appreciated!

It might be worth trying Blender because they do have a BVH plugin and can export straight to usdz

When the Blender path works, you could make your rigged character with a short idle animation the template file.
Then export with other moves but export to .usda.
Then create a new file that references the template/master and over the animation related attributes, copied from the above mentioned .usda
This way, you get a library of animations all re-using/referencing the same character (that can be modded)
But that goes deep down the TD rabbit hole.

Also have a look here: