我有NxN纹理矩阵(N = 2):
-----------------
| | |
| 1,1 | 1,2 |
| | |
-----------------
| | |
| 2,1 | 2,2 |
| | |
-----------------
纹理是加载图像的图像:
var promises = [];
urls.forEach(function(url) {
var deferred = async.defer();
var loader = new THREE.TextureLoader();
loader.load(url, deferred.resolve);
promises.push(deferred.promise);
});
// then textures are stored in 'textures' array
和urls
是有序的url数组,用于检索图像。
我将获得的是单个PlaneBufferGeometry
,其纹理为alla纹理的组合,如上所示。
现在我正在创建NxN几何,然后以正确的方式对齐它们,但我想这不是正确的方法。
当前版本:
var geometries = [];
for (var i = 0; i < N*N; i++) {
geometries.push(new THREE.PlaneBufferGeometry(dim, dim, w, h));
}
for (var i = 0; i < N; i++) {
for (var j = 0; j < N; j++) {
var mesh = new THREE.Mesh(geometries[i * N + j], THREE.MeshBasicMaterial({ map: textures[i * N + j] }));
// ...now set mesh position accordingly with i and j
scene.add(mesh);
}
}
我不确定正确方法:一个纹理组合在一起?一种材质有多种纹理?一个网格有多种材料?多个几何,然后合并?
有类似的问题,但我没有找到解决此案的方法。
感谢。