xpCirclePacker implements a circle-packing routine, which will pack as many particles as possible into a defined space without them overlapping.


You can use any Emitter Shape, but some work better than others; the Rectangle, Circle, and Ellipse settings pack the particles into the space defined by the emitter boundary.

If you use a Sphere or Box setting, the particles are packed into the volume defined by the emitter.

You can use the xpCirclePacker when emitting from the Object setting, so you can use all the modes available there, but Emit From the Polygon Center and Points modes are not very useful.

Best results are obtained with Polygon Area or Texture emission.

xpCirclePacker_03.png

The image on the left has a collection of particles from xpEmitter, whilst the right-hand image has xpCirclePacker added, with the Display Mode is set to Filled Circles.

Be aware that the object will delete any particles which can't be fitted into the space at the point where they are generated.

This has an effect on the number of generated particles, which becomes more and more apparent as the space becomes filled.

For example, if you have a Birthrate value of 1000 and a frame rate of 25 frames per second, you would normally expect to see 1000 particles after 25 frames.

The xpCirclePacker, however, may have to delete some of them, so you may end up with far fewer.

For this reason, to pack a space in reasonable time may require that you increase the Birthrate value substantially.

You can use any modifier with these particles but, of course, anything which changes the particle scale or speed will destroy the pattern created.

Note: Killing particles with an xpKill or xpLife modifierĀ or action will not result in new circles being generated to fill the resulting gap.