Particle system inside transparent objects

I have a little problem when I try to put a particle system in or near an transparent object. (That is, an object with a material that has rendermode = “Transparent” and an intermediate alpha value.) Any particles inside the object get inconsistently rendered. They are sometimes rendered as if they’re outside the object, and sometimes as if they’re inside.

The two screenshots are of the same scene. The particles here are emitted from the particle system and are moving along the Z axis. The locations of the particle system and the sphere haven’t changed between screenshots, I just moved the viewport slightly to the right. This behavior also occurs in game, and also if the system and all particles are inside the sphere.

I would honestly be fine with either behavior, but the sudden change looks ugly. Is there something I can do to change this?

93032-particle1.png

93033-particle2.png

Edited. btw I still don't know how. When I added chooseAnswer () similar to void ChooseQuestion().... I got some error

1 Answer

1

This is a classic issue of transparency z-fighting and sadly nothing can be done to get a perfectly transparency blending result unless you change the shader of either the sphere or particle system to non-transparent one.

Another solution to avoid flickering is that you change the “order in layer” in particle system renderer module to either higher or lower so all particles appear always before or behind the sphere respectively.

Transparency blending is always doomed to be incorrect unless you use the “cutout” mode. The same issue occurs in other AAA engines as well. It’s just a matter of how us users to make the issue less obvious to the audiences.

Thank you. It took a little searching to find the Order in Layer option (It's in the particle system's inspector under Renderer, in case anyone else finds this question), but now it's consistent again.