因此,首先要解釋奇怪的標題,我試圖爲我正在處理的一個小項目製作一個3D頭像,但是當我嘗試更改手臂上的顏色時頭像,它實際上並沒有改變其上的紋理的顏色,它改變了紋理的白色部分(不透明)的顏色,但是它在紋理上透明的地方顯示白色,看起來沒有燈光。three.js顏色的對象,而不是紋理
着色前:
着色後:
我使用的實際的紋理可以在這裏找到:http://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);
對象本身是映射的obj從攪拌機中導出的紫外線。即使紋理不具有透明度,也會發生這種情況。
你改變整個材料的顏色。混合的顏色。但是如果你將白色和顏色混合在一起,結果就不是藍色的身體。有藍色+黃色=綠色。 – Martin