我有问题。使用for循环,我创建了100个网格。他们都有0,0,0的位置。但我希望这100个网格在所有不同的方向上分开。
这是我创建100个网格的代码
for(var i = 0; i < 100; i++)
{
var geometry = new THREE.BoxGeometry(2, 2, 2);
var material = new THREE.MeshBasicMaterial( { color: 0x2194ce} );
mesh = new THREE.Mesh( geometry, material);
mesh.position.x = 0;
mesh.position.y = 0;
mesh.position.z = 0;
scene.add(mesh);
}
这是代码我如何移动100个网格,但它只移动一个网格
function render(){
requestAnimationFrame( render );
mesh.position.x +=0.1;
renderer.render(scene, camera);
}
答案 0 :(得分:1)
您的mesh
中只有最后一个网格
变量。为了全部移动,您可以将它们存储在数组中,然后在渲染循环中迭代数组并分配新位置。
mesh.position.z = 0; meshes.push( mesh );
在渲染中:
for( var i=0; i<meshes.length; i++){
meshes[i].position.x += 0.1;
}
我没有对此进行测试。