This page provides information about the Chaos Scatter plugin in V-Ray for Cinema 4D.


Overview



Chaos Scatter is a powerful instancing and distribution tool that allows you to easily populate scenes with selected objects. This is especially useful for outdoor scenes that need to be filled with greenery, rocks, grass etc. Scatter allows for great control over the instances as well - you can customize and randomize your scene easily.


UI Path: ||V-Ray|| > Chaos Scatter




Workflow



Here are a few steps to get started with Chaos Scatter. See the video for more.

  • Add scatter objects by nesting them inside the Chaos Scatter Object as children, in the Objects panel. You can then adjust their Frequency in the Objects tab.
  • Add an object to scatter on by adding it to the Distribute On list. Either by using the eyedropper tool or by dragging and dropping the object directly in the list. You can then adjust its Factor.
  • Adjust the instances' position, rotation and size using the Transformations tab.
  • Change the number of scatters from the Surface Scattering Count option.
  • Define the scatter region using the Area tab. You can assign splines and scatter either inside or outside of them.
  • Use the Slope from and Slope to parameters to remove instances in steeper areas.



Parameters



Object


Distribute On – List of scene objects used as the base for distributing the scattered instances.

Factor – This option is visible when an object is added to the list. If the scattering is defined just by the Surface Scattering 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 Children – List of scene objects which are being scattered on the distribute-on objects.

Frequency – This option is visible when an object is added to the list. Available only if there is more than one instanced object. Sets the frequency of the currently selected instanced object relative to others.

If you want to manually input a value for the Factor or Frequency parameters, click on the arrow to expand the options.



Config


Max limit – Limits the maximum number of scattered instances. Note that there is always another mode-dependent parameter (spacing, density, or count) that 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.

Random seed – Generates a random value, based on the given number to determines the particular random distribution used. Changing the value makes random permutations of the scattered objects.

Scattering mode – Allows selecting between different scattering modes. See the Scattering mode example for a visual representation.

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.

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.




Example: Scattering mode


Scattering mode = 1D - on splines

Scattering mode = 2D - On surfaces

Scattering mode = 3D - In bounding box


Camera clipping


Enabled – When enabled, scattering is limited only to the camera view, and instances that 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.

Mode – Allows to select between different camera clipping methods.

Render Camera – Clips the instances based on the active camera view used for rendering. The clipping is visible in the viewport only when the clipping parameters are changed or if Interactive Rendering is running. This is because, otherwise, the clipping would be too intrusive during regular scene work.
Selected Camera – Uses a selected camera for the clipping. Тhe clipping is always visible.

Camera – Determines which camera to use, when the clipping mode is set to Selected Camera.

Extend View – Specifies a uniform extension to the camera view in all directions, in centimeters. Adds an extra zone beyond the camera view and behind the camera, where the instances are not clipped. This is useful for ensuring correct shadows or reflections from instances that would otherwise be clipped.

Near/Far clipping – When enabled, allows using the Near and Far Distance parameters to control the camera clipping extension.

Near Distance – Specifies the near threshold distance from the camera, in centimeters. Instances closer than this distance are clipped away.

Far Distance – Specifies the far threshold distance from the camera, in centimeters. Instances farther than this value are clipped away.



Surface Scattering


Distribution mode – Allows selecting between different distribution modes.

Random – Scatters randomly on all mesh and closed spline distribution objects.
UV – Uses the distribution objects' UVW mapping to scatter the instances in regular patterns.

The options from Count to Distribution are only available when the Distribution mode is set to Random.

Count – Defines an exact number of instances to scatter overall. When the Per square option is enabled, scatters instances per area, defined by density. The number is always limited by the Config 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 Config Max. limit option. The specified value is the edge length of a square, which defines an area for computing the scatter density.

Distribution – Specifies a texture map or shader used for instance distribution. White areas of the texture are treated as maximum density, and black areas are treated as areas with no instances.

The options from Pattern to Lock V are available only when the Distribution mode is set to UV.

Pattern – Allows to select between different distribution patterns.

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

Use planar mapping – When enabled, simple planar UVW mapping is applied to the distribution object and used instead of its existing UVW channel.

Spacing U – Scales the pattern in the U axis - 100% spacing makes the pattern occupy the whole 0-1 UV space; with 50% spacing, the pattern gets repeated 2 times in U.

Spacing V – Scales the pattern in the V axis - 100% spacing makes the pattern occupy the whole 0-1 UV space; with 50% spacing, the pattern gets repeated 2 times in V.

Jitter U – Randomly jitters each instance in the U axis, with 0% being entirely deterministic placement (no jitter) and 100% being entirely random placement.

Jitter V – Randomly jitters each instance in the V axis, with 0% being entirely deterministic placement (no jitter) and 100% being entirely random placement.

Offset U – Offsets the pattern in the U axis. 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.

Offset V – Offsets the pattern in the V axis. 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.

Lock V – Locks the V coordinate for Spacing, Jitter, and Offset to the same value as the U coordinate.

Up Mode – Allows selecting between different modes for the up axis.

Local – The up vector of each individual distribute-on object is used to define the slope limitation.
World – The world Y-axis up vector is used for all distribute-on objects to define the slope limitation.

Slope from/to – These values set the range of angles, measured in degrees, between either the Local or the World up vector and the surface normal. Determines how steep the surface can be, before instances are filtered out. Instances scattered outside of this range are erased.


Transformations


TRANSLATION

From/To – Specifies the translation range for the X, Y, and Z axes, in world units.

Texture – Specifies the texture map or shader to use for translation.

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

Step in X, Y, Z – Defines the axes affected by the Stepping value.


ROTATION

From/To – Specifies the rotation range for the X, Y, and Z axes, in degrees.

Texture – Specifies the texture map or shader to use for rotation.

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

Step in X, Y, Z – Defines the axes affected by the Stepping value.

Normal vs. Y – Defines the instanced object's orientation, using the base object's normals. A value of 1 means instanced objects remain vertical, regardless of the base object's normals direction, while a value of 0 means instanced objects are oriented according to the base object's normals.

Preserve model rotation – When enabled, instances preserve the original rotation of their models (instanced objects). Otherwise, the original rotation is ignored.


SCALE

From/To – Specifies the scale range for the X, Y, and Z axes, in percent.

Texture – Specifies the texture map or shader to use for scaling.

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

Step in X, Y, Z – Allows defining the axes affected by the Stepping value.

Uniform – 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.



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. See the example for a visual representation.


Additional Spline include/exclude options. These options are visible when an object is added to the list.

Near/Far – Falloff distance from the selected spline projected to the selected axis plane. Up to this distance all instances get included or excluded, depending on the type of the list. Scale and density of instances between the Near and Far falloffs change linearly - from 1.0 to 0.0 in the case of inclusion and contrariwise in the case of exclusion.
Scale – Scale multiplier affecting instances between the Near and Far .
Density – The density factor, affecting instances between the Near and Far.
Axis – Determines which axis to project the spline include/exclude areas.




Example: Spline includes/excludes

See the scattered instances when the Circle spline is added to the Spline includes list and to the Spline excludes list.


Includes
Excludes


Viewport Display


Display mode – Determines 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.

Max instances – Maximum number of scattered instances 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.

Immediate updates – Forces re-computation of the scattering.