2014-03-25 93 views
0

我是ThreeJS的新手,我做了這個例子,它顯示了我們的模型之一。 http://petrie3dtesting.museums.ucl.ac.uk/3DFootCover/index.htmlThreejs objmtlloader黑色模型

我創建了Petrie3Dviewer,並在HTML頁面中創建了一個查看器對象,它將輸入.obj和.mtl文件。奇怪的是,對象顯示黑色,然後當我開始交互紋理時出現。我嘗試了我所想的一切:不同的瀏覽器,使紋理更小,不同的電腦,沒有我隨時都會有隨機行爲。 我主要嘗試了FIrefox,Chrome。 似乎我需要強制obj文件加載後的渲染,但OBJMTLLoader.js不提供任何事件。

非常感謝您的幫助。 Best, GC

回答

0

您應該在Animate函數中調用this.DoRender來渲染幀。

this.Animate = function() { 
    this.orbitControls.update(); 
    this.Animate(); 
    requestAnimationFrame(this.Animate.bind(this)); 
} 

目前只有在用戶使用OrbitControls更改視角時才調用渲染功能。而且由於紋理是異步加載的,所以在渲染幀時第一次沒有準備好。