There Are Problems with the Physics Engine in 2.75

This is a comment on the physics of Blender 2.75 and maybe a point of discussion.

Quite frankly, I think this latest release of Blender broke the physics. I have a host of problems that popped
up to the point I’m thinking of re-installing. Yet, I know from past experience that some of these issues have been
there for a long time.

One of the first things I noticed is “jiggling” rigid bodies when they lie on top of either passive or active objects. This
has been an issue at various times since at least Blender 2.5x (I have no experience with Blender prior to 2.5x) but it is very noticeable in my install. The documentation and a couple of tutorials address this issue but their suggestions do not work in this new version.

For example, one suggestion is to up the “steps” from the default 60 to something higher, like 120 or so. Be careful with the “iterations” setting – anything above 12 can scramble the entire scene. Very touchy setting – but sometimes increasing the “steps” certainly does help.

In a few of my cases, increasing the “steps” actually created more problems. This indicated that perhaps another setting was causing the problem.

This brings us to the “geometry” of collisions in the physics settings. For me, using “mesh” as the bounds of the collision actually makes things worse. If I have something that looks boxy or is spherical in shape, using
that setting (“box” or “sphere”) makes the sim more stable, not less. I have never observed that behavior before in Blender but because it is such a huge, feature-rich package it is possible I just never noticed it.

However, the only way to construct things like chain links requires the “mesh” setting or the physics of the chain simply won’t work. But if I do that, no matter what setting I use – for steps, cache, rigid body params –
the chain often explodes and rarely works like it once did. If you’ve seen the various tutorials about creating a chain – Andrew Price made one I’m sure most Blender users have seen – then you know how simple the procedure seems to be. I followed those tutorials a long while ago and got things to work pretty much like Jonathan did. But no more. Something about the physics engine has gotten very touchy or broken.

Here is a simple way to see what I’m talking about (if your version of Blender is behaving like mine):

  • Be sure to apply any scaling to the block before using the array modifier (why is this not a consistent step?).

  • Create a 3 x 3 x 3 array of “active” blocks on a “passive” plane (or any flat surface); you can leave a small
    amount of space as Andrew suggests or not, it does not appear to make much difference.

  • Use “mesh” as the collision bounds (in my case, using “box” actually gives a better result).

  • You have to go through all the “separate by loose parts” step and give each block its own origin.

Now, just run a sim – no collision required to see what I see. You can twiddle with the cache steps as you wish but here is the thing …

  1. The 3x3x3 block tends to explode (fixed in the past by allowing a tiny bit of space between the individual blocks – too much, however, and the blocks animate like free falling bodies and change the desired behavior). This is
    usually fixable by tweaking but this should not be necessary. Too much tweaking and the whole animation’s character can change.

  2. Even when the “explode” problem can be avoided by tweaking enough parameters, the blocks tend to jiggle. The jiggle is almost like Brownian motion and you may have to zoom in to see it sometimes. However, the jiggle can be enough to completely change the animation in an undesirable way. It is not the behavior wanted.

I am not an expert with Blender, I freely admit. But the physics engine was a lot more stable in the past as I recall. Something has crept in that has now made even very simple rigid body simulations very difficult to get right.
I plan to reinstall Blender today from scratch but I doubt that is the problem.

I installed 2.75a and the problems got worse. Out of desperation, I restored the factory defaults and that largely cleared up the problems. I do not yet know why but I’m checking into it. After installing 2.75a, hoping perhaps this update contained a bug fix for the problems I was having, I started with a clean file and the physics sims got even stranger. I could not believe what I was seeing and I knew something was definitely wrong.

What a relief, though. This drove me crazy since last Saturday. I am going to be careful now what add-ons I activate. I don’t know if any of them contributed to the bizarre behavior of the rigid body sims or not but it is definitely a possibility since restoring the factory settings cleared up nearly all of the problems.

By the way, while using 2.75 I’ve noticed that “convex hull” does not work well for most primitives, especially UV spheres. Mesh or one of the defaults (like “sphere” for example) work much better.

here are some tips…

  1. using the “mesh” collision type is a last resort in most cases as it is much much more unstable… it is always better to use boxes (if possible) spheres, or at the very least use convex hull, this will work fine in most cases but will have no concave shapes allowed… so complex shapes may have to be made from multiple convex hull objects constrained together.
    2)iterations setting works fine, just keep it to a multiple of the steps setting… so if you use 120 steps… try 60 iterations, or 30, or even 120.
  2. ensure your scene has no clipping before you play out the physics… if one of your blocks (or layers) is clipping into the collision mesh of the floor (or whatever statics you use.) they WILL explode outwards no matter what settings you are using. this means taking the margin into account too
  3. keep your scene of a manageable scale. one habit people tend to fall into is their use of TINY scenes…
    make sure each of the physics items is large enough to correctly calculate… (a cube with 2bu edges will be more accurately simulated than a cube with 0.1bu edges)
  4. the apply scale thing is no longer such a huge issue, unapplied scaling is now taken into account when simulating.
    although its still good practice to use a scale of 1… its no longer vital to a good simulation. (object scales are even animatable now.)
  5. some of the addons focusing on rigid bodies have been known to do strange things (at least from my experience.)
  6. use sleep settings to nullify the random jiggling in objects that are stationary… it basically disables the physics until they are re-awoken by a strong enough collision.
  7. for mesh type colliders you NEED a margin , (unless your steps and iterations are insanely high.) other types arent too bad because the mesh can accurately repel any intersecting meshes. not having a margin with a mesh type of object will result in objects becoming stuck inside each other, almost like glue! =D

these are a few general tips for the rigid body system in blender (although you have already solved your problem , someone else might find them useful, and you may be able to discover the cure to the problems you WERE having (should they happen again))