three.js: Comment faire pour obtenir plusieurs matériaux de travail pour un maillage

J'ai un gros problème avec three.js:

Je veux un simple cube avec une couleur différente sur chaque face. J'ai essayé de cette façon:

//set the scene size
var WIDTH = jQuery('#showcase').width() - 20, HEIGHT = jQuery('#showcase').height();
//set some camera attributes
var VIEW_ANGLE = 45, ASPECT = WIDTH / HEIGHT, NEAR = 0.1, FAR = 10000000;
this.container = jQuery('#showcase');
this.renderer = new THREE.WebGLRenderer();
this.camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR);
this.scene = new THREE.Scene();
this.scene.add(this.camera);
//camera start position
this.camera.position.z = this.model.radius;
this.camera.position.y = this.model.cameraY;
this.camera.position.x = 0;
this.camera.lookAt(this.scene.position);
this.renderer.setSize(WIDTH, HEIGHT);
this.container.append(this.renderer.domElement);
//Multiple Colors
var materials = [new THREE.MeshBasicMaterial({
color : 0xFF0000
}), new THREE.MeshBasicMaterial({
color : 0x00FF00
}), new THREE.MeshBasicMaterial({
color : 0x0000FF
}), new THREE.MeshBasicMaterial({
color : 0xAA0000
}), new THREE.MeshBasicMaterial({
color : 0x00AA00
}), new THREE.MeshBasicMaterial({
color : 0x0000AA
})];
this.geometry = new THREE.CubeGeometry(100, 100, 100, materials);
this.mesh = new THREE.Mesh(this.geometry,  new THREE.MeshFaceMaterial());
this.scene.add(this.mesh);
//create a point light
this.pointLight = new THREE.PointLight(0xFFFFFF);
this.pointLight.position = this.scene.position;
this.scene.add(this.pointLight);
this.renderer.render(this.scene, this.camera);

Mais je reçois ce message d'erreur:
"Uncaught TypeError: Cannot read property 'map' undefined" de la ligne 19152 dans three.js.

Il me semble être un problème de rendu webgl. Dans la plupart des sujets que j'ai trouvé ici et d'ailleurs, ils ont été à l'aide de la toile de moteur de rendu. Mais je veux rester avec le webgl moteur de rendu.

Personne ne sait quelque chose à propos de ce problème?
Merci beaucoup:-)

Vous pouvez vous trouver réponse à stackoverflow.com/questions/13922130/...

OriginalL'auteur user2235189 | 2013-04-02