# Hosts

Hosts are entities on which thousands of instances will be scattered. They can either be [surfaces](#surface-hosts), [curves](#curve-hosts) or [point sets](#point-sets).

## Surface hosts

A _surface host_ is an entity that contains faces on which instances will be scattered.

To add new surface hosts, click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGTlTdGm5BFHPfRtFl%2Fpick_surface.png?alt=media&#x26;token=a02cb36d-d2c0-4561-b00d-59a52efc13df" alt="" data-size="original"> icon and pick groups or components in the model. When you're happy with your selection, click anywhere in Skatter's interface to stop picking hosts.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkC3TkHbsmQ0Z98TfiZ%2F-MkCu8VcuSbwRzDsKmwW%2Fpick_surface.gif?alt=media\&token=d99e76a6-a331-4d93-ac4b-22fde72fbc28)

Another way to pick several surface hosts is to first select them in SketchUp and then click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGTlTdGm5BFHPfRtFl%2Fpick_surface.png?alt=media&#x26;token=a02cb36d-d2c0-4561-b00d-59a52efc13df" alt="" data-size="original"> icon while pressing the Shift key.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDJwTw-BEK9aHzpdQg%2F-MkDL3x2qm9BgG27OUiv%2Fadd_selected_hosts.gif?alt=media\&token=3e169eb7-fb1a-42c7-8ea4-2d6f00ec9bdc)

### Texture coordinates

Surface hosts have a `Texture coordinates` parameter that interacts with [image masks](../masks#image-masks).

If the geometry of the surface host already has texture coordinates (coming from another 3D package or authored via another SketchUp extension), then one of the `Input` modes can be selected.

Otherwise, Skatter can generate new texture coordinates with other modes that match various shapes.

| Texture coordinates | When to use                                                            |
| ------------------- | ---------------------------------------------------------------------- |
| Input - Front       | Geometry already has texture coordinates on its front faces            |
| Input - Back        | Geometry already has texture coordinates on its back faces             |
| XY plane            | Flat geometry roughly aligned with the XY plane                        |
| YZ plane            | Flat geometry roughly aligned with the YZ plane                        |
| XZ sphere           | Flat geometry roughly aligned with the XZ plane                        |
| Sphere              | Sphere-like geometry                                                   |
| Cube                | Cube-like geometry                                                     |
| Automatic           | More complex geometry (this feature is experimental, results may vary) |

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

## Curve hosts

A _curve host_ is an entity that contains edges on which instances will be scattered.

To add new curve hosts, click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGTxLqzTs6-I-7kjvQ%2Fpick_curve.png?alt=media&#x26;token=0306faf8-e6ac-4565-8fb8-e3b6b7e1caec" alt="" data-size="original"> icon and pick groups or components in the model. When you're happy with your selection, click anywhere in Skatter's interface to stop picking hosts.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGVW5d9aoJBmEoCvp7%2Fadd_curve.gif?alt=media\&token=a2525242-411a-48a9-89d1-2947e165f125)

Another way to pick several curve hosts is to first select them in SketchUp and then click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGTxLqzTs6-I-7kjvQ%2Fpick_curve.png?alt=media&#x26;token=0306faf8-e6ac-4565-8fb8-e3b6b7e1caec" alt="" data-size="original"> icon while pressing the Shift key (see above for an illustration with surfaces.

### Aligning instances

Curve hosts have an `Align instance axis with curve` parameter to adjust the orientation of scattered instances. When enabled, each instance will be rotated so that the selected local axis of the object points in the same direction as the curve host.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkDLbEREaCP1Q6PWnP3%2F-MkGVu3XlIoMpN-Ktl5u%2Falign_instances_on_curve.gif?alt=media\&token=2282fccf-24f4-4e0c-b0d3-6b3869d1eddb)

## Point sets

A _point set_ is a collection of positions that you can pick manually.

To add a new point set, click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGkRF8KPXba23v2dOp%2Fadd_points_set.png?alt=media&#x26;token=3f1c243a-b582-4ace-a1dc-5aed4da87179" alt="" data-size="original"> icon and start placing points. Click anywhere in the Skatter interface to stop creating points. You can then click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGkUceXBVT6CeXQI0x%2Fpoints_set_pick.png?alt=media&#x26;token=0a4756a6-ee8b-476e-b7e0-65fada1932da" alt="" data-size="original"> icon at any point to add new points to existing point sets.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGjNb6ydVszpsEFebu%2Fpoints_set_pick.gif?alt=media\&token=9ded8f54-a416-4691-9b83-81740b9f4fb7)

To erase points, click the <img src="https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGk_2gUsoySk491jt3%2Fpoints_set_erase.png?alt=media&#x26;token=e3cd7816-4201-477f-8235-5663c41fa8b0" alt="" data-size="original"> icon and select the points to remove.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGjWsqNHLvMj7eQgnd%2Fpoints_set_erase.gif?alt=media\&token=8f4ca229-7c77-4559-b36e-9d12bd1ccf53)

{% hint style="info" %}
When placed on a surface, points are oriented according to the face normals. You can tune this behavior with the [Pointing](../transformations#pointing) parameter of the composition.
{% endhint %}

### Converting existing objects into a _Point set_

It is possible to convert existing SketchUp objects into a _Point set_ host. Select the objects in SketchUp, then right-click and choose _Skatter > Convert to composition_.

![](https://777932824-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJXK0YXrcDUpbe_Du_o%2F-MkGW2tw0LXFc47AV7-A%2F-MkGvKBrKI-LOffa9B_u%2Fconvert_to_composition.gif?alt=media\&token=46a49d84-ea41-479a-9f74-646f0abcf285)

Each selected object will turn into an instance and will retain its position, orientation, and material. However, you can now apply Skatter's masks, filters, and transformations to them.

