2013-02-06 81 views
5

我想使用與Three.js一起使用Blender創建的模型模型是非常基本的,兩個立方體在彼此之上。一個立方體是紅色的,另一個是綠色的。Three.js導出的Blender模型中的材料不能正常工作

我已經使用three.js所的攪拌機導出插件導出的模型當我手動分配材料到像對象:

loader.load("model.js", function (geometry, material) { 

    material = new THREE.MeshBasicMaterial({ color: 0xFF0000 }); 

    mesh = new THREE.Mesh(geometry, material); 

    scene.add(mesh); 

    animate(); 

}); 

有作爲https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index.html

然而,當顯示沒有問題我刪除線:

material = new THREE.MeshBasicMaterial({ color: 0xFF0000 }); 

該模型的材料被使用。產生three.js所的一個錯誤:

TypeError: program is undefined [Break On This Error]

p_uniforms = program.uniforms,

你可以看到自己這一點https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index2.html

有沒有人有一個想法是什麼可能會導致這個問題?您可以在https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/model.blend

回答

9

下載Blender文件。材料是一個數組。你需要做到以下幾點:

loader.load("model.js", function (geometry, materials) { 

    mesh = new THREE.Mesh(geometry, materials); 

    scene.add(mesh); 

    animate(); 

}); 

three.js所r.88

+1

謝謝你,在我的例子立方體變成了黑色。我首先需要在現場添加燈光:) –