2013-04-22 105 views
1

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

该模型仍然加载,但它看起来像在搅拌机编辑模式下的模型。 (胳膊伸直并直立),即使在控制台端口没有错误,也没有动画。

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(); 

} 

任何帮助将衷心感谢!谢谢

回答

1

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

我建议你在官方GitHub上发布这个bug three.js here 随意添加功能并修复那样的问题。