2
$\begingroup$

By default, Blender's particles don't have any spatial extension. This is fine as long as particles are rendered as halos. But if you give them a size and an appearance as object, it becomes obvious that they're able to go through each other.

What tricks can be pulled off to fix that problem? For example, if you want to fill an area with houses, toss some leaves onto the floor, or just want charged balls to stick to each other.

I'm aware that a precise solution of this problem is very challenging -- but already some kind of approximation would do in most cases.

$\endgroup$
5
  • 1
    $\begingroup$ If you want accuracy, you are probably better off using rigid body physics. See this related question $\endgroup$
    – gandalf3
    Mar 8, 2014 at 22:25
  • $\begingroup$ true and certainly an option -- downside is that I'd need to generate the objects rather by scripting, and that I'm loosing much of the other possibilities of particle systems... $\endgroup$
    – Ichthyo
    Mar 9, 2014 at 0:04
  • $\begingroup$ You might be able to generate the objects as a particle system and then convert them. $\endgroup$
    – gandalf3
    Mar 9, 2014 at 17:41
  • $\begingroup$ but I can not combine both, correct? Either object's movement is governed by particle system, with forces, self forces, keying. Or I switch over to rigid body physics. For a seamless movement, we'd need a way to extract position, velocity and spin for each particle and assign it as start conditions to the corresponding object. But even then I'm afreaid to get a jerk in the movment, simply because the controling forces are different now. $\endgroup$
    – Ichthyo
    Mar 9, 2014 at 19:34
  • 1
    $\begingroup$ Here is a script that converts particles to rigid bodies, maybe that can help. blenderartists.org/forum/… $\endgroup$
    – cybrbeast
    Mar 10, 2014 at 9:01

2 Answers 2

4
$\begingroup$

one partial and approximate solution is to use the harmonic forces as a self-effect on the particle system. Here, "harmonic forces" means to turn the particles into a set of oscillators, connected by virtual springs. The rest distance is the distance we want to keep between objects.

The key point to note is that this now adds an attraction for particles spaced wider than the rest distance, and that it might lead to wobbling. The latter can be controlled with a high damping factor (at or close to 1 gives us "acyclic damping"). To control the former, judicious use of the maximum distance and the strength and power of the force field is necessary. The result can be further improved by use of charged particles (so they repulse each other) and maybe combine that with invisible, charged objects as external attractors.

Downside of this approach is that the self effect on particles is limited to two forces and that getting the right behaviour can be tricky and insidious. But the largest shortcoming is that there seems to be no way to tie the rest distance to the actual size of the particles, which might vary randomly

$\endgroup$
4
$\begingroup$

There is an add on called Molecular. http://pyroevil.com/molecular-script-download/. It makes the particles act as rigid bodies. The particles can be linked to each other as well.

Here is a little teaser trailer the creator made: https://www.youtube.com/watch?v=_5QkPnPDcfc. I hope this helps!

$\endgroup$

You must log in to answer this question.

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