奇妙なタイトルをまず説明すると、私が取り組んでいる少しのプロジェクトで3Dアバターを作ろうとしていますが、私が腕の色をアバターでは、実際にテクスチャを使って色を変更するのではなく、テクスチャの白い部分(透明ではない)の色を変更しますが、テクスチャ上で透明であれば白で表示されます点灯。着色前three.js色のテクスチャ
:
着色後:私は使用しています実際のテクスチャは、ここで見つけることができ
これは私がテクスチャをレンダリングしています方法です:
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ファイルをマッピングされています。これは、テクスチャに透明性がない場合でも発生します。
three.js
あなたは材料全体の色を変えます。色の混合。しかし、もしあなたが色と白を混ぜると、結果は青い身体以外のものになります。青+黄=緑があります。 – Martin