Hello, I’ve been searching for a solution to this problem without success and hoping someone here can help.
Explanation: I have a particle system that is simply a flat, circular, pulsing aura (like a buff effect) that is located near the character’s feet. This is achieved by assigning a Material in the Renderer module and using the Mesh setting for Render Mode with a Quad as the mesh. The problem is when the character is on variable terrain or near another object the aura will get clipped. I would instead like the aura to be displayed on top of the terrain/objects.
Issue: My understanding is that the solution to this is to use a Projector component and assign the same material to it. However, the problem is that the particle system is using the Particles/Standard Unlit shader which does not work with the Projector. If I change the shader to a Projector shader (from the 2018 Standard Assets) then it doesn’t work with the particle system.
How do I resolve this? I only have a beginner level understanding of shader code so I’m not sure how complex this is.
Thanks for any help!
so, do you want the aura to be projected on the environment? this is impossible with the particle system as far as i know.
but if you only want it to draw on top of EVERYTHING (and i mean everything drawn before it) you can use the ZTest Off command in a shader to ignore depth clipping.
Yes, I want to have the aura project on the ground so it conforms to the ground. I was figuring I could somehow modify the Particle/Standard Unlit shader used for the particle material to project onto the ground by means of the Projector comp. It doesn’t appear ZTest Off does what I’m looking for here.
If this is not possible is there perhaps an alternative approach that you would recommend to achieve this type of result.
personally, i would just use a quad and rotate it to match the normal of the ground the character is standing on, similar to an older game’s shadows of one circular gradient. plus, you could just have the actual animation of the aura happen in the shader instead of in the particle system, giving you more artistic freedom. alternatively, just alter the projector shader to have that animate.
projectors work on the principle or rerendering the geometry with an additional pass for each projector, so that’s why it’s incompatible with the particle system. it would need more info sent than just what’s given to a particle shader.
Ok, thanks for the suggestions and additional info! I’ll mark this as the solution then.