home about gallery publications education links contact

..::scattering objects on a sphere::..

Note from the author: This article was written with 3ds max 3.x in mind. Due to software improvements, bug fixes, user interface amendments and added features, some items listed below may not apply to 3ds max after version 3.x...

The way to remember is that the scatter compound object is only as good as the distribution object. If you are looking for an even spread, design the distribution object to have an even spread of vertices and faces. Faces are not recommended as the distribution method due to there being two triangular faces per square polygon, so even though a distribution surface may look perfect, often the amount of objects will be double than what you initially expected!

An ideal distribution object would not be any normal sphere primative as the faces and vertices are pinched at the top and bottom, therefore a sphere with no pinching should be created. Create a box primative of equal length, width and height with, say, five segments per side, then add a spherify modifier. Increase the amount of segments to refine the geometry if required, but keep each side's amount equal.

With the geometry to be scattered selected, create a scatter compound object and select the 'box' as the distribution object, with 'perpendicular' and 'all vertices' as the distribution method. Granted, this isn't perfect due to there being some pinching still in the distribution object, so some manual rotating and removal of scattered objects may be required by adding an Edit Mesh Modifier. Alternatively, instead of using a refined box as the distribution type, try using a geosphere primative as these have equally-spaced vertices. Again, some manual adjusting may be required due to the distribution pattern of the geosphere primative.

Creating such an array is tricky due to the shape if the object to scatter and the distribution object shape; you may end up with gaps where corners do not always meet. Also, if a layered pattern around the distribution object is required, the amount of scattered objects across the distribution object's 'equator' is greater than further towards the 'poles'. To do this, take a step back and use snapshot instead of scatter. Create circle splines the correct width and distance apart up and down a sphere primative (as reference), or by extracting edges as splines from the sphere using an Edit Mesh modifier, assign a path motion controller to the object to scatter and select the circle as the object's path (some tweaking of rotation may be required to align the object with the contour of the reference sphere). With 'constant velocity' and 'follow' checked, use the Snapshot tool to clone the object over it's full rotation of the path, increasing the amount of cloned objects to fit. Repeat the procedure for more circles up and down the reference sphere until it is totally covered. This way you have more control over the amount of objects and their placing.

Alternatively, there is a freeware Scatter Utility plugin available at www.max3dstuff.com which is very handy for this task...

Enlarge Screenshot Snapshotting an object on a path can give you more control on how objects are placed around the sphere, manually avoiding intersections.
Enlarge Screenshot You can have more control over the distribution of the scattered objects by using a Scatter Utility plugin, which even allows for multiple objects!

Initially published: 3D World website, June 2000.

Copyright Pete Draper, June 2000. Reproduction without permission prohibited.