Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 所有my Mesh的three.js clone()属性更改_Javascript_Three.js - Fatal编程技术网

Javascript 所有my Mesh的three.js clone()属性更改

Javascript 所有my Mesh的three.js clone()属性更改,javascript,three.js,Javascript,Three.js,我想创建一个简单立方体的100个克隆,并逐渐降低每个立方体的不透明度。这是我的循环: var geometry = new THREE.BoxGeometry(0.15,0.15,0.15); var material = new THREE.MeshNormalMaterial(); var cube = new THREE.Mesh( geometry, material ); cube.material.transparent = true; scene.add( cube ); for

我想创建一个简单立方体的100个克隆,并逐渐降低每个立方体的不透明度。这是我的循环:

var geometry = new THREE.BoxGeometry(0.15,0.15,0.15);
var material = new THREE.MeshNormalMaterial();
var cube = new THREE.Mesh( geometry, material );
cube.material.transparent = true;
scene.add( cube );

for(let i = 0; i < 100; i++){
    window['cube'+i] = cube.clone();
    window['cube'+i].position.x = i;

    window['cube'+i].material.opacity = 1 - (0.01*i);
    scene.add(window['cube'+i]);
}
var几何体=新的三箱几何体(0.15,0.15,0.15);
var material=新的三个.MeshNormalMaterial();
var cube=新的三个网格(几何体、材质);
cube.material.transparent=true;
场景.添加(立方体);
for(设i=0;i<100;i++){
window['cube'+i]=cube.clone();
窗口['cube'+i].position.x=i;
窗口['cube'+i].material.opacity=1-(0.01*i);
添加(窗口['cube'+i]);
}
不幸的是,我所有的网格都以最后建立的不透明度结束。 我不明白为什么我的所有网格都具有相同的不透明度,而x位置通常会增加


有人知道如何分离每个不透明度属性吗?谢谢

出于性能原因,克隆网格默认情况下不会克隆其几何体和材质。如果要控制每个网格的不透明度,最好为每个实例克隆材质。

可能是因为您使用的材质相同。请为每个实例使用单独的材质。非常感谢,这确实是原因:)