The Surface Scattering rollout is part of the Scatter parameters.
Parameters
This submenu is only available when the scattering mode is set to 2D - On Surfaces.
Mode – Specifies the surface scattering mode. See the Mode Example below.
Random Distribution – Scatters instances randomly on all mesh objects.
UV Grid – Uses UV mapping to scatter instances in regular patterns.
Example: Mode
This example shows the difference between Random Distribution and UV Grid modes. The scene for this example is set in inches.

Random Distribution
Instances Count – Gives the total number of instances on all Host objects. Note that adding Area Modifiers or defining Slope Limitation will decrease this number. If the Per Area option is enabled, the scattering is defined by the density. See the Instances Count Example below.
Per Area – When enabled, the number of instances is determined by the count combined with the size of the host's surface. The value specifies the length of the distribution area's side/edge. If the Count value is set to 1, this number determines the relative density of the instances. See the Per Area Example below.
Density – Determines the approximate count of instances based on texture input. Black color in the texture discards all instances in the respective area. Areas colored with white receive the maximum number of instances. See the Density Examples below.
Map Channel – Determines the UV channel.
Example: Instances Count
This example shows the exact instances count on a host object. The scene for this example is set in inches.
Example: Per Area
The number of instances here is determined by the count combined with the size of the host's surface. The value specifies the length of the distribution area's side/edge. The scene for this example is set in inches.
Example: Density
The Density determines the approximate count of instances based on texture input. Black color in the texture discards all instances in the respective area. The scene for this example is set in inches.
Example: Density Map
Using a Density map generates brand new instance distribution. The total number of instances (approximate to the 'Instance Count' value) is preserved and distributed on all surfaces that correspond to map values above 0 (parts of the map not being purely black). Instances are more likely to be generated in areas with higher Density map values than darker ones. The scene for this example is set in inches.

UV Grid
Pattern – Determines a pattern to use for grid scattering. See the Pattern Example below.
Grid – Rectangular grid.
Running Grid – Rectangular grid with every other row offset by half of the grid spacing.
Hexagonal Grid – Arranges the instances into hexagons.
Map Channel – Determines the UV channel.
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. See the Spacing Example below.
Jitter – Determines what proportion of the instances are randomly placed. When Jitter is set to 0 all instances are placed according to the UV mapping. When Jitter is set to 1 all instances are randomly placed. See the Jitter Example below.
Offset – Offsets the pattern by the given value (in percentages). Keep in mind that 0 and 1 Offset give the same result, as 1 moves the pattern by one whole repetition. See the Offset Examples below.
Lock – When enabled the values of the V coordinate for Spacing, Jitter and Offset are locked to the U coordinate's values.
Example: Pattern
This example shows the different pattern types. The scene for this example is set in inches.
Example: Spacing
This example shows how the spacing parameter affects the distances between the Scatter guest objects. The scene for this example is set in inches.
Example: Jitter
This is how Jitter affects the random placement of Scatter Guest objects. When set to 0, all instances are placed according to the UVW mapping. When set to 100, all instances are randomly placed. The scene for this example is set in inches.
Example: Offset by Single Axis - V
For this example, the Pattern is set to a rectangular Grid. Here, the offset is applied to the U axis only (the Lock V option is disabled). The scene for this example is set in inches.
Example: Offset Locked UV
For this example, the Pattern is set to a rectangular Grid. The offset is applied to both the U and V axes (the Lock V option is enabled). The scene for this example is set in inches.
Slope Limitation
Limits scattering only to 'slopes' at certain angles. The lower the angle range is set, the smaller the angle at which scattering stops. See the Slope Limitation Examples below.
Local – The slope limitation is measured according to the up vector of each individual guest object.1
World – The Slope Limitation for all guest objects is measured relative to world up vector.
Angle From – The lower limit of the range outside which instances get filtered out.
Angle To – The upper limit of the range outside which instances get filtered out.
Example: Slope Limitation
This is an example of how the slope limitations work. The scene for this example is set in inches.
Example: Multiple Hosts Slope Limitation
This example shows how a group of multiple guest objects can be distributed over several more than one host object. The scene for this example is set in inches.

Edge Trimming
Edge Trimming – Trims elements of instances outside of the host boundaries. It affects both host objects and Area modifiers.
Edge trimming is used to trim scattered instances consisting of multiple mesh elements so that they stay within the boundaries of the host objects, taking into account the modifiers added to the Area Modifiers list. If an origin of any integral part of the instance (any sub-mesh element of the instanced model) falls outside of the area specified by the scatter, such part is not rendered. This is a simplification, but you can imagine the origin as a point on the host object from which an element is growing.
The typical use cases of Edge Trimming include:
- Grass lawns - in case of using large grass clumps, no individual grass blades will be growing outside of the defined area.
- Carpets - in case of using large clumps of strands, no individual strands will be placed outside of the carpet area.
- Pebbles, rocks, bark chippings, or any other objects which you need to distribute within some specific boundary and make sure no instances stick outside of that boundary (determined based on the mesh element origin precision).
In addition to making the scattering look more refined and natural, the edge trimming feature boosts performance by removing some of the instances you save from RAM and making parsing time shorter.
Example: Edge Trimming

Notes
- 1There is no Local space in Rhino. As a result, this mode uses the World space Up vector. This option is exposed in the UI to ensure interoperability with other V-Ray products where a distinction between local and world positions is valid.