2012-11-13 8 views
5

Ich habe ein Modell eines Fußballs (abgeschnitten Ikosaeder) aus dem Mixer importiert (über JSON Loader) und ich wollte die Gesichtsfarben ändern auf Klicken. Die Gesichter werden korrekt identifiziert. Ich kann die Farbe des gesamten Modells ändern, aber keine bestimmten Gesichter. Ich habe etwas tiefer gegraben und festgestellt, dass die Farben korrekt zu soccerball.geometry.faces [i] zugeordnet sind, aber die neuen Gesichtsfarben werden nicht angezeigt.Ändern der Gesichtsfarben während der Laufzeit in Three.js auf einem Modell importiert aus Mixer

Ich habe alle ähnlichen Threads durchlaufen und alle vorgeschlagenen Lösungen (verschiedene Materialien, DirtyColors, Dynamic, ColorNeedUpdate usw.) ausprobiert, aber nichts half.

das ist, wie ich das Modell zu importieren:

var loader = new THREE.JSONLoader(); 
var onGeometry = function(geom) { 
soccer = new THREE.Mesh(geom, new THREE.MeshLambertMaterial()); 
soccer.position.set(0, 0, 0); 
soccer.scale.set(2, 2, 2); 
soccer.geometry.dynamic = true; 
soccer.geometry.dirty = true; 
soccer.overdraw = true; 
objects.push(soccer); 
scene.add(soccer); 
}; 

loader.load("models/model.js", onGeometry); 

Können Sie mir bitte helfen? Vielen Dank im Voraus

Antwort

1
soccer.material.vertexColors = THREE.VertexColors ; 

oder

soccer.material.vertexColors = THREE.FaceColors; 

Wenn das nicht dann das Modell Havré ich nicht arbeiten muß selbst einige Tests zu tun.

+0

Vielen Dank, es hat funktioniert! – Victor