Geometry 具有一个几何体和不同纹理的多个网格

Geometry 具有一个几何体和不同纹理的多个网格,geometry,textures,three.js,mesh,Geometry,Textures,Three.js,Mesh,我有一个循环,我用不同的几何体创建多个网格,因为每个网格都有一个纹理 for( var i = 0; i < voxels.length; i++ ){ texture = almacen.textPlaneTexture(voxel.texto,color,voxelSize); material = new THREE.MeshBasicMaterial({ map: texture }); object = new THREE

我有一个循环,我用不同的几何体创建多个网格,因为每个网格都有一个纹理

for( var i = 0; i < voxels.length; i++ ){
  texture = almacen.textPlaneTexture(voxel.texto,color,voxelSize);
  material = new THREE.MeshBasicMaterial({ map: texture });                       
  object = new THREE.Mesh(new THREE.CubeGeometry(voxelSize, voxelSize, voxelSize, 1, 1, 1, new THREE.MeshBasicMaterial() ), material);
}
for(var i=0;i

我有一个性能问题,我认为如果我只能创建一个几何体,我会得到更好的结果。但我不知道如何为每个网格创建一个几何体,并使每个网格具有不同的纹理。

您的网格可以共享如下几何体:

var geometry = new THREE.CubeGeometry( 10, 10, 10 );

for( var i = 0; i < N; i++ ) {

    texture = new THREE.Texture( ... );

    material = new THREE.MeshBasicMaterial( { map: texture } );   

    mesh = new THREE.Mesh( geometry, material );

    scene.add( mesh );

}

three.js r.52

我尝试使用独特的几何体,但不知道如何更新每个网格的纹理。
var texture = new THREE.Texture( ... );
texture.needsUpdate = true;

mesh.material.map = texture;