如何使用three.js在不同方向上移动多个网格?

时间:2015-06-21 09:37:54

标签: javascript object three.js mesh

我有问题。使用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); 

        }

1 个答案:

答案 0 :(得分:1)

您的mesh中只有最后一个网格  变量。为了全部移动,您可以将它们存储在数组中,然后在渲染循环中迭代数组并分配新位置。 mesh.position.z = 0; meshes.push( mesh );

在渲染中:

 for( var i=0; i<meshes.length; i++){
      meshes[i].position.x += 0.1;
 }

我没有对此进行测试。