This page provides information on using Chaos Scatter with Corona for 3ds Max. 

You are viewing a technical documentation of Chaos Scatter for Corona for 3ds Max. To learn more about usage examples, troubleshooting, and using Chaos Scatter with other features of Corona, please see this Help Center article.


Overview


Chaos Scatter lets you quickly and efficiently populate surfaces, splines, and volumes with vast numbers of objects. Its major features include:


  • A library of ready-to-use presets available in Chaos Cosmos
  • Ability to edit individual instances
  • Slope and altitude limiting for the scattered instances (no trees growing out of cliffs!)
  • Edge trimming (removing any elements of scattered models which stick outside of the defined area)
  • Including/excluding scattering areas using splines (closed or open)
  • Surface color map (coloring scattered instances based on pattern textures on rugs, etc.)
  • Limiting scattering only inside camera field of view (camera clipping)
  • Efficient viewport display
  • and more...

We are constantly developing Chaos Scatter! For our future plans, see Scatter Tentative Road Map - 3ds Max

In case of using Corona 8 or newer and opening a scene made with Corona 7 or olderany legacy Corona Scatters in that scene will be automatically converted to Chaos Scatters. Because of multiple improvements in Chaos Scatter and changes in the way it works, the rendered results may differ between the older and the newer version of the scene. 

UI Path: ||Scatter Toolbar|| > Chaos Scatter button

||Scatter Toolbar|| > Chaos Scatter button


||Command panel|| > Create tab > Geometry > Chaos Scatter > ChaosScatter button





Tutorial: Using Chaos Scatter with Corona for 3ds Max


Objects


Distribute-on target objects – List of scene objects used as the base for distributing the scattered instances.

"+" button - Allows picking scene objects.
"-" button
- Removes the highlighted object from the list.
"[...]" button
– Opens a dialog where you can manually add and remove scene objects to the list.

Factor – Available only in Random Surface and Bounding Box scattering. In either case, if the scattering is defined just by the Count option, it works as a relative weight factor determining how many instances get scattered for the currently selected distribute-on object. Alternatively, in case of scattering instances to reach some density defined by Count and Per square/cube options, it works as a density factor (multiplier) affecting the final density there.

Instanced model objects – List of scene objects which are being scattered on the distribute-on objects.

"+" button - Allows picking scene objects.

This list also accepts groups and hierarchies consisting of multiple objects. Each group or hierarchy is treated as a single model. In case of multi-level hierarchies, you can pick sub-hierarchies as well. In case of multi-level groups, only the top level is always considered. 

 
"-" button - Removes the highlighted object from the list.
"[...]" button – Opens a dialog where you can manually add and remove scene objects to the list.

 Frequency – Available only if there is more than one instanced object. Sets the frequency of the currently selected instanced object relative to others.



Examples: Objects



 

In case of scattering trees on the ground, the tree models are used as Instanced model objects and the ground plane is used as the Distribute-on target object.



 

A group consisting of multiple objects (shown in the top-right corner) scattered on top of a plane. You can scatter object hierarchies too. 


Display & Limits


Viewport 

Instances

Previz type – Selects how to display scattered instances in the viewport. Affects viewport performance.

None – Instances are not displayed at all.
Dot – Each instance is displayed as a single dot.
Box – Each instance is displayed as a solid box.
Wire box – Each instance is displayed as a wire box.
Full – Each instance is displayed as the full mesh.
Point cloud – Displays each instance as a point cloud.

Max instances – Maximum number of scattered instances being displayed in the viewport. When this limit gets exceeded, some instances are randomly hidden. If increasing this number would display more instances, the label is colored.

Max polygons – Maximum number of polygons (forming scattered instances) being displayed in the viewport. When this limit gets exceeded, some instances are randomly hidden. If increasing this number would display more instances, the label is colored.

Points – Percentage of points to display when Point cloud representation is selected in the Previz type selection.

Original wire colors – Selects whether to use wire colors of original instances objects when displaying their instances as dots, point clouds, or wire boxes in the viewport.


Icon size – Sets the display size of the selected Scatter object's gizmo.

Update automatically – When disabled, scattering is not recomputed if any of the distribute-on/instanced objects change. The scattering is always recomputed if any parameters of the Scatter object itself change, regardless of this option. 

Update now – Forces recomputation of the scattering.

Limits

Max instances – Limits the maximum number of scattered instances. Note that there is always another mode-dependent parameter (spacing, density, or count) which determines how many instances to scatter. This parameter is intended as a constant value "safety measure" to prevent crashes/freezes from scattering too many instances, e.g. when setting the density too high.



ExamplesDisplay & Limits



Previz Type

None

Dot

Box

Wire box

Full

Point cloud



Scattering


Scatter Lister – Shows a lister allowing to inspect and control all Scatter objects in the scene.

Enable – Enables the scattering.

Scattering type drop-down:

1D - On splines – Scatters instances along splines. Works with both open and closed splines.
2D - On surfaces – Scatters instances on the surface of the selected objects. Works with closed splines too, treating the spline area as the surface to scatter on.
3D - In bounding box – Scatters instances inside the bounding boxes of the selected objects.

Random seed – Determines the particular random distribution used. Changing the value makes random permutations of the scattered objects.

Temporal consistency – When enabled, instances get scattered in the selected Rest-pose frame and stick to the surface even if it deforms in other frames. When disabled, instances get scattered in each frame from scratch, which may lead to instances popping in and out. If it is combined with the Avoid collisions option, non-colliding instances in the Rest-pose frame are still allowed to collide in other frames.

Rest-pose frame – Specifies the frame with which the scattering is consistent at all other frames.

Avoid collisions – When enabled, the instances which collide with other ones are discarded, resulting in no overlaps between instances. Note that when using this feature, the real number of created instances may be lower than the number specified in the settings.

Spacing – This value is a multiplier for enlarging/shrinking the bounding boxes used to detect and remove collisions of the scattered objects. Use lower values to achieve a higher density of the scattered objects at the cost of some minor collisions. Use higher values to keep scattered objects farther apart from each other.



Examples: Scattering



Scattering mode: 1D - On splines

Scattering mode: 2D - On surfaces

Scattering mode: 3D - In bounding box



Camera Clipping


Enable – When enabled, scattering is limited only to the camera view and instances which are not visible are clipped away. It is an optimization - it may improve scene parsing performance and lower memory requirements, however it can cause missing reflections/shadows. To compensate for this you can use the Extend view parameter.

Active render camera – Clips the instances based on the camera view used for rendering. The clipping is not visible in the viewport, unless changing clipping parameters or running IR. This is because otherwise the clipping would be too intrusive during regular scene work.

"None" object picker – Uses a selected camera for the clipping. In this case, the clipping is always visible.

Extend view – Specifies a uniform extension to the camera view in all directions (as distance), adding an extra zone beyond the camera view (behind the camera too) where the instances are not clipped. This is useful for ensuring correct shadows or reflections from instances that would otherwise be clipped.

Near and Far overrides – Specifies the near and far threshold distances from the camera. Instances close than the "near" value and farther than the "far" value are clipped away.



Examples: Camera Clipping



Camera clipping disabled

Camera clipping enabled

Camera clipping enabled and "Extend view" set to 5 meters

With camera clipping disabled, the ground plane is fully covered with the scattered instances. When camera clipping is enabled, it limits the instances to the visible area only. The Extend view option can be used to expand the area where the instances are visible. This is useful, for example, to make sure that trees growing close to the camera are not removed.

If you ever observe the colors of the instances changing when enabling the camera clipping option, make sure that in your Scatter object, under its Scattering rollout, you have the Legacy mode checkbox disabled. Enabling this checkbox reverts to the behavior of older Scatter versions, which can cause the color changing issue.



Surface Scattering


Random distribution – Scatters randomly on all mesh and closed spline distribution objects.

Count – Defines an exact number of instances to scatter - either overall, or per area in the case of scattering defined by density (Per square option). The number is always limited by the Max. limit option.
Per square – When enabled, the number of instances to scatter is defined by density (Count per square having the given edge length). The number of instances is always limited by the Max. limit option. The specified value is the edge length of a square defining an area for computing the scatter density. The length is measured in world units.
Map – Specifies a texture map used for instance distribution. White areas of the texture are treated as maximum density and black areas are treated as areas with no instances.

UV map – Uses the distribution objects' UVW mapping to scatter the instances in regular patterns.

Pattern – Choose which pattern to use for scattering:

Grid Rectangular grid.
Running grid – Rectangular grid with every other row offset by half of the grid spacing.
Hex grid – Hexagonal point arrangement.

UV Channel – Specifies which of the UV channels of the distribution objects to consider.
Override by planar mapping – When enabled, simple planar UVW mapping is applied to the distribution object and used instead of its existing UVW channel.
Lock V – Locks the V coordinate for Spacing, Jitter, and Offset to the same value as the U coordinate.
Spacing – Scales the pattern in UV space - 100% spacing makes the pattern occupy the whole 0-1 UV space; with 50% spacing the pattern gets repeated 2 times in both U and V, etc.
Jitter – Randomly jitters each instance in the the U or V axis, with 0% being entirely deterministic placement (no jitter) and 100% being entirely random placement.
Offset – Offsets the pattern in the UV space. Each 100% added or subtracted moves the pattern by one entire repetition - which means that e.g. 0% and 100% offsets yield the same result.

Slope Limitation – Enables instances limitation in the given slope range. 

Angle – Defines the range of angles, measured in degrees, between either the "Local" or the "World" up vector and the surface normal, to which scattering is limited. Instances scattered outside of this range get filtered out. 

Local / World – Specifies which coordinate space to use when computing the slope limitation. Coordinate space of each individual distribute-on object is used when "Local" is selected, and world coordinate space is used for all distribute-on objects when "World" is selected. 

Altitude Limitation – Enables instances limitation in the given altitude range. 

Range Defines the range of altitude units either in the "World" or "Position Independent" mode. 

World / Position Independent – Specifies which mode to use when computing the altitude limitation. In "World" mode the altitude of the surface points on each individual distribute-on object is evaluated in world space (after all transforms). In "Position independent" mode the altitude of the surface points on each individual distribute-on object is evaluated relative to the object center, while the object rotation and scale still affect the altitude. 

Falloff Curve – Opens a falloff curve editor. This allows specifying the density of the scattered objects depending on their altitude. Lowering the point on the left side of the curve results in lowering the density of the objects closer to the minimum altitude range. Lowering the point on the right side of the curve results in lowering the density of the objects close to the maximum altitude range. 

Edit Instances – Switches to Instances sub-object mode, allowing you to override individual instances in the viewport. You can move, rotate, scale, or delete them. It is not effective in a greater scale, but may serve well for final touches in small amounts of instances.

Convert to Max geometry – Replicates this scatter using 3ds Max instances. This is usable only for a small number of objects.



Examples: Surface Scattering


Random distribution

The trees are distributed randomly. 

UV map distribution

The trees are distributed in a grid-like pattern. 

UV map distribution with Slope limitation from 0 to 20 degrees

The trees are distributed in a grid-like pattern and are only growing in the 0-20 degrees range. 

Scattering with no altitude or slope limitations

The trees are uniformly covering the surface. 

Slope limitation from 0 to 45 degrees

The trees are only growing in the 0-45 degrees range. 

Slope limitation from 15 to 45 degrees

The trees are growing only in the 15-45 degrees range. 

Scattering with no altitude or slope limitations

The trees are uniformly covering the surface. 

Altitude limitation from 0 to 15 meters

The trees are growing only in the 0-15 meters range. 

Altitude limitation from 0 to 15 meters. Falloff Curve resulting in less instances in the lower areas.

The trees are growing only in the 0-15 meters range. The curve makes the scattering less frequent in the lower areas. 

Altitude limitation from 0 to 15 meters. Falloff Curve resulting in less instances in the upper areas.

The trees are growing only in the 0-15 meters range. The curve makes the scattering less frequent in the higher areas. 

Scattering on a torus. Slope limitation from 0 to 45 degrees.

The trees are growing only in the 0-45 degrees range. 

Scattering on a torus. The torus object is rotated. Slope limitation from 0 to 45 degrees. Mode set to "World".

The torus object is rotated. With the "World" mode enabled, the trees are growing only in the 0-45 degrees range calculated within the world coordinate system. 

Scattering on a torus. The torus object is rotated. Slope limitation from 0 to 45 degrees. Mode set to "Local".

The torus object is rotated. With the "Local" mode enabled, the trees are growing only in the 0-45 degrees range calculated within the torus object's local coordinate system. 



Altitude limitation from 0 to 15 meters.

The trees are growing in the 0-15 meters range. 

Altitude limitation from 0 to 15 meters. The object is moved higher. "World" mode.

The distribute-on object is moved higher. With the "World" mode, the trees are growing in the 0-15 meters range calculated within the world space regardless of the distribute-on object's position. 

Altitude limitation from 0 to 15 meters. The object is moved higher. "Position Independent" mode.

The distribute-on object is moved higher. With the "Position Independent" mode, the trees are growing in the 0-15 meters range calculated within the distribute-on object's space. 




Transformations


Translation

From - To – Specifies the translation range for X, Y, and Z axes, in world units.
Map – Specifies the texture map to use for translation.
Mode – Decides how the Map is interpreted to control the translation. RGB maps can be used to control translation in specific axes. Grayscale maps control translation proportionally in all axes.

Map fixed – Black areas of the map represent the From values. White areas represent the To values. Map areas with shades between black and white represent the values between From and To. No randomization occurs.
Random amount – No randomization occurs in black areas of the map. Full randomization occurs in white areas of the map. From and To values specify the lowest and highest translation allowed for the randomization.

Stepping distance – When nonzero, switches the random translation from a continuous to a discrete one, with steps specified by this parameter value. The From and To are still used as bounds. This effect is used only for the selected axes.

Rotation

From - ToSpecifies the rotation range for X, Y, and Z axes, in degrees.
MapSpecifies the texture map to use for rotation.
ModeDecides how the Map is interpreted to control the rotation. RGB maps can be used to control rotation in specific axes. Grayscale maps control rotation proportionally in all axes.

Map fixed – Black areas of the map represent the From values. White areas represent the To values. Map areas with shades between black and white represent the values between From and To. No randomization occurs.
Random amount – No randomization occurs in black areas of the map. Full randomization occurs in white areas of the map. From and To values specify the lowest and highest translation allowed for the randomization.

Stepping angleWhen non-zero, switches the random rotation from a continuous to a discrete one, with steps specified by this parameter value. The From and To are still used as bounds. This effect is used only for the selected axes.
Normal vs. Z – Controls the alignment of instances to the surface normals. It blends the surface normal (value of 0) with +Z when the value is above 0, or with -Z when the value is below 0.
Preserve model rotation – When enabled, instances preserve the original rotation of their models (instanced objects). Otherwise, the original rotation is ignored.

Look At – When enabled, instances in a range get turned towards a specified direction.

Target object – Pick an object according to which the direction is calculated. When a geometry object is picked, each instance gets oriented towards the center of the object's bounding box. When a camera object is picked, each instance gets oriented towards the camera. 
Look axis – Selects which of the object's axes gets turned towards the direction.
Reverse – When enabled, the reverse of the selected axis gets turned towards the direction.
Horizontal – When enabled, the selected look-at axis gets turned only within the plane which is perpendicular to the normal.
Falloff distance – Specified the range in which instances get affected by the look-at specifications. When non-zero, only the in-range instances get affected; otherwise, all the instances get affected. There is no effect when a sun object is picked. The way how the instances get affected is determined by the falloff curve. 
Falloff Curve – Opens a falloff curve editor. The curve specifies how the strength of the look-at effect varies across the falloff distance. Lowering the point on the left side of the curve results in lowering the strength closer to the target. Lowering the point on the right side of the curve results in lowering the strength close to the falloff distance. 

Scale

From - ToSpecifies the scale range for X, Y, and Z axes, in percent.
MapSpecifies the texture map to use for scaling.
Mode – Decides how the Map is interpreted to control the scale. RGB maps can be used to control scale in specific axes. Grayscale maps control scale proportionally in all axes.

Map fixed – Black areas of the map represent the From values. White areas represent the To values. Map areas with shades between black and white represent the values between From and To. No randomization occurs.
Random amount – No randomization occurs in black areas of the map. Full randomization occurs in white areas of the map. From and To values specify the lowest and highest translation allowed for the randomization.
LegacyFrom and To values decide about the overall randomization and are then multiplied by the values of the Map. This means that black areas of the map are always interpreted as zero scale.

Stepping percentageWhen non-zero, switches the random scaling from a continuous to a discrete one, with steps specified by this parameter value. The From and To are still used as bounds. This effect is used only for the selected axes.
Uniform scale – When enabled, instances get scaled in all axes using the values for the X axis. When disabled, each axis uses independent values.
Preserve model scale – When enabled, instances preserve the original scale of their models (instanced objects). Otherwise, the original scale is ignored.



Examples: Transformations



No randomization

The positions, rotation, and scaling of the tree objects is not randomized. 

Randomized translation

The trees are randomly translated. 

Randomized rotation

The trees are randomly rotated. 

Randomized scale

The trees are randomly scaled. 


"Look at" disabled.

With the "Look at" option disabled, the 3D people are facing random directions. 

"Look at" enabled.

With the "Look at" option enabled, all the 3D people are facing the teapot object. 

"Look at" enabled. "Horizontal" option disabled.

With the "Horizontal" option disabled, the 3D people are not only rotated horizontally towards the teapot, but all their rotation axes are affected making it look as if they were about to fall. 

"Look at" enabled. "Reverse" option enabled.

With the "Reverse" option enabled, the look-at direction is reversed. 

"Look at" disabled.

With the "Look at" option disabled, the 3D people are facing random directions. 

"Look at" enabled. Falloff distance set to 8 meters.

With the look-at falloff distance set to 8 meters, any 3D people farther away than 8 meters from the teapot object are no longer affected by the "look at" effect and are rotated randomly.  

"Look at" enabled. Falloff distance set to 25 meters. Custom curve enabled.

With the look-at falloff distance set to 25 meters and a custom falloff curve, there is a gradual transition from the people looking directly at the teapot (close to the teapot) to fully randomized rotation (25 meters from the teapot and farther away). 

Areas


Spline includes – A list of splines where the instances are allowed to be scattered.

Spline excludes – A list of splines where the instances are not allowed to be scattered.

Spline include/exclude options

Near - Far – Falloff distance from the selected spline projected to the selected axis plane up to which all instances get included or excluded, depending on the type of the spline. Scale and density of instances between the near and far falloffs change linearly - from 1.0 to 0.0 in case of inclusion, and contrariwise in case of exclusion.
Scale – Scale factor further affecting instances between the near and far falloffs.
Density – Density factor further affecting instances between the near and far falloffs.
Projection – Based on which axis to project the spline include/exclude areas.



Examples: Areas



Spline include

Spline exclude

Spline exclude - Near: 5m, Far: 10m, Scale: 0.5



Spline Scattering


This rollout is only available when "1D - On splines" mode is selected in the Scattering rollout.

Spacing – Sets spacing between scattered instances measured in world units.

Jitter – Randomly jitters every instance along the spline. The value means how much of the Spacing (half on each side) can be used to jitter around original position of each instance, e.g. 200% means that every instance jitters by up to the entire Spacing on the left and the entire Spacing on the right.

Offset – Moves all scattered instances along the spline. The value means by how much of the Spacing the instances shall move, e.g. 100% moves the first instance by entire Spacing so that it appears instead of the second one, the second one instead of the third one, etc.

Follow spline – Controls how scattered instances get oriented along the spline. With default 100% instances follow the spline and are oriented along local tangent direction. For 0%, instance orientations are unchanged.

Edit Instances – Switches to Instances sub-object mode, allowing you to override individual instances in the viewport. You can move, rotate, scale, or delete them. It is not effective at a greater scale, but may serve well for final touches of small amount of instances.

Convert to Max geometry – Replicates this scatter using 3ds Max instances. This is usable only for a small number of objects.



Bounding Box Scattering


This rollout is only available when "3D - In bounding box" mode is selected in the Scattering rollout.

Count – Defines an exact number of instances to scatter - either overall, or per a volume in the case of scattering defined by density (Per cube). The number is always limited by the Max. limit.

Per cube – When enabled, the number of instances to scatter is defined by density (Count per cube having the given edge length). The number of instances is always limited by the Max. limit. The value specifies the edge length of the cube defining a volume for computing scattering density (Count, Per cube). The length is measured in world units.

Edit Instances – Switches to Instances sub-object mode, allowing you to override individual instances in the viewport. You can move, rotate, scale, or delete them. It is not effective in great scale, but may serve well for final touches of small amount of instances.

Convert to Max geometry – Replicates this scatter using 3ds Max instances. This is usable only for a small number of objects.



Info


Stats

Instances – The total number of instances generated by the currently selected Scatter.
Polygons – The total number of polygons generated by the currently selected Scatter.

About Chaos Scatter – Shows the exact version of the currently installed Chaos Scatter plugin.



Chaos Scatter Maps



Edge Trimming Map


Default map – If a material is using some opacity texture in addition to the Edge Trimming map, this texture can be defined here.

The Edge Trimming Map can be used to trim the scattered objects so that they stay within the boundaries of the distribute-on objects or the include/exclude splines.
To learn more, see: How to use Chaos Scatter with Corona for 3ds Max

UI Path: ||Material Editor|| > Material/Map Browser > Maps > Chaos Scatter > ChaosScatterEdgeTrimming

||Material Editor|| > Material/Map Browser > Maps > Chaos Scatter > ChaosScatterEdgeTrimming



Examples: Edge Trimming Map


Edge Trimming Disabled
Edge Trimming Enabled

Surface Color Map


Source

Custom map – Uses a custom map as the surface color. You can then randomize this map's hue and gamma using the built-in controls.
Surface diffuse/base map
– Automatically uses the distribute-on object's diffuse/base map.

Hue random – Controls randomization of the resulting color hue. The value specifies maximal distance from the original hue (in range of 0-100%) where 0% disables hue randomization and 100% applies maximal hue randomization.

Gamma random – Adds additional randomization of mid-tones (gamma) to the result (in a range of 0-100%), where 0% disables randomization and 100% applies maximal reasonable gamma randomization.

The Surface Color Map automatically takes the diffuse color of the Chaos Scatter distribute-on object and passes it to the instances which are scattered on it. The map itself takes only the distribute-on diffuse color, but it can be applied to any material property of the scattered instance (e.g. roughness, opacity, self-illumination, or any other).
To learn more, see: How to use Chaos Scatter with Corona for 3ds Max  

UI Path: ||Material Editor|| > Material/Map Browser > Maps > Chaos Scatter > ChaosScatterSurfaceColor

||Material Editor|| > Material/Map Browser > Maps > Chaos Scatter > ChaosScatterSurfaceColor


Examples: Surface Color Map


Scattering disabled
Scattering enabled




Was this helpful?