Dominoes: Rigid Bodies with Friction
by Cody Thompson
Rigid body boxes colliding with the floor and other boxes to create a dominoe toppling
scene. An initial velocity is added to the 'starting' dominoe to start the effect.
- Rigid body dynamics.
- Rigid body box collision with a ground plane.
- Rigid body box collision with other box rigid bodies.
- Adjustable camera.
- Rigid body fake friction to stop the motion of rigid bodies.
- MouseClickDrag : Rotate Camera
- MouseClickDrag + ctrl : Zoom Camera
- MouseClickDrag + shift : Move Camera
- ' ' : begin simulation
- 'p' : initialize starting velocity of the starting dominoes
- 'r' : fully resets the scene and all rigid bodies to their starting frame and velocity
- The friction fully stops every rigid body.
- The timestep is 1e-2, causing it to simulate faster at the expense of the dominoes going into the floor.
- You must press space and then 'p' to begin the simulation with the dominoes falling
A line of dominoes, showing some going slightly beneath the floor.
A circle of dominoes, showing that blocks stop completely once they hit the floor fully.
A sine curve of dominoes, experimenting with trigonometry.
A face of dominoes, demonstrating multiple trigonometry techniques and high amount of simulated rigid bodies.
- Shinjiro Sueda - Created most of the back end code for the main cloth system, and he provided all used information on rigid body dynamics and fake friction.
Bugs / Unfinished Areas of this Project
- Boxes do not stop if they are at an angle touching other boxes due to how the implemented friction works, but the do stop eventually (completely on the floor).
- Unmoving boxes are still simulated and their new information is still calculated, thus less optimized but can still run the face simulation at a decent performance level.