2016-09-06 142 views
0

我有一个立方体上不同纹理的问题。只需要1个质地用下面的代码...Three.js立方体不同纹理

var texture = new THREE.TextureLoader(); 

var texture1 = texture.load('texture1.jpg'); 
var texture2 = texture.load('texture2.jpg'); 
var texture3 = texture.load('texture3.jpg'); 
var texture4 = texture.load('texture4.jpg'); 
var texture5 = texture.load('texture5.jpg'); 
var texture6 = texture.load('texture6.jpg'); 
var geometry = new THREE.BoxBufferGeometry(height,width,length); 

var material = new THREE.MeshBasicMaterial({ map: texture1, 
        map: texture2,map: texture3,map: texture4,map: texture5, 
        map: texture6 }); 

mesh = new THREE.Mesh(geometry, material); 
scene.add(mesh); 

回答

0

试试这个:

var geometry = new THREE.BoxBufferGeometry(height,width,length); 

var materials = [ 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture1.jpg') 
      }), 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture2.jpg') 
      }), 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture3.jpg') 
      }), 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture4.jpg') 
      }), 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture5.jpg') 
      }), 
      new THREE.MeshLambertMaterial({ 
       map: THREE.ImageUtils.loadTexture('texture6.jpg') 
      }) 
]; 

mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
scene.add(mesh);