Sto provando ad avere materiali multipli su un singolo piano per creare un semplice editor di terreno. Così ho creato un paio di materiali, e cerco di assegnare un indice di matetrial ad ogni vertice nel mio aereo:Three.js - multiplo piano di materiale
var materials = [];
materials.push(new THREE.MeshFaceMaterial({ color: 0xff0000 }));
materials.push(new THREE.MeshFaceMaterial({ color: 0x00ff00 }));
materials.push(new THREE.MeshFaceMaterial({ color: 0x0000ff }));
// Plane
var planegeo = new THREE.PlaneGeometry(500, 500, 10, 10);
planegeo.materials = materials;
for(var i = 0; i < planegeo.faces.length; i++)
{
planegeo.faces[i].materialIndex = (i%3);
}
planegeo.dynamic = true;
this.plane = THREE.SceneUtils.createMultiMaterialObject(planegeo, materials);
Ma ho sempre ottenere sia un sacco di errori nello shader, o solo un singolo tutta rossa piano se uso MeshBasicMaterial invece di FaceMaterial. Qualsiasi aiuto è fantastico!
http://stackoverflow.com/questions/8820591/how-to -use-multiple-materials-in-a-three-js-cube È la stessa domanda – Gero3
Sì, l'ho visto, ma è una versione precedente di three.js e non sembra funzionare :( –