How would you approach such task: let’s say I have a model of a car engine and I want to be able to gradually destroy (fracture and explode using chaos or apex physics engine) every single piece of it step by step.
So first I’m shooting at pipes and destroying them, then shooting at upper lid and destroying it, then shooting inner parts one by one. How would you suggest doing it?
I tried pre-fracturing all destructible elements using APEX, but since they’re all sitting quite tight to each other - when one explodes - the others also being affected and start to crumble even though I’m not shooting at them. Is there a way to avoid that?
Just make a blueprint and decide what gets destroyed on it manually.
You can either do this with collisions from a projectile or a trace from the gun.
An interface for interaction would prevent casting and other issues.
The logic behind it would be individualized at the component level:
Was I hit? Destroy me and play whatever effect needed. Spawn a pysics simulated mesh of me, apply force to make it react with physics.
No real need for messy Chaos or Apex systems this way.
Also, it allows you to build models with unlimited number of parts you can interact with.
Be warned though:
The best approach for performance is to create a “manager”.
You add the manager to the blueprint.
The manager automatically does the job the individual parts would otherwise do.
This is so you add mesh components instead of child actors.
There are limits to how many actors you can have, while the limits on components are far higher.
As such, adding a single child actor (the manager) which automatically handles the response of all added components of the blueprint is preferable.
Thanks a lot for this info it definitely makes sense and I think I will try the manager/interface solution!
But I think for now as I’m on a quick prototyping stage now rather, I will go with Everynone’s solution (unchecking impact option to to make sure nearby destructible objects are not being affected) as it’s really straightforward and more than enough for now.
No clue since I’m stuck on UE4. UE5 transitioned to Chaos which incorporated some stuff from PhysX for legacy reasons (or so I’m told). It’s a bit of a mystery to me how things works in UE5.
It’s disabled by default. In UE4, you’d need to enable Apex plugin, restart, right click a mesh, create a destructible version. Double clicking the destructible gives you this panel.