Javascript Three.js r87组合纹理

Javascript Three.js r87组合纹理,javascript,three.js,Javascript,Three.js,我有NxN纹理矩阵(N=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 te

我有NxN纹理矩阵(N=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
url
是用于检索图像的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);
    }
}
var几何体=[];
对于(变量i=0;i
我不确定正确的方法是什么:一种纹理组合?一种材质具有多种纹理?一个网格包含多个材质?多个几何体,然后合并

也有类似的问题,但我还没有找到解决这个问题的办法


谢谢。

您可以在画布上组合纹理,然后将该画布用作材质上的纹理。是一个将两个图像叠加在一起作为一个纹理的示例。谢谢,非常有用您可以将纹理组合到画布上,然后将该画布用作材质上的纹理。是一个覆盖两幅图像作为一个纹理使用的示例。谢谢,非常有用
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);
    }
}