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