Building Seems to be Collapsing Under Weight. How to Fix?

Hi, I am making a building and using the BGE Physics to have a ball crash into it. The problem is the building just starts to collapse when I press the (P Key). There’s no object tonching the building. It’s almost as if the weight of the building is collapsing it.

I’ve selected each building piece and set it to “Rigid Body”. I then decreased the “mass” from 1.000 to 0.200, but that doesn’t seem to work. I’ve also decreased the “Damping” to “0”. Does the “Radius” or “Margin” affect the collapsing?

Does anyone know what setting I am missing to keep the building standing until it is hit by an object? or can someone please tell me if there is information in the Wiki on this?


bumping this…


Using “box” bounds of course?

Of course. :slight_smile: Any other ideas?

Are you using a small margin (or a large one) in the physics tab?

Thanks Solar Lune.

Margin is set to “0”.
I’ve found setting “Form Factor” to “0” seems to help a little.
Margin Description: Extra Margin Around object for collision detection. Small amount required for stability.

I tried setting the Margin higher but the description seems quite vague What do they mean by “Collision Detection”? That objects will interact “more” or “less” with each other? Small amount required for stability. What’s a “small amount?” lol.

you could make the objects dynamic, then switch to rigid body on collision with logic bricks, this would keep your structure quite intact except where it was hit, like a gaping hole instead of a full structure collapse, unless your going for that…

in which case, perhaps set your objects to be dynamic, and use a delay sensor to enable rigid body - make the delay last until all the blocks are stable, then enable rigid body. That is my liberal thinking towards “hacks”, rather than elegant “solutions”. :smiley:

I think I figured it out - the physics just aren’t accurate enough at a single physics substep to operate on the whole building, and so it falls. Up the physics substep in the World tab, even just to 2 instead of 1, and your building should stay in place. You probably would want sleeping on to conserve CPU before you hit it, so don’t check the ‘No Sleeping’ button. Here’s an example blend.

PhysicsBuilding.blend (544 KB)

You know what - I think I’m using Convex Hull for the bounds in the cubes, which is probably why it runs slowly. Box bounds are faster, so go with that. The principle remains, though.

My first fought was to lock all rotation and movement in x and y direction on all the blocks and then give the physics some time to release any tension along the z axis (the direction of gravity). Then release the lock after a while - but I find no way to release those locks from python. Is this a SCREAMING api bug or have I missed something?