javascript - 如何使用 Three.js 向不同方向移动多个网格?

标签 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); 

        }

最佳答案

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

在渲染中:

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

我还没有测试过这个。

关于javascript - 如何使用 Three.js 向不同方向移动多个网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30963131/

相关文章:

java - java中访问对象变量

javascript - 制作循环同步 Node js web-kit

javascript - CSS 不适用于标签,write() 方法包含在一个函数中

php - 如何在php中创建对象数组

javascript - JSON [object Object] 数据拉取(无法获取对象数据)

three.js - 在 Three.js 中加载 OBJ 文件

javascript - map 不是 this.state.items 上的函数

javascript - 使用 jquery 设置多个选项值的样式 : Code works for a few option values only

html - 将 Three.js 场景与网页结合作为背景

three.js - Threejs - 移动通过单个函数的 2 次调用创建的 2 个球体