2
$\begingroup$

I've been trying to solve this problem for days but get stumped every time. Their seems to be a black art of adjusting the physics settings for objects that are close together that simply eludes me.

The project: I'm trying to have a mosaic come apart corner to corner using a Wind force field.

Animation at midpoint

I created a grid of 11 x 15 square blocks using the Array modifier. I then applied the array and separated them as indiviual objects. I then added an active Rigid Body to each. Beneath them is a grid with holes that the mosaic sits on, set as passive.

Animation at beginning

The wind is keyframed to start at zero Max Distance fall off so it has no effect on the mosaic at the start of the animation until it is massively increased.

The wind effect works, but when I run the animation the mosaic pieces are bubbling away like water.

enter image description here

Here is the blender file:

It's clear this is to do with the physics, and the objects being so close together, but nothing I try fixes it.

  1. The Sensitivity Margin of all objects are set to zero. If these are increased by even a fraction the object instantly explodes.

  2. The collision shape of each mosaic square is set to Mesh. If it is set to square then every object has no randomness. The mosaic rises up as one piece like a slab. Only on Mesh do the mosaic pieces flip individually and display randomness - as I want them to - as they fly into the air.

  3. The passive grid platform is set to mesh with 0.04 sensitivity. Any lower and the mosaic pieces somehow fall through the mesh cut-outs (even though they cannot fit!) Any higher and all the mosaic pieces instantly explode up into the air. Setting the grid platform to Box makes no difference.

  4. Under Scene Properties > Rigid Body World, the Substeps Per Frame are set at 1. Any higher - such as 10 - all of the pieces instantly explode.

  5. I have ensured all origin points and scale are set on each object.

  6. I have tried increasing the size of the objects and although this stabilizes the mosaic considerably, all of the panels fly into the air uniformly and will not rotate. Unlike at small scale where they all rotate differently. I assume this is because the jittering is causing some instability which causes them to rotate when the wind hits them.

$\endgroup$
3
  • $\begingroup$ Physics simulations aren't quite comfortable to work with (for me). A lot of trial and error, each time baking the simulation and thus waiting. Fine control is harder too. Do you really need Rigid Bodies if they don't interact at all ? Did you consider using Geometry Nodes ? It's powerful, almost limitless. Your animation would be somewhat easy to implement, in my opinion. (My comment is out of topic if you know you want to use Rigid Bodies) $\endgroup$
    – Lutzi
    Commented Mar 28 at 21:50
  • $\begingroup$ I'm not very good with Geometry Nodes. Making them fly apart with nodes is beyond me. $\endgroup$ Commented Mar 30 at 17:57
  • $\begingroup$ Are you interested to a similar animation with GN ? I could write an answer soon, unless you want to stick with Rigid Bodies. Let me know :) $\endgroup$
    – Lutzi
    Commented Mar 30 at 18:05

1 Answer 1

1
$\begingroup$

Two changes to your simulation:

  1. (almost) never use 'Mesh' as an objects shape. Only if there is really no other way and you only have a few slow moving objects. In your case you should use 'Box' for all tiles and the base. This will fix all your collision problems.
  2. Create your own randomness. You mentioned you don't want to use the proper collision shapes because they make all objects act uniform. The wind Force applies the same force to all objects so of course they all act the same. If you want randomness you should create it with the 'Noise' settings in the force field or just create multiple force fields. You could add a Turbulence force and uncheck the 'location' property to randomize rotation. I am not sure what you mean by 'have a mosaic come apart corner to corner' but maybe even change your wind force to a vortex with high noise. Just play around with the forcefield settings.

Also don't decrease your substeps to fix collision proplems.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .