# Single BVH → USDZ export without ever touching GLB

**URL:** <https://forum.aousd.org/t/single-bvh-usdz-export-without-ever-touching-glb/2541>\
**Category:** USD\
**Created:** [June 23, 2025, 6:59pm UTC](https://forum.aousd.org/t/single-bvh-usdz-export-without-ever-touching-glb/2541 "2025-06-23T18:59:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pbichpur](https://avatars.discourse-cdn.com/v4/letter/p/90db22/32.png) [@pbichpur](https://forum.aousd.org/u/pbichpur)\
**Post date:** [June 23, 2025, 6:59pm UTC](https://forum.aousd.org/t/single-bvh-usdz-export-without-ever-touching-glb/2541/1 "2025-06-23T18:59:16Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![dhruvgovil](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/dhruvgovil/32/3_2.png) [@dhruvgovil](https://forum.aousd.org/u/dhruvgovil)\
**Post date:** [June 23, 2025, 11:59pm UTC](https://forum.aousd.org/t/single-bvh-usdz-export-without-ever-touching-glb/2541/2 "2025-06-23T23:59:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ThomasKumlehn](https://avatars.discourse-cdn.com/v4/letter/t/ce7236/32.png) [@ThomasKumlehn](https://forum.aousd.org/u/ThomasKumlehn)\
**Post date:** [June 24, 2025, 6:57am UTC](https://forum.aousd.org/t/single-bvh-usdz-export-without-ever-touching-glb/2541/3 "2025-06-24T06:57:06Z")

</div>

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:

> [@File format plug-in for BVH skeletal animation data](https://forum.aousd.org/t/file-format-plug-in-for-bvh-skeletal-animation-data/2257):
>
> Hi Everyone, I just wanted to share a new file format plug-in I have recently released for reading BVH animation files. Some example use cases include: :bulb:Use usdview to inspect and play back skeletal animation data in BVH files :bulb:Use usdrecord to render playblasts of BVH motion capture data on the command line :bulb:Use USD to transcode BVH motion capture data to other file formats :bulb:Use USD to compose BVH animation into a larger scene composition :bulb:Extend a DCC that suppo…
