我是trijs的新手,并试图让这个例子中对象的透明部分有一些颜色https://dl.dropboxusercontent.com/u/20885327/project/examples/index.html。该对象是3个obj和相应的mtl文件的集合。对于这样的事情有什么办法?
我正在使用此代码使用objmtlloader导入obj和mtl文件。这里,数组“files”中的名称对应于包含obj模型的obj目录中的文件名。
var variableName = {}
,files = ["L_Cortex","R_Cortex","Cerebellum"];
for (var i=0; i<files.length; i++){
variableName[files[i]] = new THREE.OBJMTLLoader();
variableName[files[i]].load( '../obj/'+files[i]+'.obj', '../obj/'+files[i]+'.mtl', function ( object ) {
object.name = files[i];
objects.push(object);
scene.add( object );
});
}
提前致谢
答案 0 :(得分:0)
您可以影响加载回调中每个组的颜色。 像
这样的东西object.traverse (function (mesh){
if (mesh instanceof THREE.Mesh){
// r, g, b are float between 0 and 1
mesh.material.color.set(r, g, b);
// you may want to adjust
// mesh.material.transparent & mesh.material.opacity
}
});
我看到你的物品使用这种材料,以供参考 http://threejs.org/docs/#Reference/Materials/MeshLambertMaterial