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