我正在尝试使用Three.js创建纹理。
我的texture_f1来源是一个.png文件,这意味着你可以通过它看到背景。
问题在于,如果我尝试设置背景color: 0xffffff
,它就不会
与地图结合使用:
如果我只设置了color:0xffffff
,它会返回白色,但是当使用地图时:像var material_f1 = new THREE.MeshBasicMaterial({ map: texture_f1, color: 0xffffff});
我可以通过.png黑色看到背景。
答案 0 :(得分:2)
如果您有透明纹理,则必须将material.transparent
设置为true
。
var material = new THREE.MeshBasicMaterial( {
color: 0xffffff,
map: texture,
transparent: true
} )
请注意,材质颜色不会“透过”透明纹理 - 它着色纹理。
如果您希望材质颜色“透过”透明纹理,则需要使用ShaderMaterial
,然后创建自定义着色器。
在this stackoverflow answer中有一个例子。
three.js r.71