As a developer, it is hard to make particle emitters always appear in front of objects.
My use-case: I have some particles locked to the bottom of the viewport. They have to be very small, placed at least 0.5 studs away; the particles still get covered if they’re “within” a brick.
My 2nd use-case: I have particles streaming through the middle axis of a brick for user-feedback of an action; I want the user to see the particles still.
Here is an example workaround hack that makes particles show in front of bricks: (it’s nice but has an issue)
local function particlehack() --change zoffset to make these appear flush with the camera in Z space
local screenSpacePosition,onScreen = camera:WorldToViewportPoint(axisright.Attachment0.WorldPosition)
axisright.Attachment0.ParticleEmitter.ZOffset = screenSpacePosition.Z-1
end
RunService:BindToRenderStep("particlehack", Enum.RenderPriority.Camera.Value + 1, particlehack)
BillboardGui and SurfaceGui already have this; AlwaysOnTop.
Edit in 2023: reworded this request, added a hack, and replaced the broken forum image/video links with a newly taken video
As a roblox developer, it is currently impossible to create high detailed screen effects to make your game feel more alive.
With this in mind, I’d like to propose a property to the ParticleEmitter object called AlwaysOnTop, similar to the BillboardGui and SurfaceGui properties, where particles would be rendered on top of the game world rather than at the same time.
This gives me, as a developer, more freedom to create detailed on screen effects without super intricate GUI scripting.
An example where this would be useful, is my ActiveVignette module that allows particles to follow the camera. The problem is, if I get to close to a wall, or have a gun in my hand in first person the particles phase to the other side of the wall or behind the weapon. Here is a video of that module in use:
I my game I’d like to create an ESP effect that creates a lingering trail of Particle Effects that can be seen though walls, this is currently not possible with the current tools we have in Studio
Bumping again, I wanted some nice flare effects to display on top of everything and then I can control if they should be visible or not. This is a limiting factor to my project.
ParticleEmitter’s dont have a ZIndex property, you are likely thinking of ZOffset, which doesn’t affect render order but instead changes the actual location of the emitter. Not ideal for this use case.
AlwaysOnTop (Similar to a billboard gui) would be the best case scenario