1

我在搅拌机中创建了一个模型,装配它并创建了一些简单的动画,然后我导出到 .dae。当我打开 .dae 文件时,动画看起来不错,但是在我使用 three.js 将其加载到浏览器后,动画无法正常工作。

该模型仍在加载中,但它看起来像是处于搅拌机编辑模式的模型。(手臂伸直站直),即使控制台端口没有错误,也完全没有动画。

new THREE.ColladaLoader().load('../models/myworkblend3.dae', 
    function(collada) {
        monster = collada.scene;
        monster.scale.set(100, 100, 100);
        monster.rotation.x = -Math.PI/2;
        monster.rotation.z = Math.PI/2;

        skin = collada.skins[ 0 ];
        monster.updateMatrix();
        scene.add(monster);
        // enable shadows for an object
        monster.castShadow = true;
        monster.receiveShadow = true;
});

动画代码是

function animate() {

requestAnimationFrame( animate );

    if ( t > 60 ) t = 0;
    if ( skin ) {

        for ( var i = 0; i < skin.morphTargetInfluences.length; i++ ) {     // length is 101
                skin.morphTargetInfluences[ i ] = 0;
        }
        // enable the keyframe one by one
        skin.morphTargetInfluences[ Math.floor( t ) ] = 1;
        t += 0.5;    //this prolongs the waiting time 
    }

render();

}

任何帮助将不胜感激!谢谢

4

1 回答 1

2

three.js 中的 ColladaLoader 是实验性的,不再维护。无论如何,不​​幸的是,这个 ColladaLoader 是你最好的选择。

我建议您在此处的官方 GitHub three.js 上发布此错误。 随意添加功能并修复此类问题。

于 2013-04-23T21:39:09.853 回答