2013-07-01 218 views
1

我是three.js的新手,到目前爲止我做的是:在Blender中建模一個幾何體,將其導出到JSON,並將其放入我的three.js場景中。 它與基本的three.js材料很好地工作。現在我想加載一個顏色,鏡面和法線貼圖到我的幾何體。但是,每次我嘗試添加一個紋理時,幾何圖形都會在瀏覽器中消失。在three.js中加載紋理

這裏是我的代碼:

var jsonLoader = new THREE.JSONLoader(); 
    jsonLoader.load("models/schuh.js", addModelToScene); 

    var texture = new THREE.ImageUtils.loadTexture("images/test_COL.jpg"); 

    var ambientLight = new THREE.AmbientLight(0x111111); 
    scene.add(ambientLight); 

} 

function addModelToScene(geometry, materials) 
{ 

    var material = new THREE.MeshBasicMaterial(map:texture}); 
    mesh = new THREE.Mesh(geometry, material); 
    mesh.scale.set(50,50,50); 
    scene.add(mesh); 
} 

我做了什麼錯?

回答

1

它看起來像是在調用addModelToScene函數後加載紋理。

嘗試改變你這樣的代碼:

function someFunction() { 
    var texture = new THREE.ImageUtils.loadTexture("images/test_COL.jpg"); 
    var jsonLoader = new THREE.JSONLoader(); 

    jsonLoader.load('models/schuh.js', addModelToScene);   

    var ambientLight = new THREE.AmbientLight(0x111111); 
    scene.add(ambientLight); 

} 

function addModelToScene(geometry, materials) 
{ 

    var material = new THREE.MeshBasicMaterial({map:texture}); 
    mesh = new THREE.Mesh(geometry, material); 
    mesh.scale.set(50,50,50); 
    scene.add(mesh); 
} 
+0

你好claarman,感謝您的回覆。我嘗試了你的建議,但它沒有改變任何東西。 – user2524500

+0

您可以添加更多的代碼或理想的(不)工作示例 –

+0

從底部檢查第5行的結尾,它看起來像發生了拼寫錯誤(「(map:texture})」)。 – JVE999