ThreeJS PointMaterial纹理透明背景问题

时间:2015-11-20 16:00:04

标签: javascript three.js

我有一组用THREE.Points制作的粒子,我正在使用THREE.PointMaterial和纹理。纹理是用画布制作的笔划矩形,它可以工作,但只是部分,这就是问题。

在这里你可以看到我的粒子发生了什么:

image

正如您所看到的,粒子的透明度仅适用于某些粒子,而其他粒子则不然。

这里可能会发生什么?

这是我用来创建材料的代码:

var material = new THREE.PointsMaterial( {
  size: this.particleSize,
  vertexColors: THREE.VertexColors,
  map: ct.getTexture(),
  transparent: true,
  fog: false } );

1 个答案:

答案 0 :(得分:2)

问题的原因是粒子没有按深度排序并按照从前到后的顺序呈现。

解决方案是添加

material.alphaTest = 0.5;

然后,透明片段将被丢弃。

three.js r.73