Surface Scatter

Short Description

A tool for scattering objects like vegetation and debris across surfaces.

Description

The Surface Scatter tool enables users to efficiently scatter various objects such as vegetation, debris, and other assets over selected surfaces. It allows for detailed customization of the scatter parameters to achieve realistic distributions and alignments of instances based on surface characteristics.

Properties

Base Properties

  • Surface: Meshes (or splines/curves) to scatter objects on

  • Scatter: Meshes to scatter on the input surface(s)

  • Density: Density of your scatter. The higher the value, the more scattered meshes you'll have

  • Uniform Scale: If the value is bigger than 0.0, the min/max values will be ignored, and all scattered objects will be scaled uniformly to the value.

  • Min Scale: Minimum scale of your scattered meshes

  • Max Scale: Maximum scale of your scattered meshes

  • Falloff: Creates a falloff/gradient when scaling the objects. This relies on the min scale and max scale.

  • Surface Align: Adjust the degree of alignment towards the underlying surface. When scattering trees, you might for example not want any surface alignment

  • Sink: Pushes your instanced objects downwards, which is very practical for trees

  • Randomize Sink: Sink value will be randomized per object in the range of (0, Sink), instead of uniformly setting in the same for all.

  • Seed: Randomizes the result of the scatter

Feature Masking

  • Angle Mask: Masks objects by the angle of the underlying surface area under them

  • Min Height Mask: Minimum height at which objects should be clamped

  • Max Height Mask: Maximum height at which objects should be clamped

  • Add Mask: Adds objects to the mask

  • Remove Mask: Randomly removes objects, ignoring any previous masking

  • Clump Mask: Creates smaller clump masks from the scattered objects

  • Clump Radius: Radius of the clumps

  • Projection: Only keep scattered objects that are above these input objects, and intersect with them

  • Use Surface Normals: During Raycast Meshes, uses the surface normals, otherwise uses the World Up direction

Proximity Mask

  • Objects: You can pass meshes, curves and even instancers to use them as masks

  • Distance: Distance of the objects' proximity mask

  • Sampling: A higher value results in more precise proximity masking, but at a heavier cost (especially if your proximity objects are scatter instances)

  • Width: Width of the proximity mask. This allows your masking to create strokes/slices of your scatter setup.

Noise Mask

  • Breakup: Controls the intensity of the noise/breakup.

  • Breakup Scale: Frequency of the noise mask. This basically controls the scale of the noise

  • Smoothness Noise: This value controls how sharp/soft the noise mask is

  • Warp Noise: Deforms the noise mask, which can result in some really interesting swirly mask shapes

  • Noise Scale Multiplier:

  • Noise Scale X:

  • Noise Scale Y:

  • Noise Scale Z:

Proximity Mask 2

  • Objects: You can pass meshes, curves and even instancers to use them as masks

  • Distance: Distance of the objects' proximity mask

  • Sampling: A higher value results in more precise proximity masking, but at a heavier cost (especially if your proximity objects are scatter instances)

  • Width: Width of the proximity mask. This allows your masking to create strokes/slices of your scatter setup.

Proximity Mask 3

  • Objects: You can pass meshes, curves and even instancers to use them as masks

  • Distance: Distance of the objects' proximity mask

  • Sampling: A higher value results in more precise proximity masking, but at a heavier cost (especially if your proximity objects are scatter instances)

  • Width: Width of the proximity mask. This allows your masking to create strokes/slices of your scatter setup.

Object Masking

  • Objects: Samples objects near the meshes. Unlike proximity masking, this one uses raytracing to proper mesh proximity masking, and is more costly, and only works on meshes.

  • Distance: Controls distance of the padding we add to the inside mask

  • Keep Inside: When set to true, ensures that we only keep what's inside of our meshes. This can be useful for using meshes as instancer blockers

  • Optimize for Curves: If set to true, masking with curves will result in much faster scattering, but at the cost of texture and vertex color masking

  • Projection Triangles: When using curves as a mask, this controls the number of triangles to use for the projection geometry we generate from the curve

Border Masking

  • Border Offset: Masks the scattered objects along the surface's borders.

  • Border Min: Minimum distance offset from the border mask value

  • Border Max: Maximum distance offset from the border mask value

  • Border Noise: Applies a noise on the border mask

  • Border Sampling: A higher value results in more precise border masking, but at a heavier cost

Edge Breakup

  • Border Distance: Controls the edge breakup distance

  • Border Spread: Controls how spread of the edge breakups

  • Border Scale: Controls the tiling pattern scale of the edge breakup

Directional Masking

  • Lights: Provide light/actors object to use for masking. The forward will be used as direction to mask the scatter.

  • Light Angle Mask: Based on the angle, consider more or less the parts of the objects that are facing the lights

  • Floor Removal: Gradually removes scatters that are facing upwards

  • Use Shadows: Uses the shadows projected from the lights as areas to scatter, like moss under trees

  • Shadows Randomize: Randomizes the shadow mask

Rotation Properties

  • Override Rotation: If set to True, the rotation will be overridden by the values below

  • X Override: Overrides the rotation along the X axis

  • Y Override: Overrides the rotation along the Y axis

  • Z Override: Overrides the rotation along the Z axis

  • Incremental Spin: Write your incremental values as ints or floats, separated by spaces.Example: 0 90 180

  • Sort Increments: If set to True, the incremental values will be applied in order, instead of randomly

  • Randomize Angles: This ensures that all instances have a random angle/spin to them, which ensures great rotation variation

  • Uniform Angle: Adjust the angle/spin of your instances. By default, they all have a random spin

  • X Jitter: Randomizes the rotation along the X axis

  • Y Jitter: Randomizes the rotation along the Y axis

  • Z Jitter: Randomizes the rotation along the Z axis

Scale Properties

  • Noise Scale: If the value is bigger than 0.0 switches random scaling to simplex noise based scaling.

  • Scale Multiplier: Applies a scale multiplier to the scaling values.

  • Use Custom Scale: If checked, the Min and Max scale values in the Base properties will be ignored, in favor of the more granular scale options below

  • Scale Sort: If set to True, objects are arranged based on their scale, instead of randomly. This is particularly noticeable with falloffs

  • Scale Sort Dither: When using scale-based object sorting, this dithers the different object passes, giving us a more natural look

  • Falloff Sharpness: Controls the scale falloff's sharpness

  • Xmin Scale: Minimum scale on the X axis

  • Ymin Scale: Minimum scale on the Y axis

  • Zmin Scale: Minimum scale on the Z axis

  • Xmax Scale: Maximum scale on the X axis

  • Ymax Scale: Maximum scale on the Y axis

  • Zmax Scale: Maximum scale on the Z axis

Object-Based Scaling

  • Objects: Add meshes or curves to affect the scale of the scattered objects

  • Distance: Controls the strength of the scale influences

  • Multiplier: Controls the disance from the inputs for the influence to apply

  • Falloff:

Vertex Color Masking

  • Blend Mode: The blending mode to use for all vertex color masking

  • Red Channel: If checked, the blending mode dropdown below will take this vertex channel into account.

  • Green Channel: If checked, the blending mode dropdown below will take this vertex channel into account.

  • Blue Channel: If checked, the blending mode dropdown below will take this vertex channel into account.

  • Threshold: Controls the vertex color masking threshold. Higher values can make the mask go beyond the vertex colors, and include the scattered points closest to the area with vertex colors.

Landscape Layer Masking

  • Layer Name 1: The name of the landscape layer to mask by

  • Layer Strength 1: The strength of the landscape layer mask

  • Layer Name 2: The name of the landscape layer to mask by

  • Layer Strength 2: The strength of the landscape layer mask

  • Layer Name 3: The name of the landscape layer to mask by

  • Layer Strength 3: The strength of the landscape layer mask

Texture Masking

  • Texture Path: When a texture is provided, this allows you to mask objects by texture

  • Texture Channel: Selects the channel to be used from the texture

  • Color Threshold: Defines a threshold value ranging from 0.0 to 1.0. Colors in the texture below this threshold will be discarded during texture sampling.

  • Texture Tile: Control the tiling of the texture

Misc Settings

  • Max Count: Maximum number of objects/instances you can scatter. Higher the value, the more instances you'll have.

  • Random Scatter: If set to true, the scatter algorithm will default on a white noise pattern, instead of the default blue noise.

  • End Cull Distance: Distance from camera at which each instance completely fades out

  • Receive decals: If set to true, instances receive decals

  • Enable collision: If True - collision is set to "Enabled (Query and Physics)", if False - "NoCollision"

Last updated