4
如何用無alphaMap的透明黑色製作紋理Lambert材質。三種js黑色透明材質
我有云彩紋理的球體。我需要黑色透明,如果我使用混合,它影響陰影,我需要像MeshPhong材料保持行爲,但只有透明的黑色。
var cloudsMaterial = new THREE.MeshLambertMaterial({
color: 0xffffff,
map: THREE.ImageUtils.loadTexture("img/planets/clouds.jpg"),
specular : new THREE.Color("rgb(255,255,255)"),
shininess : 0.1,
depthTest : 0,
blending : 1,
transparent: true,
bumpScale : 1, //0.8
bumpMap : THREE.ImageUtils.loadTexture("img/planets/bump.jpg"),
});
什麼是正確的方法,設置混合或其他屬性?
嘗試'共混:2'或'共混:THREE.AdditiveBlending'。混合模式常量是[here](http://threejs.org/docs/#Reference/Constants/Materials) – 2pha 2015-04-05 18:18:19
加法混合將使紋理...添加劑。我試驗自定義混合,沒有組合做的伎倆。我只需要渲染器清晰的顏色透明(黑色)和其他顏色,因爲它們是像素灰色(50%黑色)的顏色,應該有50%的透明度。我無法使用Alpha Map,因爲它是自定義動畫着色器,alphaMap不是動畫。 – Martin 2015-04-05 21:29:15
有辦法做到這一點,例如定義自定義着色器,但似乎最簡單的方法就是將Alpha通道添加到紋理中。如果你不能修改資源,你可以運行它。 – 2015-09-01 14:18:53