What Is a BVH File?
BVH (BioVision Hierarchy) is a motion capture data format developed in the 1990s that has become one of the most widely used formats for storing and exchanging skeletal animation data. Unlike FBX (which bundles mesh, materials, and animation together), a BVH file stores only the skeleton definition and the animation curves — no geometry, no materials, just joint hierarchy and movement data.
The BVH format's simplicity is both its strength and its limitation. A BVH file is readable as plain text, lightweight, and exchangeable between nearly every 3D application that handles animation. It's also the output format of many motion capture research databases, making it the standard format for datasets like Carnegie Mellon University's CMU Graphics Lab database — which contains thousands of freely available BVH motion capture recordings.
Converting BVH files to FBX files is the most common workflow for getting mocap data into Unreal Engine or Unity.
For game developers and 3D animators, understanding BVH files is important because the BVH format is what you're most likely to encounter when working with academic mocap databases, older capture systems, or animation tool exports. And knowing how to convert BVH to FBX is a practical skill for anyone building a character animation pipeline.
What this guide covers: How BVH files work technically, where to find free BVH animation data, how to import BVH files in Blender, Maya, and game engines, the BVH to FBX conversion workflow, and when BVH falls short of production requirements.
How BVH Files Work: The Technical Structure
A BVH file has two sections:
HIERARCHY Section
Defines the skeleton — the bone (joint) names and their parent-child relationships. Each joint in the BVH format specifies its name (a text label), its OFFSET (the joint's rest position relative to its parent), and its CHANNELS (which data channels the joint receives in the motion data section — typically 3 rotation values: Xrotation, Yrotation, Zrotation; the root joint also has 3 translation channels).
Example BVH format structure (simplified):
HIERARCHY
ROOT Hips
OFFSET 0.00 0.00 0.00
CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
JOINT LeftUpLeg
OFFSET 3.41 0.00 0.00
CHANNELS 3 Zrotation Xrotation Yrotation
MOTION Section
Contains the actual BVH animation data — a numerical table where each row is one frame of the animation, and each column corresponds to one of the channel values defined in the HIERARCHY section. The frame rate and total frame count are specified at the start.
Because BVH is plain text, you can open a BVH file in any text editor and read the skeleton structure and raw animation values directly. This transparency makes it easy to debug BVH motion capture data — if a joint is behaving unexpectedly, you can inspect the raw channel values directly.
The Best Sources for Free BVH Files
Carnegie Mellon University (CMU) Graphics Lab Database
The most comprehensive freely available BVH motion capture dataset in the world. Over 2,500 sequences covering walking, running, sports, daily activities, emotional performances, dance, and unusual movements. Explicitly public domain — no licensing restrictions for commercial or non-commercial use.
The CMU database is the reference source for BVH animation research. Community members have also re-packaged the data in converted FBX format for direct engine use.
Quality note: CMU data was captured with early marker-based systems in the early 2000s. The BVH animation data is real and varied, but artifacts are common — foot sliding, joint popping, and inconsistent cleanup. The data is best treated as research material or reference; production use requires cleanup work.
Rokoko Motion Library
Rokoko offers a free online library of BVH and FBX animations, including professionally captured clips and community submissions. Accessible from the Rokoko website without a hardware purchase.
BVHhacker (BVHhacker.com)
A community-maintained collection of BVH files and a browser-based BVH viewer/editor. Useful for quickly inspecting BVH animation content without importing into a DCC tool.
Academic Research Datasets
Several university motion capture labs have published their BVH motion capture datasets for research and commercial use. The Edinburgh Locomotion Mocap Database, KIT Motion-Language Dataset, and HDM05 are the most frequently cited. These have varying license terms — check the documentation for each.
How to Import BVH Files in Blender
Blender handles BVH import natively without any addon required. Import BVH Blender workflow:
- File → Import → BVH
- In the import options panel, set Scale — the default value may import at incorrect size. CMU data is typically in millimeter units and may need a scale of 0.01. Adjust until the character height looks approximately correct (1.7–1.8m for an adult). Enable Rotate to align the BVH coordinate system to Blender. Set Start Frame to your timeline start frame.
- Click Import BVH
The import BVH Blender process creates a new armature object with the BVH skeleton and animation baked onto it as an Action. Select the armature and press Space/Play to preview the animation.
Checking the import: Enter Pose Mode on the imported armature. The character should appear in a recognizable pose (T-pose or A-pose depending on the source), and pressing Play should show the correct motion.
Scale troubleshooting: If the imported BVH animation appears either microscopic or enormous, try Scale values of 0.01, 0.1, and 1.0 to find the correct size. CMU BVH data almost always needs 0.01.
How to Convert BVH to FBX
BVH is useful for inspection and DCC-to-DCC transfer, but game engines typically require FBX. The BVH to FBX conversion using Blender is the standard free approach.
Blender BVH to FBX Conversion
- Import the BVH file using the import BVH Blender workflow above
- Select the armature
- File → Export → FBX
- In the export panel:
- Selected Objects: Checked (exports only the armature, no other scene objects)
- Armature: Checked
- Bake Animation: Checked — this bakes all constraints and drivers into keyframes for the BVH to FBX conversion
- Apply Scale: FBX Units Scale (converts Blender's metric units to FBX centimeter scale expected by UE5)
- Axis: Forward: -Z Forward, Up: Y Up (standard for most game engines)
- Sampling Rate: Match your target frame rate (30fps for games)
- Click Export FBX
The BVH to FBX output can be imported into Unreal Engine, Unity, Maya, 3ds Max, or any other FBX-compatible tool.
Batch Converting BVH to FBX with Python
For converting many BVH files (like a large subset of the CMU database), Blender's Python API (bpy) enables batch BVH to FBX processing. Save the following script to a .py file and run it via Blender's command line mode (blender --background --python script.py) for automated batch conversion:
import bpy, os
bvh_folder = r"C:\mocap\bvh_files"
fbx_output = r"C:\mocap\fbx_output"
for filename in os.listdir(bvh_folder):
if filename.endswith(".bvh"):
bpy.ops.import_anim.bvh(filepath=os.path.join(bvh_folder, filename))
arm = bpy.context.selected_objects[0]
out_path = os.path.join(fbx_output, filename.replace(".bvh", ".fbx"))
bpy.ops.export_scene.fbx(
filepath=out_path,
use_selection=True,
bake_anim=True,
apply_scale_options='FBX_SCALE_UNITS'
)
bpy.ops.object.delete()
Importing BVH in Unreal Engine 5
UE5 does not natively import BVH files — complete the BVH to FBX conversion first (via Blender) and import as a standard FBX animation. Point the FBX import to the appropriate Skeleton asset in the Import Options dialog.
Alternatively, there are community UE5 plugins that handle BVH import directly, but they're unofficial and not maintained by Epic. The BVH to FBX workflow via Blender is more reliable for production use.
Importing BVH in Unity
Unity does not natively support BVH import either — convert to FBX first using the Blender BVH to FBX workflow above. The converted FBX imports cleanly into Unity with Animation Type set to Humanoid (for standard humanoid skeletons) or Generic.
BVH vs. FBX: When to Use Each
| Factor | BVH | FBX |
|---|---|---|
| Skeleton + animation in one file | Yes | Yes |
| Mesh and materials | No | Yes |
| Plain text, human-readable | Yes | No (binary or ASCII, complex) |
| Native game engine support | No (usually) | Yes |
| DCC tool support | Universal | Universal |
| File size | Small | Larger (mesh data) |
| Standard for BVH motion capture research | Yes | No |
| Standard for game production | No | Yes |
For most game development work, FBX is the correct format. BVH files are useful when working with academic BVH motion capture datasets, older capture systems, or tool chains that specifically require the BVH format.
BVH Animation Quality: What to Expect
BVH animation quality varies significantly by source. Understanding what you're getting helps calibrate expectations:
Research database BVH files (CMU, Edinburgh, KIT): Real capture data, large variety, public domain. But captured with older equipment, inconsistent cleanup, and varying performer quality. Suitable for prototyping and background/crowd animation; often needs significant cleanup for hero character use.
Tool-exported BVH files: When exporting BVH animation from Rokoko Studio, MotionBuilder, or other professional tools, the quality matches the source capture. This is professional-grade BVH motion capture data that exports cleanly.
Web-sourced BVH files: Quality ranges from excellent to unusable. Always preview BVH animation in Blender before building a pipeline around it.
FAQ: BVH Files
What software can open BVH files?
Virtually every 3D animation tool: Blender, Maya, 3ds Max, MotionBuilder, Cinema 4D, iClone, and many others. Several dedicated BVH viewers (BVHhacker, iPi Mocap Studio) let you inspect BVH animation without a full DCC install.
Are CMU BVH files copyright free?
Yes. The Carnegie Mellon University mocap database is explicitly public domain. The university has stated the BVH motion capture data is freely available for research, education, and commercial use without restriction.
Why does my BVH import look distorted in Blender?
Two common causes: scale mismatch (try Scale values of 0.01, 0.1, or 1.0 to find the correct size) or axis mismatch (try different Forward/Up axis combinations in the import settings). Z-up vs Y-up is the most common axis conflict between BVH sources.
Can I use BVH files from CMU in a commercial game?
Yes, the BVH animation data is public domain. However, production quality may require cleanup work before the animations are suitable for hero character use. Many developers use CMU BVH data as reference or for background characters and invest in professional packs for main character animation.
What's the difference between BVH and BIP format?
BIP is 3ds Max Biped's native format, specific to the Biped character system. BVH is a universal format readable by nearly any animation tool. For cross-application workflows, BVH is more portable; BIP is only useful within the 3ds Max/Character Studio ecosystem. MoCap Online ships in both BVH-convertible FBX and native BIP format.
How do I retarget BVH motion capture onto my own character?
After converting BVH to FBX via Blender, use the engine's retargeting tools: UE5's IK Retargeter maps the source skeleton to your character's skeleton visually; Unity's Humanoid system handles retargeting automatically if both source and target use Humanoid animation type. The retargeting quality depends on how closely the bone hierarchy and proportions match between the BVH source skeleton and your character rig.
Beyond BVH: Professional-Grade Animation Libraries
BVH databases like CMU offer variety at no cost. For production-quality animation that's already cleaned, looped, and formatted for game engines, professional libraries eliminate the BVH to FBX conversion and cleanup pipeline entirely.
MoCap Online's library ships in FBX, BIP, Unreal Engine, Unity, and Blender formats — no BVH conversion needed. Every clip is professionally captured, cleaned, and loop-tested. Start with the free animation pack to compare quality directly against converted BVH motion capture data. The animation blog includes workflow guides for BVH import, conversion, and retargeting.
