如何将带有动画Blender 3D动画的网格导入JSON并从Three.js 90加载? 也许有人有怎么做?我无法做到这一点。
loader.load( 'models/fox/fox_run.json', function ( geometry, materials ) {
// adjust color a bit
var material = materials[ 0 ];
material.morphTargets = true;
material.color.setHex( 0xffaaaa );
for ( var i = 0; i < 1; i ++ ) {
var mesh = new THREE.SkinnedMesh( geometry, materials );
mesh.matrixAutoUpdate = false;
mesh.updateMatrix();
scene.add( mesh );
mixer.clipAction( geometry.animations[ 0 ], mesh )
.setDuration( 1 ) // one second
.startAt( - Math.random() ) // random phase (already running)
.play(); // let's go
}
} );
在通过Three.js r90导出器导出后,我已经破坏了SkinnedMesh。网格和骨架已被Blender配置抵消,我遇到了麻烦。
ALRIGHT,GUYS!我需要做的就是: 1.姿势模式选择:姿势 - >清除变换 - >全部 2.对象模式选择:对象 - &gt;清除位置,旋转,缩放,原点。 我的模型使用JSONLoader从Blender导出到Three.js!
答案 0 :(得分:2)
你的动画是否在每根骨骼上都有电枢关键帧?如果您使用的是IK,则可能需要将IK烘焙到动作中。谷歌烘焙搅拌机IK。在三个导出设置中,确保你有蒙皮网格和动画,并检查嵌入动画..如果这些东西没有帮助,发布一个codepen或一个jsfiddle。还要确保将动画设置为循环。它可能是在您第一次看到之前完成动画。第h