使用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的纹理(材质数组) ?
在控制台中检查你的对象。现在你有了一个材质数组
for(var i = 0; i < cubemeshobj.material.materials.length; i++){
cubemeshobj.material.materials[i].map.image;
}
r56