2013-02-06 54 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

谢谢你,在我的例子立方体变成了黑色。我首先需要在现场添加灯光:) –