Skip to content
07-848 2005

V-Ray for Rhino

Surface Scattering Rollout

The Surface Scattering rollout is part of the Scatter parameters.

Last updated 20 May 2026

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

UV Grid

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.

Pattern – Determines the density pattern. Select from a set of predefined distribution maps or use a custom texture.

None – No map is selected.
Custom Texture – Uses a custom texture.

Distorted Streaks High – Distorted streaks pattern with different densities.
Distorted Streaks Low – Distorted streaks pattern with different densities.
Groups High – Groups pattern with different densities.
Groups Low – Groups pattern with different densities.
Fractal Patches High – Fractal patches pattern with different densities.
Fractal Patches Low – Fractal patches pattern with different densities.
Straight Lines High – Straight lines pattern with different densities.
Straight Lines Low – Straight lines pattern with different densities.
Stretched Patches High – Stretched lines pattern with different densities.
Stretched Patches Low – Stretched lines pattern with different densities.

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. See the Density Map example below.

Example: Instances Count

This example shows the exact instances count on a host object.

01_randomdistribution_instancescount_1000.jpg

Instances Count

= 1000

02_randomdistribution_instancescount_2500.jpg

Instances Count

= 2500

04_randomdistribution_instancescount_10000.jpg

Instances Count

= 10000

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.

01_perarea_instansescount1000_perareaoff.jpg

Instanses Count

= 1000;

Per Area

= Off

03_perarea_instansescount1000_perarea1000.jpg

Instanses Count

= 1000;

Per Area

= 1000

05_perarea_instansescount1000_perarea4000.jpg

Instanses Count

= 1000;

Per Area

= 4000

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.

01_density_ic5000_checkermap.jpg

Instances Count

= 5000; Checker Map

02_density_ic5000_noisemap.jpg

Instances Count

= 5000; Noise Map

03_density_ic5000_gradientmap.jpg

Instances Count

= 5000; Gradient Map

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.

Off

Checker Map

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.

Rhino8_VRay6.2_Scatter_Parameters_Surface_UVGrid

Example: Pattern

This example shows the different pattern types.

01_uvgrid_spacing0x1_patterngrid.jpg

Spacing

= 0.1;

Pattern

= Grid

02_uvgrid_spacing0x1_patternrunninggrid.jpg

Spacing

= 0.1;

Pattern

= Running Grid

03_uvgrid_spacing0x1_patternhexagonalgrid.jpg

Spacing

= 0.1;

Pattern

= Hexagonal Grid

Example: Spacing

This example shows how the spacing parameter affects the distances between the Scatter guest objects.

01_uvgrid_patterngrid_spacing_0x1.jpg

Pattern

= Grid;

Spacing

= 0.1

06_uvgrid_patterngrid_spacing_u0x1_v0x5.jpg

Pattern

= Grid;

Spacing

= U 0.1; V 0.25

03_uvgrid_patterngrid_spacing_0x5.jpg

Pattern

= Grid;

Spacing

= 0.5

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 1, all instances are randomly placed.

01_uvgrid_patterngrid_jitter_0.jpg

Pattern

= Grid;

Jitter

= 0

04_uvgrid_patterngrid_jitter_1.jpg

Pattern

= Grid;

Jitter

= 1

05_uvgrid_patterngrid_jitter_2.jpg

Pattern

= Grid;

Jitter

= 2

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).

01_UVGrid_PatternGrid_Offset_U0_V0.jpg

Pattern

= Grid;

Offset

= U 0; V 0

03_UVGrid_PatternGrid_Offset_U0_V0x5.jpg

Pattern

= Grid;

Offset

= U 0; V 0.5

05_UVGrid_PatternGrid_Offset_U0_V1.jpg

Pattern

= Grid;

Offset

= U 0; V 1

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).

01_UVGrid_PatternGrid_Offset_U0_V0 (1).jpg

Pattern

= Grid;

Offset

= U 0; V 0

03_UVGrid_PatternGrid_Offset_U0x5_V0x5.jpg

Pattern

= Grid;

Offset

= U 0.5; V 0.5

05_UVGrid_PatternGrid_Offset_U1_V1.jpg

Pattern

= Grid;

Offset

= U 1; V 1

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

Slope Limitation

– Enables the Slope Limitation parameters.

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 scatter Host object.1
World – The Slope Limitation is measured according to the world Z-axis up vector for all Host objects.

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.

Slope Limitation

= Local;

Angle From

= 0;

Angle To

= 180

Slope Limitation

= Local;

Angle From

= 0;

Angle To

= 45

Slope Limitation

= Local;

Angle From

= 15;

Angle To

= 45

(Rotated)

Slope Limitation

= Local;

Angle From

= 15;

Angle To

= 45

(Rotated)

Slope Limitation

= World;

Angle From

= 15;

Angle To

= 45

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.

Altitude Limitation

Еnables instances limitation in the given altitude range.

Altitude Limit Mode – Defines the range of altitude units in World or Local mode.

Local – The altitude is measured relative to the object’s origin.1
World – The altitude is measured relative to the world’s origin.

Min Altitude (cm) - Determines the minimum altitude. Objects below this threshold are not rendered.

Max Altitude (cm) - Determines the maximum altitude. Objects above this threshold are not rendered.

Curve Editor – Remaps the Min/Max altitudes.

Interpolation – Determines the curve interpolation.

Linear – Values are linearly interpolated.
Cubic – Values are interpolated using a smooth cubic curve.

See the context menus here.

VRay7.3_Scatter_AltitudeLimitation_RightClick.gif
VRay7.3_Scatter_AltitudeLimitation_Parameters.png

Clustering

Mode – Determines the clustering method.

Procedural Noise – A way to procedurally cluster the instances.
Color Map – Uses a texture as input for the clustering mode. For each Guest object, a Cluster color can be defined. The Cluster colors need to be present in the texture in order for this feature to work. Guests are scattered in the areas with the same color in the texture. See the Color Map example below.
Cluster Painting – Uses brush strokes to paint clusters in separate layers.

Texture Placement – Determines how the procedurally generated map is positioned.

XY - The texture is projected from the top.

UV - The texture is positioned based on the host’s UV texture coordinates.

Seed – Applies different variations of the pattern based on the Seed number.

Example: Seed

7ba86621-7526-4331-90c7-90e7c325f316.jpg
c9fd32d2-1ad3-49c9-ba77-da85d07b8a2e.jpg
4449bf42-6750-45c9-81b7-bae4c2193bcf.jpg

Size – Specifies the average size of the clusters on the X and Y axes. The larger the Size value, the larger the Clusters will be. Available when XY is selected.

Example: Size

1a18b4d5-7866-4cc5-a2ce-b4bb43533634.jpg
863df676-8ace-4c53-920e-c5b142680551.jpg
b37b424d-85e3-4428-8ba8-cd3eb670d1a8.jpg

Scale – Scales the clustering pattern along the UV coordinates. Available when UV is selected

Rotation – Rotates the clusters around a center. For the UV mapping, it is 0,0 and for XY mapping it is the geometry center of a target object or the common center for all the target objects in the list.

Example: Rotation

7cd48119-925c-4ade-8536-30beeba99130.jpg
1343857a-b3fc-403e-b45a-13ee6ac659c8.jpg
db8d73fb-da18-4070-a836-e8ae13090e21.jpg

Offset X/Y – Offset along X axis or Y axis. The offset direction depends on the rotation of the clusters. Available when XY is selected.

Example: Offset X/Y

64982e7d-f413-4899-a65f-b9aa9f8eaeef.jpg
5f5b8136-54b1-4b86-a8ff-ade6f4a4a068.jpg
54a2b52e-4c13-4b5e-8653-7799ad7ae487.jpg

Offset U/V – Offset along U axis or V axis. The offset direction depends on the rotation of the clusters. Available when UV is selected.

Roughness % – Lower values produce rounded clusters, while higher values produce more jagged shapes.

Example: Roughness %

88d8f943-b771-4855-87ca-8ac7f142a705.jpg
fe35bca9-5911-4d9f-8464-8e6aa39a7942.jpg
51eaa5b9-0dd9-45ec-bf5e-a3b51308d972.jpg

Blend % – Blurs the edges between clusters.

Example: Blend %

b95bd39b-4952-4cd5-9fe3-95eeb803177c.jpg
465a17af-570f-4490-a218-513254c6ec12.jpg
7a55271e-a926-40c6-8f8c-7201f5edd57d.jpg

Diversity % – Allows a small number of objects from the Clusters to appear inside a given Cluster. Smaller values mean that fewer instances are taken from the other clusters. Bigger values mix instances from other clusters.

Example: Diversity %

0f2de87c-2035-4285-9ef8-b6c889812f7b.jpg
6edf6971-2e5a-4f68-8564-ace2d117be43.jpg
84e24239-14db-4361-b218-0807a5c34187.jpg

Procedural Noise Mode

Color Map Mode

Example: Color Map Mode

This example shows the map used and the rendered result.

Cluster Painting

The Cluster Painting option in the Scatter Clustering dropdown adds clusters as brush strokes on separate layers. It includes a base layer containing the main elements (for example, grass applied across the entire plane) and separate additional layers that hold various elements used to create clusters. For instance, one layer may include tulips that we want to add to specific areas of the plane, while another layer could contain roses, and so on.

VRay7.3_Scatter_ClusterPainting_AddLayers.png

– Add Layers – Add more Cluster Painting layers.

VRay7.3_Scatter_ClusterPainting_AddGuests.png

– Add Guests – Add guest objects to the specific layer.

VRay7.3_Scatter_ClusterPainting_AddStrokes.png

– Paint Strokes – Paint strokes to the specific layer.

Rad – Adjust the radius of the guest objects.

Mode - Use Add/Sub to add or subtract guest objects from the cluster.

VRay7.3_Scatter_ClusterPainting_LayerOptions.png

– Layer Options – Add strokes from a selection or delete the layer.

Rhino8_VRay7.3_Scatter_ClusterPainting_Parameters.png

Workflow

  1. Enable Clustering and select Cluster Painting mode in a scene that contains Scatter with added guests.
  2. Add guests to the Base layer by clicking Add Guests. Select one or more guests from the dropdown list of available Scatter guests.
  3. Create Cluster layers by clicking Add Layer. Add guests to each layer.
  4. Click Paint Strokes to draw strokes in model space for each layer. Draw strokes using either Click–Click or Click–Drag. Press Space or Enter to confirm and deactivate the tool after finishing the stroke.
  1. View strokes listed under the layer to which they belong.
  2. After creating the Base layer and Cluster layers and adding strokes, adjust the Radius (Rad) for each stroke. Use Add/Sub for each stroke to control whether the stroke adds guests to or removes guests from the cluster.

www.youtube.com

Notes

  1. There 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.