# How to improve the accuracy for a rigid bodies

How can I keep the objects from intersecting or passing through one another in rigid body simulations?

I have

• checked the normals
• applied all transforms for scale, position and rotation
• set Origin > origin to geometry
• increasing the Steps per second and Solver Iterations in the Rigid Body World settings (I tried with the maxima 1000 and 100)
• set collision shape to Mesh and tried 0.4 or 0 as margins and source to final

• Blender uses Bullet, which is generally a pretty capable and widely used rigid body solver, but it appears blender's integration of its collision detection is a bit lacking. From my experiments at least, it doesn't look like blender does inside/outside checks, and it also appears not to have the option for continuous collision detection. if both of these were supported, I suspect the problems you are showing would go away. Apr 23 '19 at 8:37
• Related posts: 1, 2 Apr 23 '19 at 8:45

Work smart, not ...

Okay, so you realized Blender bullet solver implementation is not as strong out of the box. Therefore we have to help it out a bit.

• Reconstruct your geometry with simpler shapes. In your specific file, I could just create the crate out of 5 cubes (the walls and floor) which are then parented to the crate geometry.
• Use simple rigid body shape wherever possible. I made the walls into Box colliders and the sphere into Sphere colliders.

Now, you realized, that the Steps per Second and Solver Iterations don't ensure a more stable simulation, if we just increase them. Here comes a workaround: We'll make our subframes into actual frames by slowing down the simulation and the speeding it up afterwards.

1. Scale the keyframes apart by 6. The box now moves 6 times as slow.
2. Adjust the speed of the rigid body simulation. I entered 1.0/6.
3. Adjust the playback speed. The fps will be 24*6 and the render steps can be 6. (Obviously the scene's end will have to be adjusted as well.)
4. Increase the Solver steps and Iterations as needed. I used [500, 500], as shown in the above image.

The resulting simulation is stable, although my computer can't playback a 144 fps.

• I am wondering if there will be an improvement in the future whiteout these tricks? May 2 '19 at 18:31