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