javascript - Verificación del uso de múltiples texturas con cubos three.js
3d (2)
¿Alguien puede verificar el siguiente código para three.js r53?
Está tomado de esta pregunta: ¿Cómo usar múltiples materiales en un cubo Three.js?
Probé este código y algunas variaciones, pero no obtengo cubos visibles. Mis imágenes de textura se nombran como deberían ser.
var materials = [];
for (var i=0; i<6; i++) {
var img = new Image();
img.src = i + ''.png'';
var tex = new THREE.Texture(img);
img.tex = tex;
img.onload = function() {
this.tex.needsUpdate = true;
};
var mat = new THREE.MeshBasicMaterial({color: 0xffffff, map: tex});
materials.push(mat);
}
var cubeGeo = new THREE.CubeGeometry(400, 400, 400, 1, 1, 1, materials);
var cube = new THREE.Mesh(cubeGeo, new THREE.MeshFaceMaterial());
THREE.CubeGeometry () no admite una lista de materiales. Pensé que también lo hizo, pero si revisas el código fuente actual ... no lo hace
Haz esto en su lugar:
var cubeGeo = new THREE.BoxGeometry( 400, 400, 400, 1, 1, 1 );
var cube = new THREE.Mesh( cubeGeo, new THREE.MeshFaceMaterial( materials ) );
Consulte la wiki de migración: https://github.com/mrdoob/three.js/wiki/Migration .
EDIT: CubeGeometry
ha sido renombrado a BoxGeometry
three.js r.67