Итак, чтобы сначала объяснить странное название, я пытаюсь сделать 3D-аватар для небольшого проекта, над которым я работаю, однако, когда я пытаюсь изменить цвет руки на аватаре, он на самом деле не меняет цвет с помощью текстуры на нем меняет цвет белой части (не прозрачной) текстуры, но там, где она прозрачная на текстуре показывает белый цвет с как бы без подсветки.
Перед окрашиванием:
После окраски:
Фактическую текстуру, которую я использую, можно найти здесь: https://imgur.com/SlnOxEw
Вот как я визуализирую текстуру:
var AvatarTexture = new THREE.MeshPhongMaterial( { map: THREE.ImageUtils.loadTexture('./images/Shirt/vest.png'), shininess: 80, shading: THREE.SmoothShading, alphaMap: 0x000000} );
и расцветка:
object.children[0].material.color.setHex(0xffcc66);
object.children[2].material.color.setHex(0xffcc66);
object.children[4].material.color.setHex(0xffcc66);
сам объект представляет собой UV-карту .obj, экспортированную из блендера. Это происходит, даже если текстура не имеет прозрачности.