我正在创建一个场景,其中包含从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
您还必须设置
geometryArray[layerName].materials[0].transparent = true
在材质上使用不透明度。
material.transparent
只接受布尔值而不接受数值
WRONG !!!!! material.transparent = 0 or material.transparent = 1
RIGHT ------> material.transparent = true or material.transparent = false