Javascript 所有my Mesh的three.js clone()属性更改
我想创建一个简单立方体的100个克隆,并逐渐降低每个立方体的不透明度。这是我的循环: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
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位置通常会增加
有人知道如何分离每个不透明度属性吗?谢谢出于性能原因,克隆网格默认情况下不会克隆其几何体和材质。如果要控制每个网格的不透明度,最好为每个实例克隆材质。可能是因为您使用的材质相同。请为每个实例使用单独的材质。非常感谢,这确实是原因:)