three.js transparent maps issue

前端 未结 4 1749
礼貌的吻别
礼貌的吻别 2021-01-02 13:31

I\'m creating loads of particles (80.000 to be exact) and I have set a transparent map, though, not all particles are transparent.

I\'m using a transparent PNG image

相关标签:
4条回答
  • 2021-01-02 13:38

    You can set the alphaTest property of the material instead of transparency. For example,

    material.alphaTest = 0.5;
    material.transparent = false;
    

    three.js no longer sorts particles; they are rendered in the order they appear in the buffer.

    three.js r.85

    0 讨论(0)
  • 2021-01-02 13:43

    Disable the depthWrite attribute on the material.

    // create a new material
    material = new THREE.ParticleBasicMaterial({
        color: colors[i],
        size: 20,
        map: map,
        transparent: true,
        depthWrite: false,
    });
    
    0 讨论(0)
  • 2021-01-02 13:45

    Try webgl_particles_billboards.html. If I'm right it does the same thing you expect.

    0 讨论(0)
  • 2021-01-02 13:54

    Those particles with black corners are rendered before anything behind them. So GL doesn't know yet there is something behind to blend. In order to make it look right you have to render these particles in the order of their z coordinates from back to front.

    0 讨论(0)
提交回复
热议问题