如何在三个js中为透明部分对象添加颜色

时间:2015-04-08 06:23:30

标签: three.js

我是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 );

  });   
}

提前致谢

1 个答案:

答案 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