How do I render particles with constant screen space size?

I would like to generate particles that render onscreen at a fixed size, regardless of its current distance from the camera, in a manner similar to screen space size material billboards. Although I would prefer to do this, per emitter, inside the particle system, I would not be opposed to a blueprint solution. Any help would be greatly appreciated.

I would like to do this too, in Unity I would simply make the size of a particle huge then set the max screensize to something quite low. Unfortunately I can’t find any setting similar to “max screensize” in UE4. I’m really surprised because if you have a small but expensive particle it could be super expensive if the player decides to stare and zoom into to make it fullscreen :frowning:

If there is no such option in cascade, you can use material WPO to maintain fixed particle screen size.

A while back I made a material function that can change the size of a regular sprite particle depending on camera position and its distance to the camera:

I am sure that with some messing about you can get it to work the way you want it.
(output goes into world pos)

2 Likes

Wow that’s a creative solution, thanks! I still wish that cascade would just support it out of the box (Assuming it’s an easy feature considering Unity has always had that feature) but in the meantime that sounds like a good workaround!

thats because cascade is old, really really old.
I bet something like that will be a standard feature once Niagara comes out though.

I found there is a built-in node that worked better on my end (specifically using this with Niagara, for which I haven’t found this built-in the particle editor itself yet)

material node is “ConstantScaleByDistance” which takes 1 scale input and can be directly plugged into WPO of the material.

2 Likes

Just stumbled upon this thread looking for something else. Here is a solution for OP’s problem in case anyone else is wondering. This requires the particle to have a base size of 1.0 in at least one dimension.

1 Like