2013-04-22 142 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 隨意添加功能並修復那樣的問題。