我有我嘗試加載紋理像這樣的本地文件:three.js所 - 無法加載本地質感
var texture = THREE.ImageUtils.loadTexture('image.jpg');
var cubeGeo = new THREE.CubeGeometry(50, 50, 50);
var cubeMat = new THREE.MeshBasicMaterial({ map: texture });
var cube = new THREE.Mesh(cubeGeo, cubeMat);
scene.add(cube);
圖像不顯示(立方體是黑色的)。 當我將整個文件夾移動到一臺服務器上並從那裏加載時,會顯示圖像。
我的問題是,爲什麼它在文件在服務器上而不是在計算機上時工作?所有文件已被複制,所以它不是缺少文件的問題。我也嘗試過絕對路徑,但仍然沒有結果。我必須更改計算機上的某些設置嗎? 我想在Windows 7上使用Chrome 32.0.1700.76 m(寫這篇文章的時候是最新版本),而且我使用THREE.js r64。沒有使用其他庫。
通過雙擊在桌面上加載的文件與加載到服務器上的文件之間的功能存在很大差異。通常這是安全限制的問題,特別是對於Internet Explorer,但通常服務器具有可用的桌面雙擊時不可用的進程。這就是爲什麼我們有服務器而不是連接桌面。 – kellycode
呵呵,我很確定loadTexture使用url來訪問紋理,並且只能從服務器獲得。 WampServer非常適合Windows並且易於安裝。您可以將文件放在它的www目錄中,並使用localhost/ – kellycode
在瀏覽器中訪問它們。看看[this](https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally )three.js wiki文章可以幫助你 - 並檢查你的控制檯是否有錯誤。 – WestLangley