2012-11-29 184 views
1

我試圖使用OBJLoader加載3D模型,並且成功。使用三維建模軟件繪製模型,並使用轉換軟件轉換爲.obj格式。由於模型是絕對定位,所以顯示模型總是有問題。Three.js:在場景中間顯示對象

在這種情況下,如何在場景中間顯示對象並使模型看起來正常?

你能幫我試試這個工作嗎?謝謝!

回答

0

我會建議一些思路,但我不確切地知道你的意思是「始終存在顯示模型的問題」和「使模型看起來很正常」。

在three.js所的我(小)的經驗,我在基本上兩大類問題跌跌撞撞:
- Positionning,即你結束了不正確的座標,像過大/小出界:對那麼,研究你的模型,計算並顯示邊界框和/或邊界球(嘗試在瀏覽器的錯誤窗口中寫一個日誌),然後根據找到的值調整攝像機,燈光有時候會出現黑屏,幾乎看不見的黑色顯示屏上:因此,從材質和燈光開始,周圍環境亮度爲{1,1,1},因此模型在黑色背景上清晰呈現爲純白色,然後對材質和燈光進行細化,以賦予預期的效果。

不能說太多,現在更多的,直到我知道更多的恰恰是你的問題......

輸出的錯誤日誌小碼:

function log(msg) { 
    setTimeout(function() { 
     throw new Error(msg); 
    }, 0); 
} 

使用這樣的:

log('Radius = ' + radius); 
+0

非常感謝您的回答。我的問題是,如何在每次加載時在場景/屏幕中間顯示模型。我想知道Three.js中是否有一種機制可以支持它。再次感謝你! – user1452571

+0

從您的評論中,我認爲你的照明是正確的:你實際上可以看到屏幕上的物體,但它不在相機的正確位置。因此,您應該嘗試計算物體的邊界框,根據焦點將相機放置在距BB中心適當的距離處,然後讓它看BB中心。 Three.js具有支持該功能的功能。你用什麼來控制?或者如果您不使用Controls實用程序,請查看Camera類及其派生類。 –

相關問題