Smooth z-culling for ParticleEmitters

It would be very helpful if we had a way to make particles smoothly fade out when they reach the camera’s location.

Currently when a particle from a ParticleEmitter gets too close to the camera it disappears instantaneously. This can be quite frustrating to deal with, as it appears like particles just suddenly disappear for no reason, jarring the player and ruining the effect Transparency NumberSequences have (to my knowledge, this property is used almost exclusively to ‘smooth out’ particle effects).

  • One example of a use case for this is explosions. Maybe you want to show debris flying out of the exploded object… except that currently debris instantly disappears out of thin air when it gets close to you. It looks really strange, and there is no way we can control it. It would be better if we could make it fade out when it gets near to the camera.

  • Another example… floating particles in the air, that slowly drift towards you, then pop out of existence (instead of smoothly fading out like the Transparency property is telling it to).

In addition, an expanded implementation of a solution to this problem could also allow developers to smooth out z-buffering behaviour, so that the particles will fade out if close to being covered by another part instead of disappearing suddenly (which is particularly bad in situations where ZOffset is being used to display particles over an object).

Suggestion: Something like a number property to set the distance that particles start being culled from (similar in function to Lighting’s FogStart/FogEnd) would be of great use as it would also allow for this functionality to be toggled and customised by developers.

16 Likes