【发布时间】:2015-04-19 21:47:08
【问题描述】:
我从 3ds max 导出了一个模型(带有多个动画),并最终将其转换为 JSON。但是,我所有的动画都被打成了一个动画。有没有办法在threejs中只播放一定范围的帧,还是我需要为每个单独的动画从3ds max导出? 谢谢, 大卫
【问题讨论】:
-
凹凸。也在寻找解决方案:(
我从 3ds max 导出了一个模型(带有多个动画),并最终将其转换为 JSON。但是,我所有的动画都被打成了一个动画。有没有办法在threejs中只播放一定范围的帧,还是我需要为每个单独的动画从3ds max导出? 谢谢, 大卫
【问题讨论】:
有两种类型的动画。 从 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
【讨论】: