Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Animation FBX与BVH问题_Animation_Three.js - Fatal编程技术网

Animation FBX与BVH问题

Animation FBX与BVH问题,animation,three.js,Animation,Three.js,我的角色渲染不正确。它被拉伸并且动画设置不正确。 我在windows chrome上使用的是93版的three。 加载模型而不设置动画是可以的 这基本上就是我正在做的: let loader: any = new (<any>THREE).BVHLoader(); loader.load("scenes/test3d_caveman/graphics/29-5/cavemanCharaacter_BVH/cavemanCharaacter/01_01.bvh", (result) =

我的角色渲染不正确。它被拉伸并且动画设置不正确。 我在windows chrome上使用的是93版的three。 加载模型而不设置动画是可以的

这基本上就是我正在做的:

let loader: any = new (<any>THREE).BVHLoader();
loader.load("scenes/test3d_caveman/graphics/29-5/cavemanCharaacter_BVH/cavemanCharaacter/01_01.bvh", (result) => {
    var boneContainer2 = new THREE.Group();
    this.obj.add(boneContainer2);
    boneContainer2.add(result.skeleton.bones[0]);
    boneContainer2.add(this._fbxObj);

    (<any>this._fbxObj).skeleton = result.skeleton;

    // locate SkinnedMesh and bind skeleton
    this.obj.traverse((child) => {
        if (child instanceof THREE.SkinnedMesh) {
            let skinnedMesh: THREE.SkinnedMesh = <THREE.SkinnedMesh>child;
            skinnedMesh.bind(result.skeleton);
        }
    });

    let mixer: THREE.AnimationMixer = new THREE.AnimationMixer(this._fbxObj);
    this._mixers.push(mixer);
    mixer.clipAction(result.clip).setEffectiveWeight(1.0).play();
});
let loader:any=new(三个).BVHLoader();
loader.load(“场景/test3d_caveman/graphics/29-5/cavemancharacter_BVH/cavemancharacter/01_01.BVH”,(结果)=>{
var boneContainer2=new THREE.Group();
此.obj.add(boneContainer2);
boneContainer2.add(result.skeleton.bones[0]);
boneContainer2.添加(此._fbxObj);
(this._fbxObj).skeleton=result.skeleton;
//定位蒙皮网格并绑定骨架
此.obj.traverse((子项)=>{
if(三个的子实例skindmesh){
让skindmesh:3.skindmesh=child;
skindmesh.bind(result.skeleton);
}
});
let mixer:THREE.AnimationMixer=新的THREE.AnimationMixer(this.\u fbxObj);
这个。_混合器。推(混合器);
mixer.clipAction(result.clip).setEffectiveWeight(1.0).play();
});
有人对它为什么不起作用有什么建议吗


Peter

如果不看一下工作示例,就无法帮助您。可能是你的出口商,可能是剥皮,可能是你的代码。。。在jsfiddle.net上上传一个工作示例,这样人们就可以真正看到问题所在;FBX在哪里起作用?是的。我理解这个例子的要点。这是对我所做工作的总体描述。我创建了一个自包含的示例。你可以在这里下载: