Um den seltsamen Titel zuerst zu erklären, versuche ich, einen 3D - Avatar für ein kleines Projekt zu machen, an dem ich arbeite, aber wenn ich versuche, die Farbe des Arms zu ändern Avatar, es ändert nicht wirklich die Farbe mit der Textur darauf, es ändert die Farbe des weißen Teils (nicht transparent) der Textur, aber wo es transparent ist auf der Textur zeigt es weiß mit, wie es scheint, nein Beleuchtung.three.js Farbe des Objekts, nicht Textur
Vor Färbung:
Nach Färbung:
Die tatsächliche Textur Ich kann verwende hier: http://imgur.com/SlnOxEw
Dies ist, wie ich die Textur bin Rendering:
var AvatarTexture = new THREE.MeshPhongMaterial({ map: THREE.ImageUtils.loadTexture('./images/Shirt/vest.png'), shininess: 80, shading: THREE.SmoothShading, alphaMap: 0x000000});
und die Färbung:
object.children[0].material.color.setHex(0xffcc66);
object.children[2].material.color.setHex(0xffcc66);
object.children[4].material.color.setHex(0xffcc66);
das Objekt selbst ist ein UV abgebildet OBJ aus Blender exportiert. Dies geschieht auch dann, wenn die Textur nicht transparent ist.
Ändern Sie Farbe des gesamten Materials. Mischen von Farbe. Aber wenn Sie Weiß mit Farbe mischen, ist das Resultat ein anderer als ein blauer Körper. Es ist blau + gelb = grün. – Martin