我试图在三维场景中移动粒子(THREE.PointCloud)。这种颗粒由这种材料和透明png组成。
var material = new THREE.PointCloudMaterial( {
size: tamanio,
color:color,
//alphaTest:0.01,
transparent:true,
depthTest:true,
map:recursoConNombre("textura_particula").objeto,
blending:THREE.AdditiveBlending
});
一切似乎都好,但有些物体没有通过粒子的透明纹理看到。 Image of the problem, particles with transparent textsure带有红色圆圈的三个粒子位于同一个PointCloud对象中,通过纹理看不到某些对象(右边两个是错误的)。
编辑:我创建了一个小提琴来重现问题,一些透明粒子看不到的球体:http://jsfiddle.net/g68jbsoy/1/(鼠标点击创建粒子爆炸)答案 0 :(得分:0)
这是由点云的透明度以及以不正确的顺序呈现的点造成的。
渲染透明对象时,需要“从前到后”渲染。这意味着需要首先渲染对象,最近的对象需要渲染。
最初,PointCloud对象有一个sortParticles属性来帮助你做这件事,但它已被删除。