THREE.js SpriteMaterial发光纹理隐藏边缘

时间:2019-07-08 02:30:58

标签: javascript three.js

我正在将SpriteMaterial发光纹理添加到某些THREE.js节点,并且如何在边缘上绘制它也存在一些问题。从某些角度来看,它可以正常工作,但从其他角度来看,即使将其设置为透明,也无法通过纹理看到边缘。下图中带圆圈的区域突出了问题所在。

enter image description here

这是我用来创建SpriteMaterial的代码:

var material = new THREE.SpriteMaterial({ map: new THREE.TextureLoader().load('img/glow2.png'), color: color, transparent: true, side: THREE.FrontSide, blending: THREE.AdditiveBlending });
var sprite = new THREE.Sprite(material);
sprite.scale.set(30, 30, 1.0);

这是纹理png的问题吗?如果是的话,如何为不会产生此类伪像的纹理创建图像?如果不是图像问题,代码有什么问题?

1 个答案:

答案 0 :(得分:1)

在您的SpriteMaterial参数中添加depthWrite:false。