2013-10-29 102 views
2

我正在嘗試使用Three.js加載OBJ模型。用Three.js從本地機器加載OBJ模型?

起初,我嘗試這樣:

var loader = new THREE.OBJLoader(); 
loader.load('chair.obj', function (object) 
{ 
    scene.add(object); 
}); 

但我得到一個錯誤,指出跨起源請求HTTP只支持。

我看着在互聯網上尋求幫助,找到了這個網頁:https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally

,並試圖從CMD線運行鉻:鉻--allow-文件訪問從檔案

仍然一無所獲。

最後,我嘗試使用Python內置的Http服務器。 並試圖加載這樣的:

var loader = new THREE.OBJLoader(); 
loader.load('http://localhost:8000/chair.obj', function (object)    
{ 
    scene.add(object); 

}); 

現在場景加載,但我試圖加載不出來的模型。在Chrome開發工具中,我看到以下錯誤:

XMLHTTPRequest無法通過Access-Control-Allow-Origin允許加載.Origin null。

我在桌面上擁有3D圖形方面的專業知識,但我對JavaScript和互聯網技術完全陌生。我對Three.js感到非常興奮,並且非常願意探索它,但是我有這樣的打嗝。

我試圖在互聯網上查看,但沒有成功。 我真的需要幫助。我會很感激任何人都可能有關於如何克服這一點的指針。

感謝

+1

嗯,很好,只是代替加載OBJ,瀏覽你的網頁到相應的目錄。例如在瀏覽器中使用http:// localhost:8000/index.html。在OBJ-Loader中,如果文件與index.html位於同一目錄中,則只需使用「/chair.obj」作爲路徑。這應該工作:) – GuyGood

+0

非常感謝!這工作! – vektor

回答

1

這聽起來像本地運行three.js所的Chrome的安全問題。 Firefox可能會在沒有任何附加步驟的情況下顯示模型。

得到這個工作,你需要將這行添加到Chrome快捷方式目標

--allow-file-access-from-files

因此,這將是這個樣子的Windows

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

還有更多有關此主題的信息here

-1

您可以隨時使用Mozilla Firefox