如何更改Three.js场景中JSON模型的透明度?

时间:2016-07-28 07:05:34

标签: json three.js transparency opacity

这幅画是我的JSON模型。

painting

我知道我可以通过在JSON文件中修改"透明":true和" opacity":0.5来更改透明度。

但是,我希望在Three.js场景中加载JSON模型后更改模型的不透明度。

我使用的方法但它不起作用.....

  

mesh.material.transparent = true;    mesh.material.opacity = 0.1;

这是我的代码。

jsonLoader2.load("models/pic.json", addPicToScn);

function addPicToScn(geometry, material) {
    var mtl = new THREE.MeshFaceMaterial(material);
    var mesh = new THREE.Mesh(geometry, mtl);
    mesh.scale.set(1.3, 1.3, 1.3);
    mesh.material.transparent = true;
    mesh.material.opacity = 0.1;
    mesh.castShadow = true;
    mesh.receiveShadow = true;
    mesh.rotation.set(2.8*Math.PI/5, 0, -Math.PI/2);
    mesh.position.set(0, 6, 21.8);
    scene.add(mesh);
            }

我真的想知道这个问题的答案....

2 个答案:

答案 0 :(得分:0)

尝试mesh.material.needsUpdate = true

并查看:https://github.com/mrdoob/three.js/wiki/Updates

答案 1 :(得分:0)

您的模型生成多种材质,这就是您使用MeshFaceMaterial的原因。如果要设置透明度,则需要在模型中的材质上设置透明度,而不是在MeshFaceMaterial上设置。

所以代码应该如下:

Womens, Hybrid

}