Cube ThreeJS avec des visages de texture différente éclairée par la lumière de point avec un renderer de toile?
j'essaie de dessiner un cube qui utilise 6 images différentes pour les textures, une pour chaque face. Je voudrais éclairer le cube avec une source lumineuse ponctuelle.
j'utilise le renderer de toile parce que c'est la plate-forme disponible sur iOS.
j'ai compris que le Lambert était la voie à suivre. J'ai construit mon réseau de matériaux en utilisant MeshLambertMaterial
.
j'ai réussi à obtenir le cube avec différentes faces à rendre, mais sans l'éclairage de travail, voir ce lien .
J'ai utilisé ici:
cube = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial());
(vous devez utiliser Firefox pour voir ce, il semble horrible en Safari sur le Mac (mais c'est un problème différent), mais il est très bien dans le simulateur iPhone.)
j'ai aussi une version qui fonctionne où l'éclairage fonctionne, mais les visages ont tous la même couleur, les images de texture semblent être perdues, voir ce lien .
ici j'ai utilisé
cube = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial());
malheureusement, je ne peux pas obtenir des visages texturés et l'éclairage travailler ensemble.
le code ne diffère que sur cette ligne.
je dois faire quelque chose de mal, mais je ne peux pas comprendre ce que c'est, tout mon googling a été en vain. Je vous serais reconnaissant si quelqu'un pouvait m'indiquer la bonne direction.
BTW merci à l'auteur pour cette logiciel génial.
1 réponses
malheureusement, il s'avère que MeshLambertMaterial
n'est pas supporté par le CanvasRenderer
.