> For the complete documentation index, see [llms.txt](https://skatter.help.lindale.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://skatter.help.lindale.io/manual/masks.md).

# Masks

*Masks* are entities that control where instances can and cannot be scattered. They can either be [Paint masks](/manual/masks.md#paint-masks), [Area masks](/manual/masks.md#area-masks), [Path masks](/manual/masks.md#path-masks), [Image masks](/manual/masks.md#image-masks), or [Composition masks](/manual/masks.md#composition-masks).

A mask can be **inclusive**, which means that instances can only be scattered in its area, or **exclusive**, which means that instances cannot be scattered in its area.\
To switch between those two modes, click the <img src="/files/-MkH-HCEyEfYXF8CVRcW" alt="" data-size="original"> and <img src="/files/-MkH-LHJAlTWg739TfCE" alt="" data-size="original"> icons.

![Inclusive / Exclusive](/files/-MkHRM_PWmBRDKFKu6_o)

{% hint style="info" %}
If a composition contains both types of masks, **inclusive masks are applied first** and then exclusive masks are applied over the remaining instances.

Masks are automatically reordered when toggling their inclusive/exclusive mode in order to reflect this rule.
{% endhint %}

## Paint masks

A *Paint mask* allows you to manually draw the shape of the mask. You draw the shape with a brush, just like you would in Photoshop or similar image editors.

To draw the mask, click the <img src="/files/-MkI-BDYXcQUvoz3Ns0V" alt="" data-size="original"> icon, then click & drag over your hosts. You can later click the <img src="/files/-MkI-Te0QE5mZKkNNJTW" alt="" data-size="original"> icon at any point to continue drawing the mask.

![](/files/-MkHSgujuiJcul8U1uxH)

To erase the mask, click the <img src="/files/-MkI-av8f0gl-V4cQ9Rs" alt="" data-size="original"> icon, then click & drag over the existing shape.

![](/files/-MkHT8xGS5I97WztHG3-)

{% hint style="info" %}
Erasing an *inclusive* Paint mask is not the same thing as drawing an *exclusive* Paint mask!
{% endhint %}

| Key   | Description                                                                 |
| ----- | --------------------------------------------------------------------------- |
| ALT   | Change the drawing mode when pressed (toggle paint/erase)                   |
| SHIFT | Draw a straight line                                                        |
| CTRL  | Maintain pressed and move the cursor laterally to change the brush's radius |

## Area masks

An *Area mask* is a group or a component instance that defines a space under which instances will not be scattered.

To add a new Area mask, click the <img src="/files/-MkI1Qy8y_hzp6Wj_4Uz" alt="" data-size="original"> icon and pick a group or component in the model.

![](/files/-MkI1V-xsSbKuu4kn1HW)

| Parameter       | Description                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mode            | <p>Part of the geometry used for masking.</p><p></p><p>In <code>Faces</code> mode, instances directly below the entity faces will be masked. This is useful to preserve holes in the mask.</p><p>In <code>Contours</code> mode, the whole silhouette of the picked entity is used. Only edges are considered, faces do not have any effect.</p> |
| Projection axis | <p>The direction in which instances are masked.</p><p></p><p>If unchanged, the default behavior is to use the same projection axis as the composition.</p>                                                                                                                                                                                      |

![Left: Faces mode. Right: Contours mode.](/files/-MkI4tofmVnEVOZrLSyQ)

## Path masks

A *Path mask* uses a curve with a configurable thickness under which instances will not be scattered.

![Path masks are particularly convenient to simulate dirt paths and tire tracks.](/files/-MgoOBJDcwH4Z3FZDaka)

To add a new Path mask, click the <img src="/files/-MkI7OKVk2SI8tSoKe9t" alt="" data-size="original"> icon and pick a group/component containing curves.

![](/files/-MkI6W-u-nxwtN2llAuP)

| Parameter       | Description                                                                                     |
| --------------- | ----------------------------------------------------------------------------------------------- |
| Thickness       | Lateral distance under which instances are masked                                               |
| Projection axis | The direction in which instances are masked, like for [area masks](/manual/masks.md#area-masks) |

## Image masks

An *Image mask* uses an external image file to control where instances can be scattered. This is useful to reproduce complex patterns.

To add a new Image mask, click the <img src="/files/-MkIMVSTiBllLNweeSbQ" alt="" data-size="original"> icon and select an image file on your disk.&#x20;

![The black and white Skatter logo is used as an image mask to scatter vegetation.](/files/-MgoOGP1fS0RQ-E753Y4)

{% hint style="warning" %}
Image masks rely on the surface hosts having valid [texture coordinates](/manual/hosts.md#texture-coordinates). Please make sure that your surface hosts are properly set up.
{% endhint %}

| Parameter           | Description                                                                                                                                                                                                                                                                                                        |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| File                | Image file to use as a mask.                                                                                                                                                                                                                                                                                       |
| Offset              | <p>Moves the image along the X and Y axis.</p><p></p><p>Texture coordinates are traditionally defined in the <code>\[0, 1]</code> range, so an offset of <code>0.5</code> usually moves the image by half its size (this convention might not be followed depending on the origin of the texture coordinates).</p> |
| Scale               | Size of the projected image. Tweak this value to create zoom or tiling effects.                                                                                                                                                                                                                                    |
| Rotation            | Orientation of the image, in degrees.                                                                                                                                                                                                                                                                              |
| Display the texture | Shows the image in the viewport (only for SketchUp 2020+).                                                                                                                                                                                                                                                         |

{% hint style="warning" %}
SketchUp only allows extensions to draw textures in the viewport since SketchUp 2020 so the preview will not be available for older versions.
{% endhint %}

### Darkness values

The whiter a pixel of the image is, the more likely it is for an instance to be scattered there.

A 100% white pixel means that instances can be scattered there. A 100% black pixel means that instances cannot be scattered there. Values in between are interpolated linearly.

![](/files/-MkIBK7zNB1RfC6Fy9ec)

{% hint style="info" %}
Image masks only consider grayscale values, as shown in the SketchUp preview. Skatter accepts colored images and converts them to grayscale.
{% endhint %}

## Composition masks

A *Composition mask* uses the instances from another composition to filter where instances can and cannot be scattered.

For instance, a composition *Trees* might be used as the composition mask for a composition *Fallen leaves*, so that they only appear around the trees.

![Fallen leaves are part of a composition that uses another composition's trees as a mask so that leaves only appear around trees.](/files/-MgoQdrYpKPgi4ye98xQ)

![](/files/-MkIDq-upvE39lFko476)

| Parameter   | Description                                                    |
| ----------- | -------------------------------------------------------------- |
| Composition | The other composition to use as a mask                         |
| Radius      | Distance to mask around each instance of the other composition |

{% hint style="warning" %}
It is possible to chain multiple compositions as masks of each other ("*composition A masks composition B which itself masks composition C...*").

However, Skatter does not allow to create cycles where all compositions depend on each other ("**A** → B → C → **A**") as it would be impossible to compute.
{% endhint %}
