Geometry collection or fractured mesh niagara system?

Is it possible to render a geometry collection from niagara instead of the actor component or actor itself? Or somehow fracture a mesh as a niagara system? I don’t really need it to be perfect, but I’d prefer to be able to render broken boxes as short lived temporary particle effects. They don’t need a bunch of world interactivity and physics beyond collision with the floor.

Hey there @Krileon! I would recommend going with Niagara mesh particles for the performance and lack of a need for interactivity. Start by fracturing the mesh as you would normally, then select all of the pieces in the fracture menu and use the To Mesh function under utilities.

You will end up with lots of little pieces you can plug into Niagara’s mesh renderer array:

They maintain their pivot offset, so if 0,0,0 they still form the mesh as well, so if you destroy the original object when spawning this it should (mostly) be a seamless transition.

Let me know if you have any questions.

1 Like

Is that better than using the Geometry Cache Renderer? That’s what I’m trying to currently get working.

Oh, guess that’s why I can’t get this working right is I’ve a Chaos Cache Collection not a Geometry Cache Collection. So guessing your solution is my only solution here.

Sc

Technically the Geometry cache is viable if you want the same authored break every time. Personally I prefer the particle meshing, as you can also tie that to some settings to fully disable without affecting anything mechanically and scales well.

I can’t find out how to do that though. I’ve got my geometry collection and my chaos collection. So far all I’ve found is a way for a geometry collection to drive a niagara system, but not a way for a niagara system to simulate a chaos collection. Maybe my terminology is wrong and is what’s making this hard to find, lol. Breaking it into multiple meshes certainly seams easier though.

Can you provide an example of how to set the multiple meshes up in niagara? I added them all to the mesh renderer, but it only spawns in the first mesh in the list. Do I need to add a mesh renderer for each part instead of adding to the Meshes list?

Edit: Ok, seams like I did have to add multiple mesh renders. So making some progress. Need to figure out how to have it throw each mesh around randomly still.

I got it! Ok, use a single Mesh Renderer and add all your meshes to the list. Next add a burst spawn with the number of meshes in that list. Now in Particle Spawn add a “Set new or existing parameter directly” then set MeshIndex (Particle) to MeshIndex (Particle) + ExecIndex. This spawns each mesh individually and can have different rotation, force, etc.. applied respectively.

Fantastic work! For anyone in the future that needs to set up a Niagara Mesh Renderer with an array of meshes, this tutorial can help:

Disclaimer: One or more of these links are unaffiliated with Epic Games. Epic Games is not liable for anything that may occur outside of this Unreal Engine domain. Please exercise your best judgment when following links outside of the forums.

1 Like