pointCloudMaterial 和深度缓冲区中的透明纹理

Transparent texture in pointCloudMaterial and depth-buffer

我用threejs给屏幕添加了一个pointCloud,并设置了texture map,但是我发现上面的点可以盖住后面的。

添加AdditiveBlending后,好多了,但还是有问题。

因为我有其他对象所以我无法添加 depthTest:false ,我该如何解决这个问题?

下面是代码和贴图

var geometryBig = new THREE.Geometry();
var meshBig = new THREE.PointCloud(geometryBig, new THREE.PointCloudMaterial({
    size: 4,
    color: 0xFFFFFF,
    transparent: true,
    blending: THREE.AdditiveBlending,
    // depthTest: false,
    transparent: true,
    sizeAttenuation: true,
    map: THREE.ImageUtils.loadTexture(
        "img/particle.png"
    ),
}));

添加到您的 PointCloudMaterial:

depthWrite: false