three.js - THREE.MeshFaceMaterial在立方体上更新纹理。

问题描述 投票:2回答:1

使用r54。

立方体和每一面都有不同的纹理,

var materials = [new THREE.MeshBasicMaterial({map: textureSmallSide}),
                 new THREE.MeshBasicMaterial({map: textureSmallSide}), 
                 new THREE.MeshBasicMaterial({map: textureSmallSide}),
                 new THREE.MeshBasicMaterial({map: textureSmallSide}),
                 new THREE.MeshBasicMaterial({map: texture}),
                 new THREE.MeshBasicMaterial({map: texture})];

所以在这种情况下,6个不同的canvas-obj。

new THREE.Mesh(cuboidgeo, new THREE.MeshFaceMaterial(materials));

问题:我怎样才能让材质数组更新这些纹理(例如改变canvas-obj的值)?我知道,当我创建一个这样的网格时。

new THREE.Mesh(cubegeo, new THREE.MeshBasicMaterial({map: texture}));

我可以得到我的画布对象

cubemeshobj.material.map.image

但我该从谁那里得到THREE.MeshFaceMaterial的纹理(材质数组) ?

three.js mesh cube
1个回答
1
投票

在控制台中检查你的对象。现在你有了一个材质数组

for(var i = 0; i < cubemeshobj.material.materials.length; i++){

      cubemeshobj.material.materials[i].map.image;

}

r56

© www.soinside.com 2019 - 2024. All rights reserved.