Three.js r87结合了纹理

时间:2017-10-14 18:33:14

标签: javascript three.js

我有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);
    }
}

我不确定正确方法:一个纹理组合在一起?一种材质有多种纹理?一个网格有多种材料?多个几何,然后合并?

有类似的问题,但我没有找到解决此案的方法。

感谢。

0 个答案:

没有答案