Domino Effect

I’m making a 2D game prototype and I like to make a domino effect using the physics engine.
I’m using AddForceAtPosition but I’m not sure if the parameters are correct cause I cannot get the domino effect I want.

``````void FixedUpdate() {
if (Input.GetButtonDown("Fire1")) {
domino.rigidbody.AddForceAtPosition(domino.transform.right * 30.0f, domino.transform.position + new Vector3(0, 5.0f, 0));
}
}
``````

Rigidbody

``````Mass 0.08
Drag 0
Angular Drag 0.05
Use Gravity Yes
Is Kinematic No
Freeze Position Z
Freeze Rotation X, Y
``````

If freeze position Y, I get a better effect (although I want something better than that) but don’t apply gravity.

Thanks for the help

do this:
increase the y position of ceter of mass of the rigidbody so that they will fall easier.
domino. rigidbody.centerOfMass = new Vector3(0f, 0.25f, 0f);

Maybe you could get away with just making the blocks thinner?

Set the proportion between height and width to something more like in real domino blocks, and you will see less ‘stabilization’ after being pushed.

Consider a real world situation: trying to force a cube 1x1x1 (a gaming dice any1?) to fall - it probably won’t work as easily as real domino piece.

A real domino piece is more like 1x5x10.

What’s more the suggestion from the other answer about switching center of mass makes a lot of sense but it won’t help much until you make proportions adequate.

When making physics simulations always try to make sure your Render part is as closely representative to the Simulation part as possible. Then you will be able to ‘just see’ most of the problems

It doesn’t matter if you are in 2D or 3D - drawing the simulation accurately helps you ‘just see’ whats happening.

Side note: You may want to put some thought into the physics to drawing ratio in your game and keep it consistent everywhere. If you simulate block 1x10 as 8pixels x 80 pixels try to keep 1:8 scale in the whole game - this will make your life easier when adding interactions between different elements.