2012-07-17 71 views
0

我無法讓我的collada模型使用three.js渲染,直到我與瀏覽器窗口交互。在Chrome中,它可以像在頁面上的任意位置移動鼠標一樣簡單(實際畫布小於整個窗口),而在Safari上,它需要點擊並拖動模型才能渲染。奇怪的是,場景的其餘部分正確加載(我有一個網格,我渲染到場景和幾個燈),但模型不會顯示,直到我做了什麼。有關我如何欺騙現場知道它應該顯示模型的任何想法?Collada模型渲染鼠標移動

var loader = new THREE.ColladaLoader(); 
loader.options.convertUpAxis = true; 
loader.load('../MODELS/teapot.dae', function colladaReady(collada) { 

    dae = collada.scene; 
    skin = collada.skins[ 0 ]; 

    dae.scale.x = dae.scale.y = dae.scale.z = 10; 
    dae.position.y = 75; 
    dae.updateMatrix();    

    scene.add(dae);       
}); 


document.getElementById('myCanvas').appendChild(renderer.domElement); 

render(); 

回答

1

加載發生異步。您只顯示代碼片段,但看起來您可以將render()調用移動到colladaReady()回調函數的最後一行。

+0

工作。我的印象是requestAnimationFrame(animate)(未在原始代碼片段中顯示)會使渲染更新。謝謝! – shadyhill 2012-07-17 18:37:14