# Welcome to Skatter

* **First, make sure to read our** [**Getting Started article**](/getting-started)
* **Read the** [**Manual**](/manual/stuff-to-know)
* For general questions, please read the [FAQ](/faq)
* For other questions to the community & the dev team, please visit the [Forums](https://forums.getskatter.com/c/transmutr)


# Getting started

Three steps to quickly get you started with Skatter:

1. **Download Transmutr here:** [**https://getskatter.com/download/**](https://getskatter.com/download/)
2. **Install it, then open it and start the 15 days trial.**\
   Once the trial is expired, you can purchase a license here: <https://getskatter.com/>
3. **Watch this Quick Start video or read the written tutorial below:**

{% embed url="<https://www.youtube.com/watch?v=hMv1gpaCeyM>" %}

##

First, start by picking a surface on which you want to scatter your objects. Here we select the terrain. <br>

![](http://files.getskatter.com/docs/img/quickstart01.gif)

##

Next, pick the objects you want to scatter on your surface. <br>

![](http://files.getskatter.com/docs/img/quickstart02.gif)

##

Finally, click on "(re)Generate". Congratulations! You just made your first Skatter group :) <br>

![](http://files.getskatter.com/docs/img/quickstart03.gif)

##

Alternatively, before clicking on "(re)Generate", check the "Render only" checkbox. The objects won't be generated in the model, but they will be sent to the render engine (Thea in this case). \
This is very usefull when you want to scatter thousands of objects without overloading Sketchup and slowing down the viewport.

{% hint style="info" %}
Note : This is only supported by V-Ray, Thea, Corona, Octane, Indigo, Enscape, Shaderlight, IRender nXt, Twilight Pro, Raylectron and Kerkythea. If you don't use these render engines, do not check "Render only".
{% endhint %}

![](http://files.getskatter.com/docs/img/quickstart04.gif)

##

You can also restrict where objects are scattered using Areas. Pick an area in the model (a curve in a group), or paint one using the Paint brush.

{% hint style="info" %}
Note : You first need to uncheck "Use surface boundaries as include area".
{% endhint %}

![](http://files.getskatter.com/docs/img/quickstart06.gif)

##

Then, try to play with the settings to understand what they do. Please read the manual, but there's nothing better than trying yourself ;) <br>

![](http://files.getskatter.com/docs/img/quickstart05.gif)


# FAQ

## On how many computers can I use one license?

For each license of Skatter, you can install it on no more than **two computers**, provided that it is used on only **one computer at a time**.

You will be able to activate Skatter on five different computers in total (for instance, if you buy a new computer and uninstall Skatter on the previous one). One single computer can be considered different if its hardware is changed in a significant way.

If you wish to activate Skatter after having used the five authorized activations, you will need to contact  <support@getskatter.com>.

## Software and Hardware requirements to run Skatter

**Software :**

* Windows 7/8/10 64bits or Mac OSX 10.9+
* Internet Explorer 9+ on Windows
* Sketchup 2015+ 64bits

**Recommended hardware :**

* Quad-core 3+ Ghz processor
* 8+ GB RAM

## Is Skatter supported by my render engine?

Skatter's  ["Render only"](/manual/generating#render-only-mode) feature is currently supported by **V-Ray, Thea, Corona, Octane, Indigo, Enscape, Shaderlight, IRender nXt, Twilight Pro, Raylectron** and **Kerkythea**.\*

To use Skatter with all the other render engines, you'll need to uncheck "Render only".

If you want your favourite render engine to support Skatter, please go ahead an submit this request to the engine's developers. It has to happen on their side as Skatter has no control over this. Make sure to send them [this article](/faq#im-a-render-engine-developer-how-can-i-support-skatter).

\*Thea 356.1413 or newer \
\*Vray 2.00.24261 or newer \
\*Twilight Pro 2.4.6 or newer \
\*Indigo 3.8.33.1 or newer

## Where can I find plant models to use with Skatter?

Check out this thread in our forums :  <http://forums.getskatter.com/t/manual-download-resources/314>\
It will be updated regularly.

## How to edit Skatter setup after "Render Only" has been checked?

Open the Skatter dialog and click on the  [Render List](/manual/render-list) tab. \
Click "edit" next to the name of the Skatter setup you want to edit.

## Why is my grass upside-down?

The grass presets use the  [Pointing Direction](/manual/distribution#pointing-direction) feature, therefore the grass follows the slope of the surface. If the surface is upside down, the grass will be upside down as well.

Try to right click on the face and click on "Reverse faces". Then in Skatter's [Hosts](/manual/hosts) rollout, click on ![](http://files.getskatter.com/docs/img/update.png) to update it.

![](http://files.getskatter.com/docs/img/upsidedown_grass.jpg)

## Why are my scattered objects offside?

![](http://files.getskatter.com/docs/img/scattered_objects_offside.png)

Make sure the axes of the group/component are centered on the object.

Alternativly, you can click on the object's name in the "Scattered objects" rollout, then choose "Center" for the "Insertion Point".

## Skatter stopped working after 15 days

This happens to everyone who tries to crack Skatter. The “crack” (removing a piece of text in the license file) just makes you think Skatter is activated forever , but it’s not. And it stops working after the 15 days of the demo.

If you do have a legit license, please send us an to <support@getskatter.com> with your License Serial, explaining your issue in detail. (If you don't have a legit license, please don't waste our time, it is best used to improve Skatter)

## "Render only" is not working with V-Ray

&#x20;If you are using V-Ray 3.60.01, you need to use [this workaround](http://forums.getskatter.com/t/workaround-v-ray-3-6-does-not-show-skatter-objects/863/7)

## "Render only" is not working with Thea

Make sure you are using the very latest version of Thea.

You need at least v1.5.04.356.1413

## "Render only" is not working with Kerkythea

There is a Kerkythea update on its way, in the meantime you need to paste\&replace this file :

<http://download.getskatter.com/su2kt.rb>\
in \
`C:\Users\USERNAME\AppData\Roaming\SketchUp\SketchUp 201X\SketchUp\Plugins`\
for every Sketchup version in which you plan to use the KT+Skatter combo.You will need to enable "instanced" in Kerkythea's export options.

## "Render only" is not working with Twilight

You need Twilight Pro (not Hobby). Also, make sure all the "Scattered objects" are Components and NOT groups.

## I'm a Render Engine developer, how can I support Skatter?

Transformation objects are stored in an hash/array structure which can be read by the render engines (or anyone for that matter). This is very similar to parsing the model and reading the transformation of regular Component Instances. \
This allows users to render hundreds of thousands of instances without overloading Sketchup.

The hash is in a shared namespace called ***"Common"***, and its name is ***"render\_instances"***.

Its structure is :

```
{ 
	Sketchup.active_model.definitions.entityID => { 
		"plugin_name" => {
			comp_def => [
				{:transformation => trans1, :material => mat1},
				{:transformation => trans2, :material => mat2},
				...
			]
		}
	}
}
```

* ***Sketchup.active\_model.definitions.entityID***  is used to differentiate models on OSX, as we can have multiple models opened in one Sketchup instance
* ***"plugin\_name"***  is the plugin name, in this case "skatter". This level is necessary so we don't overwrite each other's infos
* ***comp\_def***  is the [Sketchup::ComponentDefinition object](http://ruby.sketchup.com/Sketchup/ComponentDefinition.html)
* ***trans1***  is a [Geom::Transformation object](http://ruby.sketchup.com/Geom/Transformation.html)
* ***mat1*** is a [Sketchup::Material object](http://ruby.sketchup.com/Sketchup/Material.html) present in the SketchUp model. If this is not defined or equals nil, simply consider this instance as having the default material applied to it, just like a regular Component Instance.

To read it is pretty simple in ruby :

```
modelID = Sketchup.active_model.definitions.entityID
if defined?(Common.render_instances) && Common.render_instances[modelID]
	for plugin_name, comp_defs in Common.render_instances[modelID]
		for comp_def, insts in comp_defs
			for inst in insts
				transform = inst[:transformation]
				material = inst[:material]
				#Then do your stuff using comp_def, transform and material...
			end#for
		end#for
	end#for
end#if
```

Additionally, you can add an observer to the Common module, and Skatter will call it every time it updates. It is useful if you are doing Real Time rendering.

```
class MyObserver
	def on_render_instances_updated(modelID, plugin_name, comp_def)
		# modelID is Sketchup.active_model.definitions.entityID, used to 
		# differenciate between models on OSX
		puts modelID.to_s + " -> " + plugin_name + " -> " + comp_def.name
		transformations_array = Common.render_instances[modelID][plugin_name][comp_def]
	end
end
Common.add_observer(MyObserver.new)<br>
```

If you have any question or need a NFR license to test your implementation with Skatter, contact us at <support@getskatter.com>

This is an open protocol, so if other plugins use it, you will automatically support them as well.

## More Questions/Answers in the forums

&#x20;You can find more questions and answers posted by users in the Skatter forums :  <http://forums.getskatter.com/c/faq-tutorials>


# Tutorials


# Quick Start

{% embed url="<https://www.youtube.com/watch?v=hMv1gpaCeyM>" %}


# In-Depth Video Tutorials

This is a very comprehensive series of tutorials by TutorialsUp, going through all of the main features of Skatter.

{% hint style="info" %}
Disclaimer: this video series has been made by TutorialsUp. They were not paid, nor sponsored for making it, but they have an Affiliate link in the video descriptions.
{% endhint %}

#### Part 1 - Hosts, Scattered Objects

{% embed url="<https://www.youtube.com/watch?v=G1kddd8HWG8>" %}

#### Part 2 &#xD;- Distribution (Random&#xD;, Altitude Range, Slope Range, Collisions)

{% embed url="<https://www.youtube.com/watch?v=VWMYJHTn_SQ>" %}

#### Part 3 &#xD;- Distribution (Uniform, Grid&#xD;, Vertices&#xD;, Faces centers)

{% embed url="<https://www.youtube.com/watch?v=ryLlr3Lyujk>" %}

#### Part 4 - Clipping Areas

{% embed url="<https://www.youtube.com/watch?v=w1L1P-CH8Vk>" %}

#### Part 5&#xD; \- Random Transform, Camera Clipping

{% embed url="<https://www.youtube.com/watch?v=N8O2RVON2eo>" %}

#### Part 6 - Miscellaneous&#xD;, Render List, Options&#xD;, Library&#x20;

{% embed url="<https://www.youtube.com/watch?v=pdZMT1zuZos>" %}


# Creating a green wall

![](http://files.getskatter.com/docs/img/green_wall/green_wall.jpg)

**In this tutorial, we will learn how to create a green wall (also called vertical garden). The steps detailed here can obviously be applied to any kind of vertical surfaces, not just green walls.**

The first thing to understand is the projection axis. As explained in the  ["Stuff to know"](/manual/stuff-to-know) article, Skatter projects objects and area boundaries on surfaces along an axis. By default, it uses the vertical (Z, blue) axis.&#x20;

To create a green wall however, we want Skatter to project along a custom axis, facing toward the surface. In the **Distribution** rollout, in **Projection Axis**, select **"Custom"**. Then click on **Pick axis** and select the axis you want. In the example below, I first drew a line perpendicular to the surface, that I used as a guide to pick the axis.

![](http://files.getskatter.com/docs/img/green_wall/custom_axis.gif)

Now let's pick the plants I want to scatter on the wall.

![](http://files.getskatter.com/docs/img/green_wall/pick_objects.gif)

As you can see, by default the objects are aligned with the model axis, not with the surface. We will use the **Pointing Direction** feature to align the objects with the surface's normal.

![](http://files.getskatter.com/docs/img/green_wall/pointing_direction.gif)

The objects are now aligned with the surface's normal, but they are not correctly oriented. In this case we want the leaves to lean to the ground. \
This is because of the way the original objects were created. These have the Z (blue) axis pointing up, and the leaves are pointing away from the X (red) axis.

![](http://files.getskatter.com/docs/img/green_wall/object_axes.png)

When we set the **Pointing Direction** to **Normal**, Skatter aligns the object's Z axis with the surface's normal. But here we actually want the object's Z axis to point up while having the object still aligned with the surface's normal. To do that, we need to check **"Swap object's Y and Z axes"** (this options is only accessible when the **Pointing Direction** is 100% to **Normal**)\
[Click here for more info](/manual/distribution#pointing-direction)

![](http://files.getskatter.com/docs/img/green_wall/swap_yz.png)

![](http://files.getskatter.com/docs/img/green_wall/swap_yz.gif)

It's now better, the leaves are leaning toward the ground. But the orientation is not quite right, we need to rotate the plants -90 degrees (this is true for this particular case, but it will depend on how the original objects axes are oriented compared to the geometry. Try different values to see which ones work out for you).\
To achieve that, we will use the **Rotation** in the **Random Transform** rollout.

![](http://files.getskatter.com/docs/img/green_wall/90_rotation.gif)

That's much better! Now, let's increase the density, add some **Random Scale** and tweak the **Rotation** values to get more randomness.

![](http://files.getskatter.com/docs/img/green_wall/randomness.png)

We could stop here, but I want to restrict the distribution of this particular plant to a specific area. It works on vertical surfaces just the same as on horizontal surfaces as usual. For more details, see [the article about Clipping Areas](/manual/masks)

![](http://files.getskatter.com/docs/img/green_wall/areas.gif)

If we want to add other types of plants in different areas, but don't want to repeat the whole process from scratch, we can simply duplicate the setup we just created. There are two ways to do this: \
\- If it is a **Render Only** setup, go to the **Render List**, select the setup and click on the duplicate icon. ![](http://files.getskatter.com/docs/img/duplicate.png)\
\- Otherwise, if it was generated in the model, right-click on the group and click **"Duplicate Skatter Group"**

Next, remove the old **Scattered Objects** from the list, and pick the new ones. Do the same with the **Clipping Areas**. You may also need to tweak the density, randomness, etc, depending on the new plant models.

![](http://files.getskatter.com/docs/img/green_wall/duplicate.gif)

##

With a little bit of work, you can quickly create a complex green wall like this:

![](http://files.getskatter.com/docs/img/green_wall/green_wall.jpg)

Here is what the SketchUp viewport looks like:

![](http://files.getskatter.com/docs/img/green_wall/viewport.png)

**The high quality plant models used in this example are from Vimage Visualisation. You can download them here :** [**https://gumroad.com/l/tOyB**](https://gumroad.com/l/tOyB)\
**The collection also contains the above SketchUp scene ready to render in Thea with all the Skatter setups.**


# Quick tip : How to disable falloffs on Surface Boundaries?

That is not possible directly for now.

As a workaround, you can untick "Use surface boundaries as include area" and create a new Include Area that is much larger than the surface.

Like this:

![](http://files.getskatter.com/docs/img/surface_area_falloff.jpg)


# Quick tip : Radial Distribution

Draw a set of concentric circles (maybe use the Offset tool), group them, then pick them as a Curve Host.  \
Use Grid Distribution to evenly distribute objects along the circles, or Vertices Distribution to put one object on every vertex.

Like this :  \
*SketchUp file :*  [*Click here to download*](http://forums.getskatter.com/uploads/default/original/1X/357097e6fb3a91290ef2a3078805abe57fb6c951.skp)

![](http://forums.getskatter.com/uploads/default/original/1X/04202475f308e9e800f0bd75ff93d4e9a8ed87ec.jpg)

Or like this : \
*SketchUp file :*  [*Click here to download*](http://forums.getskatter.com/uploads/default/original/1X/b81d5f94356390f8580e6aa3625ac8887f2fd881.skp)

![](http://forums.getskatter.com/uploads/default/original/1X/79618f46445341584d86a772c7cbe08da3134f3b.jpg)


# Quick tip : Parking lots

You can create parametric parking lots using Curve Hosts.

![](https://s3.amazonaws.com/helpscout.net/docs/assets/59565b230428637ff8d43431/images/59b8433e042863033a1cc956/file-Al6Z7PJRnH.png)

Here is the skp file:  [parking.skp](http://forums.getskatter.com/uploads/default/original/1X/bc3e4f87f1804b26d4f5c00cd66ff7f152d34276.skp) \
Right-click on the cars group, then “Edit Skatter group”

The important steps:

* Make sure the axes of the car component are on the middle bottom of the car
* Create a line that goes through the middle of the spots. You may need to divide the line in at least 3, to group it. There is a small bug in Skatter that tend to make a loop if only two lines are connected. Check the groups containing the lines to see what I mean.
* Use Grid distribution, with the width of a parking spot as the Spacing X
* Then add some random rotation for a little bit of diversity

You can of course use as many different car components as you want.


# Quick tip : Ivy / Hedges

![](https://s3.amazonaws.com/helpscout.net/docs/assets/59565b230428637ff8d43431/images/59b90bb52c7d3a73488cd328/file-N8ZBjjvHs2.png)

SketchUp file:  [ivy.skp](http://forums.getskatter.com/uploads/default/original/1X/e6803d8a557687ea7dcc0718000a86b4a6b29865.skp)

* See how the leaf component's axes are set up.
* Random distribution with Wrap (UV) mode
* Use “Pointing Direction” all the way to “Normal”.
* Check “Swap object’s Y and Z axes”
* Use random X rotation between -30 and 0 (or other values) to control how much the leaves will lean to the ground. You can also put some random Y and Z rotation for more diversity.

More discussion and examples [on the forums](http://forums.getskatter.com/t/wrap-uv-3d-ivy-leaf-angle/774/5?u=thomas).


# Third-party tutorials

* [Super Fast Ivy Wall - Eric Sargeant](https://forums.sketchup.com/t/super-fast-ivy-wall-w-skatter-tutorial/73781)
* [Making of The Meadow - Mads Bjerre](https://www.ronenbekerman.com/making-meadow-sketchup-skatter/)
* [Making of the Sarmiento Museum - David Santos](https://www.ronenbekerman.com/making-sarmiento-museum/)
* [Creating a Meadow with Skatter - The SketchUp Essentials](https://www.youtube.com/watch?v=roLGNPGvOsE)
* [Creating a Raspberry - SketchUcation](https://www.facebook.com/SketchUcation/posts/1512954898767831)
* [Quick and dirty boxwood and hedge - Winning with SketchUp](https://www.youtube.com/watch?v=NZXbcPoWmkg)
* [Portuguese tutorial - MasterTuts](https://www.youtube.com/watch?v=KyvabKTxyxA)
* [Using Skatter with Maxwell - Maxwell Zone](http://www.maxwellzone.com/tutorials/using-sketchup-with-skatter-and-vizpark-models/?mzref=jiminy-billy-bob)
* [Using Skatter with Lumion - Daniel Tal](http://danieltal.com/skatter-extension-part-2/)
* [Using Skatter with Bloom Unit](http://blog.bloomunit.com/post/149968015820/skatter-and-bloom-unit-2-great-sketchup-plugins)
* [Vietnamese tutorial - Phuc](https://www.youtube.com/watch?v=o5bkQRlDAyc)


# Stuff to know

## Skatter is parametric

Everything you do in Skatter is fully parametric. This means you can always go back and edit your work, even after closing and reopening SketchUp.

## Groups and Components

When picking Surfaces, Curves and Objects, you can only pick groups and components. This is mandatory so Skatter can keep track of those picked objects throughout sessions, and remain fully parametric.

## Units

If you don't specify a unit when entering a value, Skatter will use the [model's unit](http://help.sketchup.com/en/article/114975). You can override it by specifying a unit (eg 3" or 12mm). Skatter can accept a comma or a dot as decimal mark.

## Projection

For now, Skatter only supports vertical projection. \
Here is how it works internally:

First, Skatter generates insertion points on a flat plane, at the top of the surface's bounding box.

![](/files/-LdYElFf3t_MZGmnYbC2)

Then, all these points are projected down until they reach the surface.

![](/files/-LdYElFgzP3nECGIwD6L)

Finally, if you have selected an area, the boundaries of this area are projected onto the surface, and the insertion points are kept or discarded depending on their location. \
Don't forget to uncheck "Use surface boudaries as include area" if you want to limit the distribution to an "include" area.

![](/files/-LdYElFhTlzoKAaj4ujX)

In the future you'll be able to scatter according to the UV/Normal, or along an arbitrary axis.


# Generating

**Skatter has two modes to generate scattered items: Normal and Render Only**

## *Normal* mode

***Normal*** is the default. It will create component instances in the model. Nothing fancy, this is usual Sketchup geometry.\
To later edit it, right click on the parent group created by Skatter and click on "Edit Skatter group"

## *Render Only* mode

***Render Only*** is activated by ticking the "Render only" checkbox below the "(re)Generate" button. When this is activated, nothing will be created in the model, but the information will be handed to the render engines (V-Ray, Thea, Corona, Octane, Indigo, Enscape, Shaderlight, IRender nXt, Twilight Pro, Raylectron and Kerkythea, for now).

This is especially useful when you want to render hundreds of thousands of items without overloading the model.

Since nothing is created in the model with the *Render Only* mode, if you want to edit the Skatter groups you made, go to the "Render list" tab.

![](http://files.getskatter.com/docs/img/render_only.gif)


# Hosts

**Hosts are objects on which the items will be scattered. They can be Surfaces, Curves or Points Sets.**

![](http://files.getskatter.com/docs/img/hosts.gif)

## Surfaces

A Surface is a group or component containing one or multiple faces.

Click on ![](http://files.getskatter.com/docs/img/plus_surface.png) to start picking surfaces.

When using distribution types [Grid](/manual/distribution#grid), [Uniform](/manual/distribution#uniform) and [Random](/manual/distribution#random), items will be projected downwards on the Z axis. This means that if you have two overlapping faces in your surface object, only the top one will receive scattered items.

## Curves

A Curve is a group or component containing one or multiple edges.

Click on ![](http://files.getskatter.com/docs/img/plus_curve.png) to start picking curves.

It is best to use welded SketchUp [curves](http://help.sketchup.com/en/article/94812), like the ones created using the Arcs, Circle and Freehand tools. You can use extensions like [Weld](https://extensions.sketchup.com/en/content/weld) to weld edges together into curves.\
If the edges are not welded as curves, Skatter will try its best to keep the continuity between edges, but you may still get unexpected results.

When using distribution types [Grid](/manual/distribution#grid) and [Uniform](/manual/distribution#uniform), a curve is considered to have only one axis (X), which runs along the curve and follows its curvature.

## Points Sets

A Points Set is not really an object, it is a set of points where items will be inserted.

Click on ![](http://files.getskatter.com/docs/img/plus_points.png) to create a new Points Set and start picking points in the model.

To add or remove points from a Points Set, click on the Set in the list to highlight it. A "Pick pts" and "Erase pts" buttons will appear.

## Update Hosts

If you modify the geometry of a Surface or a Curve after picking it, you will need to update. Simply click on ![](http://files.getskatter.com/docs/img/update.png) and Skatter will recalculate the scattering based on the updated geometry.


# Scattered Objects

**These are the scattered items. They need to be either groups or components.**

Click on ![](http://files.getskatter.com/docs/img/plus_object.png) to start picking objects to scatter.

You can click on a picked object in the list to highlight it. Additional properties will appear : **Insertion point**, **probability** and **Scale Multiplier**. Changing these properties will affect only the highlighted objects.

Note : When using the "Render Only" mode, some render engines require that you only scatter components, not groups.

## Insertion point

You can choose whether Skatter uses the group/component axes origin to insert it, or the bottom center of its bounding box.

When using "Axis" as the Insertion Point, be careful about the placement of the origin in the component.

![](http://files.getskatter.com/docs/img/scattered_objects_offside.png)

## Probability

If you have picked multiple objects, for each scattered items, Skatter will go through the list of objects and randomly pick one. By changing the Probability, you can set how often an object will be picked.

If the sum of all probabilities is bigger than 100%, Skatter internally normalizes the value. For instance, 100% + 150% + 50% will be treated as 33,3% + 50% + 16,7%.&#x20;

{% hint style="info" %}
Please note that this is still random, these are probabilities. There is no guaranty that you'll get exactly these percentages.
{% endhint %}

## Scale multiplier

You can make an object bigger or smaller by changing its scale multiplier.


# Distribution

**Skatter offers several distribution types, each useful in different situations.**

![](http://files.getskatter.com/docs/img/distribution.gif)

## Grid

This is a simple grid distribution. The "Spacing X" and "Spacing Y" are the spacing between the scattered items respectively in the X and Y axes. \
The "Rotation" parameter lets you rotate the grid along the Z axis.

## Uniform

The **Uniform** type is similar to **Grid** but adds two "Jitter" parameters. The Jitter is a percentage of the spacing. The item will be inserted randomly within this distance.

**Uniform** is very useful for creating a random look while avoiding clusters and holes.

The image below shows the difference between Uniform and Random distributions.

![](http://files.getskatter.com/docs/img/uniform_random.png)

## Random

The **Random** type is a true random distribution. Every item will be randomly scattered regardless of the others.

The only parameter is "Density". It defines the number of scattered items per length unit (in model unit). \
For instance, if you work in meters, and put 3 in "Density", on the surface there will be on average 9 items/m² (3x3=9).

The Random type has two distribution modes : **Projection** and **Wrap (UV)**\
**Projection** will project the objects onto the surface along the Z axis. See [Projection](/manual/distribution#projection-axis)\
**Wrap (UV)** will generate the object directly on the faces of the surface. See the image below. Make sure *"Use surface boundaries as include area"* checkbox is ticked for this to work.

![](http://files.getskatter.com/docs/img/wrap.png)

## Projection axis

In the **Grid**, **Uniform** and **Random** types, the default projection axis is the vertical (Z, blue) axis, projecting down. You can any other axis. This is very useful for green walls, for instance.\
In "Projection axis", choose "Custom", then click on "Pick axis". You can now pick the axis you want in the model.

## Vertices

The **Vertices** type inserts an item on every vertex found in the Surface/Curve. The selected objects will then get randomly distributed on those points.

## Faces centers

The **Faces centers** type insert an item on the center of every face found in the Surface.

Beware of faces divided by hidden edges, you might get different results than what you expect.

## Pointing direction

This slider defines in which direction the Z axis of the scattered item is pointing. You can set the slider anywhere you want between pointing up and pointing along the Normal.

![](http://files.getskatter.com/docs/img/pointing.png)

This only works when scattering on Surfaces, as Curves and Points Sets don't have normals.

When the Pointing Direction is 100% to Normal, you get the option to swap the object's Y and Z axes. When you enable it, the local Y axis of the Scattered Objects point to the surface's normal, instead of the object's local Z axis. This is very useful when creating green walls for instance, when you want the plant leaves to lean toward the ground.

![](http://files.getskatter.com/docs/img/swap_yz.png)

## Altitude range

You can limit the distribution within a certain altitude range. "Top" defines the upper bound and "Bottom" the lower bound. \
The values are in model's unit. "Top" and "Bottom" are vertical distances from the model's origin.

The "Falloff" parameters lets you define distances which can alter density and scale (depending on what checkbox you tick) as we move closer to the range bounds.

![](http://files.getskatter.com/docs/img/altitude.png)

## Slope range

**Slope range** is similar to **Altitude range**. You can limit the creation of items depending on the steepness of the surface. The parameters are in degrees. 90 is vertical and 0 is horizontal.

## Collisions

**Collisions** discards scattered items that are overlaping with others. The algorithm takes the longer size of the bounding box of the object and draws a circle around it. If circles are overlaping, items are discarded.

You can make the circles bigger or smaller using the "Size multiplier" parameter.


# Clipping areas

Areas can be "Include" or "Exclude". After scattering items on the surface, Skatter checks if each one of them is inside the boundaries of an area. If the area is "Include", the item is kept, if the area is "Exclude", the item is discarded.

To set the "Include"/"Exclude" property of an area, click on it in the list to highlight it. Additional properties will appear below the list.

{% hint style="warning" %}
**IMPORTANT : When using Curve or Paint Areas as "Include", you probably want to untick the&#x20;*****"Use surface boundaries as include area"*****checkbox, otherwise items will still be scattered all over the surface.**
{% endhint %}

![](http://files.getskatter.com/docs/img/areas.png)

## Curve Areas

A **Curve Area** is a group or component containing one or multiple edges.

Click on ![](http://files.getskatter.com/docs/img/plus_area.png) to start picking Curve Areas.

Like [Curves as Hosts](/manual/hosts#curves), it is best to use welded SketchUp [curves](http://help.sketchup.com/en/article/94812), like the ones created using the Arcs, Circle and Freehand tools. You can use extensions like [Weld](https://extensions.sketchup.com/en/content/weld) to weld edges together into curves.\
If the edges are not welded as curves, Skatter will try its best to keep the continuity between edges, but you may still get unexpected results. Likewise, if the curve is not closed, Skatter will try to close it for you.

## Paint Areas

**Paint Areas** are not made of geometry. They let you paint a boundary that will be treated like a Curve Area, but with the versatility of a paint brush.

Click on ![](http://files.getskatter.com/docs/img/plus_paint.png) create a new Paint Area and start painting.

To paint or erase from the Paint Area, click it in the list to highlight it. A "Paint" and "Erase" buttons will appear. \
You can paint straight lines by clicking at the starting point, then clicking at the end point while holding SHIFT down. \
Use ALT to invert the painting brush behavior (ALT+paint will erase, and vice-versa).

The "Brush radius" parameter lets you change the radius of the circle brush.

You can copy/paste Paint Areas between setups by clicking the icons ![](http://files.getskatter.com/docs/img/copy.png) and ![](http://files.getskatter.com/docs/img/paste.png)

## Object Areas

An **Object Area** is a group or component containing one or multiple faces.

It can only be an "Exclude" area.

The Object's geometry is projected onto the surface, if it intersects scattered items, they are discarded.

## Update Areas

If you modify the geometry of a Curve or Object Area after picking it, you will need to update. Simply click on ![](http://files.getskatter.com/docs/img/update.png) and Skatter will recalculate the scattering based on the updated geometry.

## Surface Boundaries

When the *"Use surface boundaries as include area"* checkbox is ticked, the boundaries of the Surface will be treated as an "Include" Area (including for Falloffs and Boundary Check).

It is ticked by default. \
When using Curve or Paint Areas as "Include", it is recommended to untick this checkbox, otherwise items will still be scattered all over the surface.

## Density Falloff

![](http://files.getskatter.com/docs/img/density_falloff.png)

The **Density Falloff** lets you define a distance which controls the density as we move closer to the area boundaries.

The "Border density" parameter controls the density at the boundary. The default value is 0, which means scattered items will be completely discarded at the boundaries. But this is a percentage that can take any value.

The "Invert Falloff" checkbox inverts the falloff. Which means the density at the boundaries will be 100%, and the density at the "Distance" from the boundaries will be set by "Border density".

## Scale Falloff

The **Scale Falloff** works exactly like the **Density Falloff** but controls the scale of the scattered items.

Both **Scale Falloff** and **Density Falloff** can be used together.

## Boundary Check

To check if an item is scattered within the boundaries of an area, you have three options: **Insertion point**, **Size** and **Distance**.

**Insertion point** is the default, the simplest and fastest to compute. If the insertion point of an item is outside the area, the item is discarded. Scattered items will most likely overlap with the area's boundaries.

**Size** takes into account the size of the scattered item. The algorithm takes the longer size of the object and draws a circle around it. If the circle overlaps with the area's boundaries (or is completely outside), the item is discarded. \
The percentage field is a size multiplier, if you want to make the collision circle bigger or smaller.

**Distance** is similar to Insertion point, but the algorithm offsets the area boundaries by the "Distance" when computing if the insertion point falls into it.


# Random Transform

**This rollout offers various parameters to randomly transform the scattered items.**

## Horizontal Mirroring

**Horizontal Mirroring** will randomly flip items along the X or Y axes, or both.

## Vertical Mirroring

**Vertical Mirroring** will randomly flip items along the Z axis.

## Translation

**Translation** translates scattered items away from their original insertion points. The distance is randomly defined within the specified range (Min -> Max). Input values are in model units.\
Be aware that items can be translated outside of areas' boundaries as this transformation happens after the boundary check in the algorithm.

## Rotation

**Rotation** lets you randomly rotate scattered items in the specified range (Min -> Max) along each axes. The rotation is counter-clockwise and the input values are in degrees.

## 90/180/270° Rotation

**90/180/270° Rotation** randomly rotates items either 0°, 90°, 180° or 270°. This is very useful for randomizing tiles.

![](http://files.getskatter.com/docs/img/90-180-270.png)

## Scale

**Scale** randomly scales items in the specified range (Min -> Max). Input values are percentages.\
By default, the **Aspect Ratio** is locked so that items are scaled uniformly on the three axes. But you can unlock the ratio do get different scaling on each axis.


# Camera Clipping

**Camera Clipping allows you to discard items that are not visible to the camera, or too far away.**

This proves especially useful when scattering huge numbers of items.

## Scene camera

First, select a scene in the **Scene camera** rollout. The camera of the selected scene will be used to check the visibility and distance. If you let the default "None", the current view will be used.

You can later update either the select scene's camera, or the current view, by clicking ![](http://files.getskatter.com/docs/img/update.png)

## Exclude non-visible

When enabling this option, every scattered item that is outside the camera field of view will be discarded.

You have two parameters that will help keeping items which are overlapping with the limit of the FOV, or that are outside the FOV but casting shadows in front of the camera. \
"Expand FOV", in degrees, will make the field of view bigger when computing if items are visible to the camera or not. \
"Camera Offset", in model units, will virtually move the camera backward. This is especially useful for foreground items.

![](http://files.getskatter.com/docs/img/camera.png)

## Distance clipping

Scattered items that are further away from the camera than the "Clipping Distance" will be discarded. \
The "Falloff" parameter will decrease density as we move away from the camera.

![](http://files.getskatter.com/docs/img/camera2.png)


# Miscellaneous

## Abort popup delay

This defines the time that will run before Skatter asks you if you want to abort the current calculation.

## Max in Preview

This parameter limits the number of displayed items in the preview, for performance issues. This means that if there are more scattered items than this value, they will not be displayed in the preview, but will actually be generated.

It defaults to 50'000.

## Random seed

Every "random" parameter is not truly random, but depends on a "seed". This way, you get consistent results when regenerating, or when reopening Sketchup. You always get the same results when keeping the same parameters and values. \
But if for some reason, you want a different result than what you see on screen, simply change de "Random seed" value, or click on "New seed".


# Tab : Render List

**This tab contains all the "Render Only" setups.**

When you generate setups using the "Render Only" mode, they are not generated in the model. The **Render List** is the place where you can see and manage all your "Render Only" setups.

## Edit setups

To edit an existing "Render Only" setup, click on **Edit** next to its name. This will open the main tab with the setup's parameters and values.

## Enable/Disable setups

You can **Enable** or **Disable** existing setups by ticking or unticking the checkboxes next to their names. A disabled setup will not be rendered.

## Linking setups to layers

You can link setups to layers. When the layer is hidden, the setup is hidden as well, and vice-versa. This means you can control the setup's visibility with SketchUp scenes.

![](http://files.getskatter.com/docs/img/layers.gif)

## Add/Remove/Duplicate setups

You can **add** a new "Render Only" setup by clicking ![](http://files.getskatter.com/docs/img/plus.png)\
This will open the main tab with default values. This is similar to clicking the Skatter icon in the toolbar, but the "Render Only" checkbox will be checked by default.

You can **remove** a new "Render Only" setup by clicking ![](http://files.getskatter.com/docs/img/minus.png)

You can **duplicate** an existing "Render Only" setup by clicking ![](http://files.getskatter.com/docs/img/duplicate.png)\
This will open the main tab with the selected setup's parameters and values.

## Update setups

If you change an object's geometry that is used by a setup as surfaces/areas/objects/etc, you need to update this setup by clicking ![](http://files.getskatter.com/docs/img/update.png)


# Tab : Options

## License

To license Skatter, enter the serial that was provided to you when you purchased Skatter, then click on **Activate**.

Alternatively, you can use the offline activation. \
\- Click on "Offline activation".  \
\- Copy the Request code \
\- Navigate to <http://licensing.getskatter.com/offline_activation.php>\
\- Enter your License Serial and the Request code, then click on "Generate activation code"\
\- Copy the Activation code, then go back to Skatter \
\- Enter the Activation code, and click on **Activate**

## Miscellaneous

**Do not compute disabled setups at startup** : This prevents disabled setups in the Render List to be computed at SketchUp startup. They will be computed once they are enabled in the Render List.

**Default time before "Abort?" popup** : This defines the default time that will run before Skatter asks you if you want to abort the current calculation. This value will be used for new setups only. After creation, each setup keeps its own time.

## Library custom paths

When you save a setup as a new Library entry, the save path is added in the **Custom Paths** list. You can also manually add custom paths by clicking ![](http://files.getskatter.com/docs/img/plus.png) or remove them by clicking ![](http://files.getskatter.com/docs/img/minus.png)\
The library will display everything present in all paths in the list.

## Language

Here you can choose the language of the Skatter UI. By default, it uses the same as Sketchup, if a translation in that language exists, otherwise it's displayed in english. \
You can force the language by chosing in the list.


# Library

**The Library allows you to load presets ready-made by us (only grass for now), or made by you.**

Please note that the Library will evolve a lot in the future. There will be more content (more vegetation, gravel, carpets, etc), and the browser itself will get much better. For now it is very basic, but it'll get better.

![](https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/57094f7990336008d09da93d/file-0nrUpUn6Sw.gif)

## Load a preset from the Library

Click on ![](https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/5709548a90336008d09da94c/file-iH8EjsE4Yg.png) in the toolbar, to open the Library.

Click on a preset to bring up its loading options:

**"Scattered objects as"** is available for built-in presets. It lets you choose between Proxies and Full Geometry.\
\- Use **"Proxies"** if you use **Thea** or **Vray** as render engine. This will load proxies that link to external \*.mod.thea and \*.vrmesh files. These objects are much lighter and faster to render. (We are in the process of preparing the proxies for more render engines)\
\- Use **"Full Geometry"** if you use any other render engine, or none at all. These objects are high-poly and quite heavy, so use them with caution.

**"Render only"** is the same option as in the Skatter dialog itself. See [Render Only](/manual/generating#render-only-mode).

Some built-in presets also have a warning sign ![](https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/570a19fdc697917553cf77ef/file-xQAxkEE1kK.png). It means that the preset can take a long time to compute. Use them with caution. This is the case for all the "Border" presets, for instance.

When you are satisfied with the options, click on **"Load"**. You'll then be asked to pick a Host. Once you do, the setup will be automatically generated.

The scattered objects used by the preset are loaded in the model as components. A copy of these components are placed at the origin of the model, and are hidden and locked to prevent them from being wrongfully purged. But you can unlock and unhide them if you really want to delete them.

![](https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/570a1ab6c697917553cf77f0/file-R2CDTCyj2N.gif)

## Save a new preset in the Library

You can save your own presets in the Library, that will hold options, values, and Scattered Objects.

First, create a setup. Then, when you are satisfied with it, click on the save icon <img src="https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/570a1eb690336008d09da9cb/file-E6I7ggDsw9.png" alt="" data-size="line"> next to the Name.\
You can then give a name to the preset, and select a thumbnail (this is optional). When you're done, click on **"Save"**. \
Browse to the folder where you want to save the preset. The default folder is *"C:\Users\USERNAME\AppData\Roaming\Skatter\Library\Custom"*, but you can choose whatever you want.

When it's saved, the preset will appear in the Library, and you'll be able to load it as any other one.

You can managed the folders where the Library will be looking, in the  [Options tab](/manual/options#library-custom-paths)

![](https://s3.amazonaws.com/helpscout.net/docs/assets/564cb5cf90336002f86deb3a/images/570a207ec697917553cf77f1/file-MnlFBJCYYT.gif)

## Handling and sharing presets

When you save a preset, Skatter creates a bunch of files in the target folder. \
For example, if we saved a preset named "MyPreset" with two scattered objects, we'd have these files:

* **MyPreset.sklib** that holds all the options and values (distribution, etc...)
* ***MyPreset.png*** (or .*jpg*) if we picked a thumbnail. This is used only for display purposes in the Library.
* ***MyPreset1.skp*** and ***MyPreset2.skp*** . These are the two scattered objects that we picked in our original setup, and that were saved as Sketchup files, to be loaded as components when we load the preset from the library.

You can move these files, or share them with your friends or coworkers. \
To add a custom path/folder for the Library to look into, go to the [Options tab](/manual/options#library-custom-paths), and click on ![](http://stg.getskatter.com/help/img/plus.png) in the "Library custom paths" rollout.


