File: BVHLoader.md | Updated: 11/15/2025
A loader for the BVH format.
Imports BVH files and outputs a single Skeleton and AnimationClip. The loader only supports BVH files containing a single root right now.
const loader = new BVHLoader();
const result = await loader.loadAsync( 'models/bvh/pirouette.bvh' );
// visualize skeleton
const skeletonHelper = new THREE.SkeletonHelper( result.skeleton.bones[ 0 ] );
scene.add( result.skeleton.bones[ 0 ] );
scene.add( skeletonHelper );
// play animation clip
mixer = new THREE.AnimationMixer( result.skeleton.bones[ 0 ] );
mixer.clipAction( result.clip ).play();
BVHLoader is an addon, and must be imported explicitly, see Installation#Addons.
import { BVHLoader } from 'three/addons/loaders/BVHLoader.js';
Constructs a new BVH loader.
manager | The loading manager.
---|---
Whether to animate bone positions or not.
Default is true.
Whether to animate bone rotations or not.
Default is true.
Starts loading from the given URL and passes the loaded BVH asset to the onLoad() callback.
url | The path/URL of the file to be loaded. This can also be a data URI.
---|---
onLoad | Executed when the loading process has been finished.
onProgress | Executed while the loading is in progress.
onError | Executed when errors occur.
Overrides: Loader#load
Parses the given BVH data and returns the resulting data.
text | The raw BVH data as a string.
---|---
Overrides: Loader#parse
Returns: An object representing the parsed asset.