Surface Scatter
Surface Scatter
Version: 2.8
Description
Scatter vegetation, debris, garbage and much more.
Tags
plants, scatter, vegetation, trees, rocks, debris, garbage, scatter, surface
Properties
Base Properties
Name | Description | Type |
---|---|---|
Surface | Meshes (or splines/curves) to scatter objects on | Actor |
Scatter | Meshes to scatter on the input surface(s) | Actor |
Density | Density of your scatter. The higher the value, the more scattered meshes you'll have | Float |
Min Scale | Minimum scale of your scattered meshes | Float |
Max Scale | Maximum scale of your scattered meshes | Float |
Pivot Mode | Use the object pivot, or compensate for it, to snap the objects on different planes | Dropdown |
Scale Mode | When scattering multiple meshes, you can choose how the scale should be handled | Dropdown |
Density Mode | Density Mode | Dropdown |
Falloff | Creates a falloff/gradient when scaling the objects. This relies on the min scale and max scale. | Float |
Noise Scale | If the value is bigger than 0.0 switches random scaling to simplex noise based scaling. | Float |
Surface Align | Adjust the degree of alignment towards the underlying surface. When scattering trees, you might for example not want any surface alignment | Float |
Sink | Pushes your instanced objects downwards, which is very practical for trees | Float |
Randomize Sink | Sink value will be randomized per object in the range of (0, Sink), instead of uniformly setting in the same for all. | Boolean |
Seed | Randomizes the result of the scatter | Integer |
Feature Masking
Name | Description | Type |
---|---|---|
Angle Mask | Masks objects by the angle of the underlying surface area under them | Float |
Min Height Mask | Minimum height at which objects should be clamped | Float |
Max Height Mask | Maximum height at which objects should be clamped | Float |
Remove Mask | Randomly removes objects, ignoring any previous masking | Float |
Clump Mask | Creates smaller clump masks from the scattered objects | Float |
Clump Radius | Radius of the clumps | Float |
Raycast | Only keep scattered objects that are outside of these input objects, and intersect with them | Actor |
Use Surface Normals | During Raycast Meshes, uses the surface normals, otherwise uses the World Up direction | Boolean |
Noise Mask
Name | Description | Type |
---|---|---|
Breakup | Controls the intensity of the noise/breakup. | Float |
Breakup Scale | Frequency of the noise mask. This basically controls the scale of the noise | Float |
Smoothness Noise | This value controls how sharp/soft the noise mask is | Float |
Warp Noise | Deforms the noise mask, which can result in some really interesting swirly mask shapes | Float |
Noise Scale Multiplier | Float | |
Noise Scale X | Float | |
Noise Scale Y | Float | |
Noise Scale Z | Float |
Proximity Mask
Name | Description | Type |
---|---|---|
Objects | You can pass meshes, curves and even instancers to use them as masks | Actor |
Distance | Distance of the objects' proximity mask | Float |
Sampling | A higher value results in more precise proximity masking, but at a heavier cost (especially if your proximity objects are scatter instances) | Integer |
Object Masking
Name | Description | Type |
---|---|---|
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. | Actor |
Distance | Controls distance of the padding we add to the inside mask | Float |
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 | Boolean |
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 | Boolean |
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 | Integer |
Border Masking
Name | Description | Type |
---|---|---|
Border Offset | Masks the scattered objects along the surface's borders. | Float |
Border Min | Minimum distance offset from the border mask value | Float |
Border Max | Maximum distance offset from the border mask value | Float |
Border Noise | Applies a noise on the border mask | Float |
Border Sampling | A higher value results in more precise border masking, but at a heavier cost | Integer |
Edge Breakup
Name | Description | Type |
---|---|---|
Border Distance | Controls the edge breakup distance | Float |
Border Spread | Controls how spread of the edge breakups | Float |
Border Scale | Controls the tiling pattern scale of the edge breakup | Float |
Directional Masking
Name | Description | Type |
---|---|---|
Lights | Provide light/actors object to use for masking. The forward will be used as direction to mask the scatter. | Actor |
Light Angle Mask | Based on the angle, consider more or less the parts of the objects that are facing the lights | Float |
Floor Removal | Gradually removes scatters that are facing upwards | Float |
Use Shadows | Uses the shadows projected from the lights as areas to scatter, like moss under trees | Boolean |
Shadows Randomize | Randomizes the shadow mask | Float |
Rotation Properties
Name | Description | Type |
---|---|---|
Override Rotation | If set to True, the rotation will be overridden by the values below | Boolean |
X Override | Overrides the rotation along the X axis | Float |
Y Override | Overrides the rotation along the Y axis | Float |
Z Override | Overrides the rotation along the Z axis | Float |
Randomize Angles | This ensures that all instances have a random angle/spin to them, which ensures great rotation variation | Boolean |
Uniform Angle | Adjust the angle/spin of your instances. By default, they all have a random spin | Float |
X Jitter | Randomizes the rotation along the X axis | Float |
Y Jitter | Randomizes the rotation along the Y axis | Float |
Z Jitter | Randomizes the rotation along the Z axis | Float |
Scale Properties
Name | Description | Type |
---|---|---|
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 | Boolean |
Scale Sort | If set to True, objects are arranged based on their scale, instead of randomly. This is particularly noticeable with falloffs | Boolean |
Scale Sort Dither | When using scale-based object sorting, this dithers the different object passes, giving us a more natural look | Float |
Falloff Sharpness | Controls the scale falloff's sharpness | Float |
Xmin Scale | Minimum scale on the X axis | Float |
Ymin Scale | Minimum scale on the Y axis | Float |
Zmin Scale | Minimum scale on the Z axis | Float |
Xmax Scale | Maximum scale on the X axis | Float |
Ymax Scale | Maximum scale on the Y axis | Float |
Zmax Scale | Maximum scale on the Z axis | Float |
Object-based Scaling
Name | Description | Type |
---|---|---|
Objects | Add meshes or curves to affect the scale of the scattered objects | Actor |
Distance | Controls the strength of the scale influences | Float |
Multiplier | Controls the distance from the inputs for the influence to apply | Float |
Falloff | Float |
Vertex Color Masking
Name | Description | Type |
---|---|---|
Blend Mode | The blending mode to use for all vertex color masking | Dropdown |
Red Channel | If checked, the blending mode dropdown below will take this vertex channel into account. | Boolean |
Green Channel | If checked, the blending mode dropdown below will take this vertex channel into account. | Boolean |
Blue Channel | If checked, the blending mode dropdown below will take this vertex channel into account. | Boolean |
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. | Float |
Landscape Layer Masking
Name | Description | Type |
---|---|---|
Layer Name 1 | The name of the landscape layer to mask by | String |
Layer Strength 1 | The strength of the landscape layer mask | Float |
Layer Name 2 | The name of the landscape layer to mask by | String |
Layer Strength 2 | The strength of the landscape layer mask | Float |
Layer Name 3 | The name of the landscape layer to mask by | String |
Layer Strength 3 | The strength of the landscape layer mask | Float |
Texture Masking
Name | Description | Type |
---|---|---|
Texture Path | When a texture is provided, this allows you to mask objects by texture | Asset |
Texture Channel | Selects the channel to be used from the texture | Dropdown |
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. | Float |
Texture Tile | Control the tiling of the texture | Float |
Misc Settings
Name | Description | Type |
---|---|---|
Max Count | Maximum number of objects/instances you can scatter. Higher the value, the more instances you'll have. | Integer |
Random Scatter | If set to true, the scatter algorithm will default on a white noise pattern, instead of the default blue noise. | Boolean |
End Cull Distance | Distance from camera at which each instance completely fades out | Integer |
Receive decals | If set to true, instances receive decals | Boolean |
Enable collision | If True - collision is set to "Enabled (Query and Physics)", if False - "NoCollision" | Boolean |
Last updated