首页 文章

Blender导出的JSON模型在THREE.js中显示错误的动画

提问于
浏览
2

我在Blender有一个基本的漫步动画,我试图导出到THREE.js . 它在Blender播放中看起来不错:

enter image description here

现在,在使用THREE.js导出器导出后,它在浏览器中看起来像这样:

enter image description here

几何形状被打破,而不是在所有身体部位,但肯定有一些问题 . 我不知道现在该做什么,我尝试导出了几个选项已选中/未选中,没有运气 .

我也阅读了这篇文章中的解释,我想我遵循了所有必需的步骤,但仍然得到了这个奇怪的动画:

http://unboring.net/workflows/animation.html#preview

https://github.com/mrdoob/three.js/pull/8412#issuecomment-210675561

https://github.com/mrdoob/three.js/issues/6050

我目前用来加载JSON模型/动画的代码是这样的:

var loader = new THREE.JSONLoader();
        var action = {}, mixer;

        loader.load(path + '/dino.json', function (geometry, materials) {
            materials.forEach(function (material) {
                material.skinning = true;
            });

            character = new THREE.SkinnedMesh(
              geometry,
              new THREE.MeshFaceMaterial(materials)
            );

            scene.add(character);

            /* ANIMATION */
            mixer = new THREE.AnimationMixer(character);                
            action.walk = mixer.clipAction(geometry.animations[ 3 ]);               
            action.walk.setEffectiveWeight(1);
            action.walk.enabled = true;

            /* Update/render functions */
            onUpdateFcts.push(function(delta, now){
                mixer.update(delta);
            });

            action.walk.play();
        });

我使用Blender 2.78c和THREE.js r84,Blender导出工具包含在此版本中 .

1 回答

  • 2

    我找到了一些关于类似动画问题的有趣链接:

    Model with bones animation (blender export) animating incorrectly in three.js

    http://dev.mothteeth.com/2012/10/threejs-blender-exporting-skeletal-animations/

    Blender exports a three.js animation - bones rotate strangely

    在阅读了所有这些建议之后,我成功地导出了动画网格,没有此工作流程后的可视化工件:

    • 通过网格周围的骨骼创建骨架骨骼 . 完成并在对象模式下,首先选择网格,然后选择骨架,按CTRL P>使用自动权重 . 这会在网格上生成骨架修改器 . 根据我的阅读,在导出之前不需要删除骨架修改器 .

    • 您必须具有默认姿势,如休息位置 . 这必须是在Blender上选择的那个 . 此外,必须在该默认姿势中选择播放帧0 .

    • 我在所有涉及的骨骼的每个姿势的开始和结束处创建了关键帧,这似乎很重要 .

    • 您必须取消选择所有内容并仅选择网格,而不是骨架 . 这必须在对象模式下完成 .

    • 我的导出设置:

    enter image description here

    enter image description here

    注意:我必须说这是我跟随的工作流程,没有运气 . 这次差异是我首先删除了每个顶点组,也删除了电枢修改器(不是电枢本身)并重新创建了第一个顶点组的所有步骤 . 现在,一旦导出动画网格就足够了!

相关问题