clones intersecting


any way to prevent clones intersecting each other when set to distribute randomly across the surface of another object?

they’re fairly detailed and need to stay upright, I cant just drop them with dynamics unfortunately


You can still use dynamics and not have them affected by gravity etc, just set the Follow Position to be a value such as 1, and potentially follow rotation, then set linear damping to be 100% (and maybe angular damping).

Alternatively you could use a MoGraph Selection to remove unwanted clones that overlap manually, or build a COFFEE Effector for the job.


i would love the coffee effector thing…but no one knows how to do that…well other than maybe you. :stuck_out_tongue:


I guess for the COFFEE part, the theory is to create an array for the coordinates of the clones, compare each to see if they are within a certain distance from each other, then remove one of them from the mograph selection. Might have to see the documentation on how to access all these parameters. >.>


it’s bizarre that this isn’t a standard option, there must be hundreds of situations where this is needed :curious:


just don’t forget to fill out the feature request :smiley:


Surface Spread has a minimum distance parameter.


The dynamics/follow position thing Per mentioned is super easy, and does what you want, so it is a standard option. I use it all the time. Admittedly, its not intuitively obvious… but once you are clued in… :hmm:



Sorry to beg… but could you guys post a simple scene showing non intersecting objects?


Happy to oblige:


Things to look for:

  • Press play to see the effect

  • See on cloner, dynamics tag > Force > Follow position setting, and dynamics tag > Collision > Individual elements > Top level

  • note no gravity in this scene, but there could be…



workaround is what I’d call it, what’s wrong with just having a tickbox giving you the option to not have clones go through each other

cheers for the example though


I found my tickbox :smiley:

random effector with visibility ticked


OK, Just for you guys here is a COFFEE effector with three methods that you can use to avoid overlap based on a radius set in the Effector.

The controls are:

Radius - Controls the minimum radius between the clones.

Method - Options are:
Hide - Hides the clones that overlap other clones
Offset Along Z - Moves the clones out along Z creating stacked clones
Push Apart - Pushes the clones apart from each other

Push Apart Iterations - Repeats the action this number of times for when once isn’t enough to get a good effect.

This is an R12 file only. Enjoy.


you sir, are a genius :buttrock:

this thread needs sticking somewhere so it doesn’t get buried :smiley:


wicked! thanks per!


Fantastic! :applause:

This should be built-in as an effector type!


Is it possible to re-write that code without using those Bitwise operators?
Or is there no other way to write this without using them?



…and for those of us who don’t have R12 and can’t use that scene file… here’s Per’s effector in R11.5 format:)

Thanks for whipping this up Per:)



The flags are bits, so that’s why you’d want to use the bitwise operators to set them, it’s the fastest and cleanest possible route. They match up to the MODATAFLAG’s found in the C++ API (there are no COFFEE constants for them unfortunately currently).


Hi !

First of all thank you Per for this great effector !

Sorry if i’ve missed the tip somewhere around but how on earth can i add this effector to the others ones in the mograph menu ?


Sorry for my cheap english