2012-12-10 12 views
5

Qualcuno può verificare il seguente codice per three.js r53?Verifica dell'utilizzo di più trame con cubi three.js

E 'tratto da questa domanda: How to use multiple materials in a Three.js cube?

Ho provato questo codice e poche variazioni, ma non ottengo i cubi visibili. Le mie immagini di texture sono nominate come dovrebbero essere.

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()); 

risposta

16

fare questo, invece:

var cubeGeo = new THREE.BoxGeometry(400, 400, 400, 1, 1, 1); 
var cube = new THREE.Mesh(cubeGeo, new THREE.MeshFaceMaterial(materials)); 

consultare il wiki di migrazione: https://github.com/mrdoob/three.js/wiki/Migration.

EDIT: CubeGeometry è stato rinominato BoxGeometry

Three.js r.67

+0

anche CubeGeometry rinominato per BoxGeometry (R66) – imcg

+0

@imcg Grazie. Risposta aggiornata – WestLangley

0

THREE.CubeGeometry() non supporta un elenco di materiali. Ho pensato che era troppo, ma se si controlla il codice sorgente di corrente .... non si