在三个j中播放单独的动画

时间:2015-02-18 18:36:52

标签: animation three.js 3dsmax

我从3ds max导出了一个模型(带有几个动画)并最终将其转换为JSON。然而,我的所有动画都被粉碎成一个动画。在threejs中有没有办法只播放一定范围的帧,或者我是否需要为每个动画从3ds max导出? 谢谢, 大卫

1 个答案:

答案 0 :(得分:0)

有两种类型的动画。 从Blender导出时我使用网格变形。我得到的json有这一行:

"morphTargets" : [{ "name": "animation_000000", "vertices": [...

然后我使用MorphAnimMesh加载它:

mesh = new THREE.MorphAnimMesh( geometry, new THREE.MeshFaceMaterial( materials ) );

加载后我默认设置空闲动画:

mesh.duration = 4000; //4 seconds whole animation?
mesh.setFrameRange(1,50);

然后在某些事件上我只是改变动画范围:

mesh.setFrameRange(51,80);

如果你使用骨骼和皮肤动画,你的json模型会以行

结束
"animations" : [...
"bones": [...

我没有使用过那个,所以试试这个教程: http://code.tutsplus.com/tutorials/webgl-with-threejs-models-and-animation--net-35993

这也是类似的问题: How do I handle animated models in Three.js?