如何将带动画的Blender 3D网格导出并加载到JSON并将其加载到Three.js r90中?

时间:2018-03-03 20:11:22

标签: json three.js blender

如何将带有动画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

                }

            } );

enter image description here

它没有播放动画...... enter image description here

在通过Three.js r90导出器导出后,我已经破坏了SkinnedMesh。网格和骨架已被Blender配置抵消,我遇到了麻烦。

enter image description here

ALRIGHT,GUYS!我需要做的就是: 1.姿势模式选择:姿势 - >清除变换 - >全部 2.对象模式选择:对象 - &gt;清除位置,旋转,缩放,原点。 我的模型使用JSONLoader从Blender导出到Three.js!

1 个答案:

答案 0 :(得分:2)

你的动画是否在每根骨骼上都有电枢关键帧?如果您使用的是IK,则可能需要将IK烘焙到动作中。谷歌烘焙搅拌机IK。在三个导出设置中,确保你有蒙皮网格和动画,并检查嵌入动画..如果这些东西没有帮助,发布一个codepen或一个jsfiddle。还要确保将动画设置为循环。它可能是在您第一次看到之前完成动画。第h