Three.js 具有多重混合的三个js透明PNG
在一个Three.js项目中,我尝试将一个透明的PNG应用为带有多重混合的纹理Three.js 具有多重混合的三个js透明PNG,three.js,webgl,Three.js,Webgl,在一个Three.js项目中,我尝试将一个透明的PNG应用为带有多重混合的纹理 piano_scritta.material = new THREE.MeshPhongMaterial( { transparent:true, side:THREE.DoubleSide, map: new THREE.ImageUtils.loadTexture( src ) }); piano_scritta.material.blending = THREE.MultiplyBlending; 图像的透
piano_scritta.material = new THREE.MeshPhongMaterial( { transparent:true, side:THREE.DoubleSide, map: new THREE.ImageUtils.loadTexture( src ) });
piano_scritta.material.blending = THREE.MultiplyBlending;
图像的透明部分显示为白色,边界周围有一种奇怪的效果。
我怎样才能让PNG在多重借贷模式下保持透明?
这里您可以看到一个示例:
编辑:我做了一个更改,得到了一个非常奇怪的结果,将不透明度:0指定给我得到的材质
PNG的黑色部分按预期消失,但透明部分仍为白色 我建议在处理透明度时使用
ShaderMaterial
。看看这个:在询问之前,我做了很多测试,ShaderMaterial可以提高透明度,但还有很多其他问题,我无法处理基础材质的envMap或反射率。此外,这是一个大型项目,运行时会有大量纹理和模型发生变化,而且都基于标准材质,因此修改项目结构是一件大事。