Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides information about Chaos Scatter integration in V-Ray for Maya.


Progress Bar Container
step1

Progress Bar - Hyperlink Step
titleOverview
urlChaos Scatter
 
Progress Bar - Hyperlink Step
titleCurve Scattering
urlCurve Scattering
 
Progress Bar - Hyperlink Step
titleSurface Scattering
urlSurface Scattering
 
Progress Bar - Hyperlink Step
titleAdvanced Surface Scattering
urlAdvanced Surface Scattering
 
Progress Bar - Hyperlink Step
titleBounding Box Scattering
urlBounding Box Scattering
 
Progress Bar - Hyperlink Step
titleAdvanced Scatter Features
urlAdvanced Scatter Features



Overview

...


Section
Column
width45%

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.

See the video for an example workflow. 


UI Expand
titleUI Paths
Section
Column
width50%

UI Path: V-Ray menu > Chaos Scatter

Image AddedImage Removed

Column
width50%

UI Path: V-Ray shelf > Chaos Scatter button

Image RemovedImage Added

 

 




 
Column
width5%


Column
width50%
HTML
<iframe width="560" height="315" src="https://www.youtube.com/embed/PrsrmKYIwYU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

...


Workflow

 

...


Section
Column
width45%

To use Chaos Scatter within Maya, go to the V-Ray shelf and click the Chaos Scatter button.

Add your target object in the Targets Objects field. These are the objects that have models scattered over them.

Then, add the scattering object into the Models field - this is the model that scatters over.

You'll see the result immediately in the viewport.

Column
width5%

 


Column
width50%

Objects

...

Section
Column
width55%

Chaos Scatter accepts mesh objects, proxies and Volume Grid as Models and Targets.

TargetsTargets * – Specifies the object(s), on which the instances are scattered. Targets can be mesh objects, curves (including splines) and proxies.

UI Text Box
typenote

Bezier curves are not supported yet.

Factors – This option is only available when On Surfaces scattering is set to Random distribution or the scattering mode is set to 3D - In Bounding Box. Determines how many instances are scattered on the currently selected Targets object(s). Note that for the Factors option to work correctly, you need at least two target objects.

Models * – ModelsSpecifies the objects which are scattered on the Targets object(s). Models can be mesh objects, proxies, Volume Grid, and lights.

Frequencies – This option is only available when there are more than one Models objects. Determines the frequency of the currently selected instanced object in relativity to the others.

Column
width5%

Column
width40%

Scattering

...

...


Section
Column
width55%

Enable – Enables scattering.

Scatter Type – Specifies in which mode scattering is applied.

1D - On Curves – Scattering mode where objects are scattered along curves. Open or closed curves can be used for this.
2D - On Surfaces – Scattering mode where objects are scattered on surfaces. It doesn't matter if the surface is horizontal, vertical, or if it is part of a complex 3D object. Closed splines can also be used in this mode. In that case, instances are distributed in the area enclosed by the spline.
3D - In Bounding Box – Scattering mode where objects are scattered inside the object's bounding box. Keep in mind that bounding boxes are cube-shaped; therefore, therefore using this mode on a round object scatters instances in a cube around it. This mode is useful when scattering dust particles inside a room, fish in an aquarium, books on a bookshelf, and similar.

Instance Count Limit – Limits the maximum number of instances. Note that this option does not determine how many instances are created. Instead it serves as a measure to avoid scattering too many instances and causing a crash.

Seed – Determines the random distribution used. Changing this value causes random permutations of the scattered objects(s).

Temporal Consistency – When enabled, instances are scattered in the selected Rest-pose Frame and stick to the surface, even if it gets they get deformed in other frames. Otherwise, instances get scattered in each frame separately and that , which might cause anomalies. Note that Temporal Consistency does not work in IPR yet.

UI Text Box
typenote

If the Temporal consistency option is enabled, Avoid collisions does not apply to frames outside of the initial Rest-pose frame.

Rest-pose Frame – Determines the initial frame, where the instances are scattered for all following frames. The specified frame with Rest-pose must correspond to the first frame of the animation.

Avoid Collisions – When enabled, instances that would collide colliding with each other get discarded. This results in no overlaps between instances. Note that enabling this option might lower the number of instances.

Avoid Collisions Spacing – Controls the size of the bounding boxes used ' size to detect collisions. Smaller values result in denser instances with some collision, ; higher values result in larger distances between instances. Values above 1 mean that the distance between objects is larger than their bounding boxes.

Column
width5%

 

Column
width40%

Image Removed

Curve Scattering

Section
Column
width55%

The options in this menu are active when the scattering mode is set to 1D - On Curves.

Spacing – Determines the spacing between instances in scene units.

Jitter – Randomly jitters instances along the spline. Each instance has Spacing applied on both its sides, except the instances at the end of the spline. The Jitter value is divided between those two Spacings. In order to allow instances to jitter in all their Spacing distance, the Jitter needs to be set to 2.

Offset – Determines how much the instances are offset in one direction of the spline. When set to 1, all instances replace the one after them, as the offset is equal to the whole value of the Spacing.

Follow Curve – Determines how scattered instances are oriented along the spline. Assigning a value of 1, makes instances follow the spline and are oriented along the local tangent direction.

Column
width5%
 
Column
width40%

Image Removed

Surface Scattering

Section
Column
width55%

The options in this rollout are active when the scattering mode is set to 2D - On Surfaces.

Distribution – Specifies the distribution mode of the objects.

Random distribution – This mode scatters instances randomly on all mesh objects. It is enabled by default.
UV Map – This mode uses UVW mapping to scatter instances in regular patterns.

Map Channel – Determines which UV map channel is used for the scattering when UV Map Distribution mode is selected.

Map Channel Name – Specifies the UV Map Channel name.

Column
width5%
 
Column
width40%

Image Removed

 

Random Distribution

 

Section
Column
width55%

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 Instance Count 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 Instance Count Limit option.

Square Size – 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.

Density Texture – Allows a black and white texture map to be assigned. The map determines how the instances are scattered on the surface.

Column
width5%

 

Column
width40%

Image Removed

UV Map

Section
Column
width55%

Pattern – Determines a pattern for the scattering.

Grid – Rectangular grid.
Running Grid – Rectangular grid with every other row offset by half of the grid spacing.
Hexagonal Grid – Arranges instances into hexagons.

Lock V – When enabled, the values of the V coordinate for Spacing, Jitter and Offset are locked to the U coordinate's values.

Spacing – Scales the pattern in UV space. When Spacing is set to 1, the pattern occupies the whole space. When Spacing is set to 0.5, the pattern is repeated twice.

Jitter – Determines what percentage of the instances are randomly placed. When Jitter is set to 0, all instances are placed according to the UVW mapping. When Jitter is set to 1, all instances are randomly placed.

Offset – Offsets the pattern by the given value. Keep in mind that 0 and 1 Offset gives the same result, as 1 moves the pattern by one whole repetition.

Column
width5%
 
Column
width40%

Image Removed

Slope Limitation

section

Convert to Maya instances – Instanced geometry is converted into separate, modifiable objects by pressing this button. It is compatible with Maya geometry and lights, V-Ray lights and proxy meshes. After conversion, all objects are grouped in the Outliner, allowing for individual selection.


UI Expand
titleExample: Convert to Maya instances

Convert to Maya instances can be executed as part of a script with "vrayBakeScatterInstances" as the command. A Scatter shape is required as an argument.


Example with MEL script:

Code Block
vrayBakeScatterInstances ChaosScatterShape1;


Example with Python script:

Code Block
maya.cmds.vrayBakeScatterInstances('ChaosScatterShape1')
Section
Column
width55%

Slope Limitation limits scattering only to 'slopes' at certain angles. It can be used to create realistic spread of trees on curved surfaces, for instance. The lower the Angle range is set, the smaller the angle at which scattering stops.

Up Axis – The angles are measured either between the Local Up Axis and the surface normal, or the World Up Axis and the surface normal. You can select which up normal to use:

Local – When enabled, the Slope Limitation is measured according to the up vector of each individual Targets object.
World – When enabled, the Slope Limitation is measured according to the world Y-axis up vector for all Targets objects in the scene.

Min Angle/Max Angle – Defines a range of angles to which the scattering is limited. Instances outside of this range get filtered out.
UI Text Box
typetip

When using the Local Up Axis, freeze the scale of the model.

Column
width5%
 
Column
width40%

Image Removed

 

 

Bounding Box Scattering

 

Column
width55%

The options in this rollout are active when the scattering mode is set to 3D - In bounding box.

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 Instance Count Limit option.

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 Instance Count Limit.

Cube Size – Specifies the edge length of the cube defining a volume for computing scattering density (Count, Per Cube). The length is measured in world units.

Column
width5%

 

Column
width40%

Image Removed

 

 

Transformations

Translation

...

Column
width55%

Moves the instances From the given distance To the given distance on the corresponding axis (in scene units). A Map 1 can be attached. RGB maps can be used to control translations in specific axes (Red = X; Green = Y; Blue = Z). Grayscale maps control all axes proportionally.

Map Mode – Determines how the map is interpreted to control the translation.

Map Fixed – Black areas of the map represent the From values. White areas of the map represent the To values. No randomization occurs.
Random Amount – Black areas of the map do not have any randomization applied. In the white areas of the map full randomization occurs. The From and To values represent the lowest and highest translations allowed for the randomization.

Step – Determines a fixed distance by which all instances translate. If the values is left at zero, instances are translated continuously. Values greater than the difference between To and From result in all instances translating to the value of To.

...

width5%
Column
width40%

Image Removed

The original scatter objects will be hidden upon execution of the command. To bring their visibility back, use Shift+H shortcut or use the following command in MEL:

Code Block
setAttr ChaosScatterShape1.v 1
Column
width5%


Column
width40%

Image Added



Viewport

...


 

Rotation

Section
Column
width55%
Rotates the instances From the given degrees up To the given degrees continuously. A Map 1 can be applied. RGB maps can be used to control the rotation of each axes individually ( Red = X; Green = Y; Blue = Z). Grayscale maps control the rotation of all axes proportionally.

Map Mode – Determined how the map is interpreted to control the rotation.

Map Fixed – Black areas of the map represent the From values. White areas of the map represent the To values. All values in between are on the grayscale spectrum. No randomization occurs.
Random Amount – Black areas of the map have no randomization applied. In white areas of the map full randomization occurs. The From and To values specify the lowest and highest rotation allowed for the randomization.

Step – Determines a fixed degree by which all instances rotate for the enabled axes. If the value is set to 0, instances are rotated continuously. Values greater than the difference between To and From result in all instances rotating to the value of To.

Normal Alignment – When a value different than 0 is entered, the instances are aligned according to the world Y axis. A value of 0 means the objects are following the target surfaces curve and 1 means they are fully upright along Y. This is useful when the Targets object is curved and the Models objects need to remain vertical, not follow the curve of the surface, e.g. trees on a mountain.

Preserve Model Rotation – When enabled, instances preserve the original rotation of the Instanced model object. Otherwise, the original rotation is ignored.

Column
width5%
 
Column
width40%

Image Removed

Scale

Section
Column
width55%

Scales the instances From the given value To the given value continuously. When Uniform Scaling is enabled, the X axis values are applied on the whole Distribute-on target object. A Map 1 can be applied. RGB maps can be used to scale axes individually ( Red = X; Green = Y; Blue = Z). Grayscale maps control the scale of all axes proportionally.

Map Mode – Determines how the map is interpreted to control the scale.

Map Fixed – Black areas of the map represent the From values. White areas of the map represent the To values. All values in between are on the grayscale spectrum. No randomization is applied.
Random Amount – Black areas of the map have no randomization applied. In white areas of the map full randomization occurs. The From and To values represent the lowest and highest scale allowed for the randomization.

Step – Determines a value for scaling that is applied to all instances. Values greater than the difference between To and From result in all instances scaling to the value of To.

Uniform Scaling – When enabled, all instances in all axes are scaled according to the values of the X axis.

Preserve Model Scale – When enabled, instances preserve the original scale of the Models object.

Column
width5%
 
Column
width40%

Image Removed

Viewport

 

Section
Column
width55%

Preview Type – Determines the way the instances are displayed in the viewport. This is not reflected when rendering.

None – Nothing is displayed in the viewport.
Point – Displays each instance as a point.
Wire Box – Displays each instance as a wireframe of a box.

Random Color by Model – Every model is assigned a random color, which is then used for every instance of that model.

Preview Instance Limit – Specifies the maximum number of instances displayed in the viewport.

Column
width5%

 


Column
width40%


System

...

Section
Column
width55%

Instance Count Limit – Limits the maximum number of instances. Note that this option does not determine how many instances are created. Instead it serves as a measure to avoid scattering too many instances and causing a crash.

Use Local Rayserver – Changes the scatter type internally. For certain use cases when displacement is used, it can make rendering faster.

 
Column
width5%

Column
width40%

 

Notes

...

Fancy Bullets
typecircle
  • If you are using groups (of objects) for Models or Targets, it is recommended to bake the pivots first.


...


Progress Bar Container
step1

Progress Bar - Hyperlink Step
titleOverview
urlChaos Scatter
Progress Bar - Hyperlink Step
titleCurve Scattering
urlCurve Scattering
Progress Bar - Hyperlink Step
titleSurface Scattering
urlSurface Scattering
 
Progress Bar - Hyperlink Step
titleAdvanced Surface Scattering
urlAdvanced Surface Scattering
 
Progress Bar - Hyperlink Step
titleBounding Box Scattering
urlBounding Box Scattering
 
Progress Bar - Hyperlink Step
titleAdvanced Scatter Features
urlAdvanced Scatter Features

  • Density Texture and maps added to Translation, Rotation and Size are not represented in the viewport.
For more information on texture interpolation, see the Texture Filter section.