2012-12-10 15 views
5

Czy ktoś może zweryfikuje następujący kod dla pliku three.js r53?Weryfikacja użycia wielu tekstur za pomocą kostek three.js

Zajęło z tym pytanie: How to use multiple materials in a Three.js cube?

Próbowałem ten kod i kilka odmian, ale nie dostać widoczne kostki. Moje obrazy tekstury są nazywane tak, jak powinny.

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

Odpowiedz

16

Czy to zamiast:

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

Zobacz wiki migracji: https://github.com/mrdoob/three.js/wiki/Migration.

EDIT: CubeGeometry została zmieniona na BoxGeometry

Three.js r.67

+0

także CubeGeometry przemianowany na BoxGeometry (R66) – imcg

+0

@imcg Dzięki. Zaktualizowana odpowiedź. – WestLangley

0

THREE.CubeGeometry() nie obsługuje listy materiałów. Myślałem, że to nie zbyt, ale jeśli sprawdzić aktualny kod źródłowy .... to nie

Powiązane problemy