2
$\begingroup$

I am dropping an object on top of another and I'm noticing some odd behavior. The object that falls intersects the object that it falls on top of:

enter image description here

It then proceeds to "wobble":

enter image description here

I have the following properties set for the objects:

enter image description here

What causes this to occur and how can I prevent the two objects from intersecting at all?

Here's a link to the .blend that demonstrates the problem:

$\endgroup$
  • 1
    $\begingroup$ Increase simulation precision and number of steps $\endgroup$ – Duarte Farrajota Ramos Mar 6 '18 at 19:17
  • $\begingroup$ @DuarteFarrajotaRamos how would one go about that? $\endgroup$ – Nathan Osman Mar 6 '18 at 19:21
  • 1
    $\begingroup$ blender.stackexchange.com/questions/99027/… $\endgroup$ – Duarte Farrajota Ramos Mar 6 '18 at 19:28
  • $\begingroup$ I would be careful with increasing the simulation quality unless absolutely necessary, as it can often 'mask' other issues and also slow down the simulation significantly. See my answer below for some options to get a better result. $\endgroup$ – Brenticus Mar 6 '18 at 21:25
3
$\begingroup$

Short Answer: Switch the collision shape on each object to Box, and you're good to go.

Long Answer:

Poor collisions are generally due to a combination of a few things:

First is the precision of the simulation. Increasing the quality of the simulation should help, but this will slow down the simulation considerably. Usually you can get away without increasing the simulation precision.

Second is the density of the colliding meshes. A subdivided plane has more geometry to work with, and will collide better than a plane. In your file, adding 3 edge loops on the X and Y axes of the floor object gave the simulation enough geometry to run perfectly. This isn't always the best solution of course, as often times dense meshes are undesirable.

Final thing is how the collisions are being calculated. Blender has a number of different collision shapes that can be used. The geometric shapes (box, sphere, etc.) will always be the most stable as they are the most simple. In your case, both your objects are boxes of some form, so using box collisions will be best. Testing this confirms this, as switching both to Box fixes the collisions and the simulation is very stable as well.

The other types of collisions can work as well, and using the Mesh option (which uses the actual shape of the mesh as the collision object) on each object did give decent collisions, but they were far from perfect. Adding some more geometry to the floor object did help significantly though when using Mesh. Convex Hull (which uses a collision object that is always convex while still fitting the object as best it can) doesn't appear to work at all in your case, as it seems to do a poor job of determining a good collision shape for a box like object. Adding a bit of geometry and changing the shape to be slightly rounded made it work great though.

More information on the collision types can be found here (about halfway down).

It is almost always the best case to keep the simulation as simple as possible, and to use the simplest collision shapes possible so that Blender has to do the fewest calculations, which will also keep your simulation nice and fast.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.