Three.js错误的骨骼方向

时间:2016-11-21 11:54:50

标签: javascript three.js skeletal-animation skeletal-mesh

我正在加载一个带有三个皮肤和装配模型的模型,以及一个bvh mocap动画文件。

当我尝试将bvh动画应用于模型时,我对某些骨骼有错误的定位:

Wrong Bones orientation

正如您所看到的,手臂的方向是错误的。

这是我加载模型和bvh文件的方式:

loader.load( "anim.bvh", function( result ) {
    skeletonHelper = new THREE.SkeletonHelper( result.skeleton.bones[ 0 ] );
    skeletonHelper.skeleton = result.skeleton; // allow animation mixer to bind to SkeletonHelper directly
    var boneContainer = new THREE.Group();
    boneContainer.add( result.skeleton.bones[ 0 ] );
    scene.add( skeletonHelper );
    scene.add( boneContainer );
    // play animation


    modelLoader.load('model.js', function(geometry, materials){
            var originalMaterial = materials[1];
            originalMaterial.skinning = true;

            mixer = new THREE.AnimationMixer( skeletonHelper );
            mixer.clipAction( result.clip ).setEffectiveWeight( 1.0 ).play();

            geometry.skeleton = result.skeleton;
            animatedMesh = new THREE.SkinnedMesh( geometry, originalMaterial );

            scene.add(animatedMesh);
            mixer2 = new THREE.AnimationMixer(animatedMesh);

            var action = mixer2.clipAction(result.clip);
            action.play();
    });

});

bvh文件和模型文件具有完全相同的骨架。 你知道它可以来自哪里吗?

由于

0 个答案:

没有答案