2016-03-25 11 views
0

Hallo Jungs, ich wollte 6 Texturen dieser Theard auf jeder Seite meines thee.js Theard in Übereinstimmung bringen: Three.js - Using CubeTextureLoader to create a different image on each face of a cubeThree.js Cube - Unterschiedliche Texturen funktionierten nicht

Hier ist mein Code:

scene = new THREE.Scene(); 
    var textureLoader = new THREE.TextureLoader(); 

    var texture0 = textureLoader.load('crate1.gif'); 
    var texture1 = textureLoader.load('crate3.gif'); 
    var texture2 = textureLoader.load('crate4.gif'); 
    var texture3 = textureLoader.load('crate5.gif'); 
    var texture4 = textureLoader.load('crate6.gif'); 
    var texture5 = textureLoader.load('crate7.gif'); 

    var materials = [ 
     new THREE.MeshBasicMaterial({ map: texture0 }), 
     new THREE.MeshBasicMaterial({ map: texture1 }), 
     new THREE.MeshBasicMaterial({ map: texture2 }), 
     new THREE.MeshBasicMaterial({ map: texture3 }), 
     new THREE.MeshBasicMaterial({ map: texture4 }), 
     new THREE.MeshBasicMaterial({ map: texture5 }) 
    ]; 

    var faceMaterial = new THREE.MultiMaterial(materials); 

    var geometry = new THREE.BoxGeometry(20, 20, 20,1,1,1); 
    var mesh = new THREE.Mesh(geometry, faceMaterial); 

    scene.add(mesh); 
    renderer = new THREE.WebGLRenderer(); 

Wenn ich die Seite lade, gibt es keinen Würfel; nichts. Es funktioniert, wenn ich nur eine Textur verwenden ...

+0

Ich überprüfe dieses Snippet funktioniert für mich alle Möglichkeiten, wie Sie dies versuchen können (führen Sie dies auf Serverinstanz (Gefühl der differentiellen Belastung auf Ihrem System) versuchen Sie dies: var texture0 = new THREE.TextureLoader(). Load (' crate1.gif '); var texture1 = neu THREE.TextureLoader(). load (' crate3.gif '); var texture2 = neu THREE.TextureLoader(). load (' crate4.gif '); var texture3 = new THREE.TextureLoader(). load ('crate5.gif'); var texture4 = neu THREE.TextureLoader(). load ('crate6.gif'); var texture5 = neu THREE.TextureLoader(). load (' crate7.gif '); –

Antwort

0

diese jsfiddle helfen könnten: http://jsfiddle.net/plotnik/8RtTy/3/

wenn es mit einer einzigen Textur funktioniert, ist es auf diese Weise initialisieren und dann eingestellt:

mesh.material = faceMaterial; 
mesh.material.needsUpdate = true; 

nach ruft render().

Verwandte Themen