I'm trying to simulate the destruction of a building by first fragmenting the asset in to thousands of smaller parts with FractureVoronoi and later using MassFX to collapse the structure. My big issue with the resulting animation is that even though I destroy the structure at the base, the moment the building starts to crumble every single piece becomes loose and it looks like it "pulverizes" more than actually being destroyed as it reaches the ground. I can't find any way to keep the top pieces (which are far away from the ground impact) to conserve some level of structural integrity.
I've tried applying a lot friction and this does not help. Overriding sleep settings don't seem to have any effect either. Essentially I need fragments to stick together until a certain amount of force breaks them apart. I've been looking at constraints, but I don't see how this could be applied at such a large scale with thousands of individual pieces. Didn't this option use to exist in Reactor? It doesn't look like this feature is built in to MassFX. 😞
Here's a video of what I'm trying to achieve (on a much more basic level):
https://www.youtube.com/watch?v=J15bV4vMoM0
(Top of the building retains its form before crumbling down when it reaches the surface).
MassFX version I'm using: 3.4
Thanks!
This usually happens when you have some objects overlapping, and this is common when you use FractureVoronoi in complex objects. You can try breaking your objects in smaller parts before fracturing it with the script, like have the wall separated from pillars and so.
Anyway, have you tried check the option "start in sleep mode" in the rigid body properties? You can use the MassFX tools to set this properties to all fragments at once. You can also force it to stay still changing the fragments to Kinematic Rigid Body and use the option "until frame" and choose a frame to start simulating.
Thanks for the suggestions, but unfortunately this is not the case in my setup. I am already using sleep and I am also properly handling shell intersections by editing the 'contact shell' settings (contact distance and rest depth). If I uncheck sleep my structure will not explode due to overlappings.
I think the problem is that there's no tool to keep fragments stuck with each other and only give when force is applied. The simulation actually looks like my structure is pre-sliced in to thousands of little pieces, which is not how the object would be structured in real life. I understand constraints can keep two pieces together and give if enough force is applied, but there's no interface to set this up on thousands of pieces, with each piece having multiple neighbors.
If you look closely to the tutorial you posted as reference, you will notice that it doesn`t use MassFX but ParticleFlow/mParticles and Particle skinner for simulation. mpGlue for example allows for breakable bindings (by force) between physics driven particles that can be skinned to geometry. That`s how the destruction of the tower was done.
Yes, I noticed that my reference video was using a different method. I guess I need to start studying ParticleFlow or I'll see if our programmer can implement some new functionality to MassFX.
I still think MassFX would really benefit from a feature like mpGlue. Maybe in the future. It looks like a lot of the functionality is built in with constraints, but there's no way to properly set it up.
Can't find what you're looking for? Ask the community or share your knowledge.