Is placing many (100 or more) post process's around a level expensive?

Is placing many (100 or more) post process’s around a level expensive?

I have mesh objects around my map that I don’t want to have collision but will still cause damage to player and flicker a red post process volume if overlapped. I will probably place box triggers on the mesh’s for the overlap damage but as far as the red post process’s, should I also have the box triggers call them on overlap or should I just place a bunch of post process’s around the level in those places? I am asking because there could be 100 or more places where this would need to be done. They would be fairly small (objects about the size of the character).

I like the idea of having the freedom to manipulate each individual post process if it isn’t too expensive to have that many around the map, otherwise I will have the box trigger call it upon over lap.

Also, as I will need many separate triggers all doing the same thing, do I need to copy paste the script for every single individual trigger in level blueprint or can I somehow run a whole catalog of triggers through one piece of script?

Lastly, is complex collision much more expensive then box collision (in mesh editor). I know it is more expensive but is it MUCH more expensive or just a little more expensive?

Thanks

I wouldnt use the level blueprint for that. Make an actor blueprint for all your flashy meshes (maybe a generic one and then substitute the mesh component). This way you do not need to duplicate BP graphs. Add a trigger volume to the BP and the flashing could also be achieved by a dynamic materisl parameter…?!
Im nort sure what effect you are looking for, but this may spare you the PP volumes alltogether…

That depends on the polycount of your mesh. If you have a mesh with 600 polys and a 2-box simple collision that only have 24 polys together, the saving is considerable. If its a three sided pyramid, you would have 12 polys on a box collision and 4 polys on the original mesh.
In general: Simple is better. - Most models have more polys than a simple cube :smiley:

I think the OP wants the screen to flash red when the player enters one of these meshes / volumes. A flashing material likely won’t work for this, if someone knows otherwise please correct me. You could have one global post-process volume and just have each of the meshes have a reference to that (could either get the components by class or tag then iterate over the returned list on construction, that way you can get your global post-process volume on each of these meshes / volumes on construct), then when the player enters the volume set the scene colour’s red channel to a higher value (to increase the scene colour’s redness) or some other way to go about it. When the player exits, reset it to 1.0 (default).

Complex collision is more expensive regardless of the shape or complexity, because its polygon based and not easily deducible from pure math calculations. You should always use simple collision wherever possible.

I personally wouldn’t have a post process volume. If the effect is always going to be the same, then just add a blendable material to the players’ camera, create a dynamic material instance of it at the start of a game and modify a parameter in the material to create the flashing. This is how it’s usually done, as you can just drive the effect off of the damage your receiving, and can therefore just use a regular damage volume.

True… :slight_smile: Parametric volumes are easier to process indeed. I thought more about imported collision models (crude version of the original).
But with the “new” auto-collision-creation-magic, the needs for imported FBX collision hulls are (almost) over.

Thanks for the insight. I will likely have the damage volume trigger the process settings on the player camera. Hypothetically speaking though, if there were a ton of post process’s spread around a level…would that be performance costly? Does Unreal count 100 post process’s around the level as 100 post process’s or is it 1 post process regardless since there is still only one process turned on at a time (by player location).

I will probably do a volume trigger but I like the idea of complete control over each process if there isn’t much of a performance increase.