destroy building with girders in the walls
#1
I have a building I'd like to destroy. I've modelled the walls and a framework of girders inside the walls, pillars etc. What I would like to do is have a different Voronoi on the walls and girders, so that when the building collapses some of the girders are poking out of the concrete. Any ideas? I have two problems .. 1) how do I get a different fracture on the two elements .. and 2) how can I get each girder particle to follow the nearest wall particle?

Thanks.
  Reply
#2
I am not 100% sure what are girders, even after quick search on google.
I assume it's the metal skeleton inside the building that holds concrete and blocks all together more tight?

In that case, you can simply import them in separate events, with separate flows (inside same flows).

Check out the quick sample file I made.
Everything is pretty much default, with this exceptions:
- Wall event, PhysX Shape operator have "ignore starting penetration" turned on, so it doesn't explode at the very start of simulation
- Girders event, PhysX Bind operator, is on "joint", and not "glue" type, and I turned on Bind deformation (set to 5), so when it is deformed, it stayed deformed (not trying to retain original position)

(I've added the big ball just for fun Smile (notice how I need to add a lot of mass value so it affects correctly the wall and girders)).
(if you turn off the mass operator, you will see it will have little to no effects (btw, mass doesn't mean the object is heavier (for that, you would need to add additional gravity to that Ball event... it just means, that it transfers more of the force to other objects))

Also, make sure your scene is in the correct scale.. my wall is like 10 meters in height.. don't do these simulations if your building is like 10 cm.

Hope that helps...
Ask if something is unclear, and if I know the answer, I'll gladly respond.


Attached Files
.max   Girders.max (Size: 796 KB / Downloads: 136)
  Reply
#3
Thanks!

I have it kind of working, but there are a couple of problems. It's too rigid.

1. the building is ignoring the ground plane and dropping a metre or two before halting (the lower plane of the building is on z=0).
2. I'd like to fix the bottom couple of floors of the building so they don't move.
3. in places the girders are passing through the concrete. the binding doesn't seem to be working well.
4. there are a couple of fragments floating in the air. need to get rid of those.

I'm off to read help, but if you have any fixes I'd be very grateful to hear them.
Thanks again!


.mp4   building01.mp4 (Size: 1.74 MB / Downloads: 137)
  Reply
#4
(12-03-2023, 05:35 AM)tycera Wrote: 1. the building is ignoring the ground plane and dropping a metre or two before halting (the lower plane of the building is on z=0).
2. I'd like to fix the bottom couple of floors of the building so they don't move.
3. in places the girders are passing through the concrete. the binding doesn't seem to be working well.
4. there are a couple of fragments floating in the air. need to get rid of those.

1 and 2 
You can use PhysX Bind, and check "ground", so the lower parts of the buildings are stick to the ground (with distance you can define how many floors you want) 

3) I'd have to see the Flow in order to see what's going on. It's probably because you selected "ignore starting penetrations" so you avoid getting everything explode. I can't see simple solution for that. If possible, make sure non of the geometry is overlapping at the start of simulation. If your girders are overlapping with rest, maybe try to boolean or something... I repeat.. if you want as clean simulation as possible, you should first try making geometry in a way that nothing overlaps... 

4) I don't see any of them floating in the preview, but it's probably because of PhysX bind. In the breaking rollout you can check that binds are broken after certain distance is reached.
  Reply
#5
(12-04-2023, 07:31 AM)d4rk3lf Wrote:
(12-03-2023, 05:35 AM)tycera Wrote: 1. the building is ignoring the ground plane and dropping a metre or two before halting (the lower plane of the building is on z=0).
2. I'd like to fix the bottom couple of floors of the building so they don't move.
3. in places the girders are passing through the concrete. the binding doesn't seem to be working well.
4. there are a couple of fragments floating in the air. need to get rid of those.

1 and 2 
You can use PhysX Bind, and check "ground", so the lower parts of the buildings are stick to the ground (with distance you can define how many floors you want) 

3) I'd have to see the Flow in order to see what's going on. It's probably because you selected "ignore starting penetrations" so you avoid getting everything explode. I can't see simple solution for that. If possible, make sure non of the geometry is overlapping at the start of simulation. If your girders are overlapping with rest, maybe try to boolean or something... I repeat.. if you want as clean simulation as possible, you should first try making geometry in a way that nothing overlaps... 

4) I don't see any of them floating in the preview, but it's probably because of PhysX bind. In the breaking rollout you can check that binds are broken after certain distance is reached.

Thanks. Binding to ground works great.
I need to think this out more. What really needs to happen is that the concrete crumbles just around the fracture points first leaving the girders exposed, then the girders fracture and fall, carrying the concrete with them.

I'll go away and try to figure the rest out.
Thanks again for the help.
  Reply
#6
I have another question if you don't mind.

I'm getting closer to the look I'd like. I have a PhysXCollision set to Ground Collider Collisions that sends the concrete to another Voronoi to create smaller fragments on impact. Most stay above ground, but some find their way through. How can I stop this?

Thanks.


.mp4   building01_011.mp4 (Size: 1.66 MB / Downloads: 118)
  Reply
#7
Ahh.. I am loving the progress Smile ... and you can tell how big structure is, because of slowness. Smile

Well, that's probably because after fracturing some of the fragments finish bellow the ground plane, or their speed is so high, that in one frame they are above, and in the second, they are way bellow so ground can "detect them".
Usually, a solution is to change steps in TyFlow Icon to 1/2, or 1/4, or even lower (so it will calculate between frames)... but that will make the whole simulation slower.

I usually don't bother with that, and I just create a huge BOX, and I name it KillBox, and I place it little bellow ground plane.
Then I add operator surface test, and I set it to "volume inside", and I link it to another event with delete operator, so I basically delete any particle that find itself inside the huge box bellow ground.
  Reply
#8
Thanks!
I had tried increasing the steps but it was getting too slow to handle. So I took your hint and instead created a box 1cm high placed 10cm beneath the ground plane and added it to the collisions. That manages to catch all the particles and they only end up a few centimtres deep so they don't appear too buried.
  Reply


Forum Jump: