我正在创建一个包含从JSON文件加载的部分的场景。 我可以隐藏并显示每个对象。但现在我想为单个对象设置不透明度/透明度。
我使用此代码创建对象。
geometryArray = new Object();
var loader = new THREE.JSONLoader();
for(var i = 0; i < jsonFileNames.length; i++){
var layerName = jsonFileNames[i].split("/")[1].slice(0, -5);
loader.load(layerName, jsonFileNames[i], function(geometry, materials, layerName){
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({vertexColors: THREE.FaceColors, side:THREE.DoubleSide, transparent: true}));
mesh.scale.set(scaleFactor, scaleFactor, scaleFactor);
mesh.name = layerName;
scene.add(mesh);
geometryArray[layerName] = mesh;
}, layerName);
}
我可以使用此代码显示/隐藏对象
geometryArray[layerName].visible = true;
但是如何为对象设置不透明度/透明度?
我尝试使用此代码,但这不起作用。
geometryArray[layerName].materials[0].opacity
答案 0 :(得分:0)
您还必须设置
geometryArray[layerName].materials[0].transparent = true
在材料上使用不透明度。
答案 1 :(得分:-1)
material.transparent
仅接受布尔值而非数字值
WRONG !!!!! material.transparent = 0 or material.transparent = 1
RIGHT ------> material.transparent = true or material.transparent = false