# Volume Spots

This module “places bounds” along a Path or Volume. To be precise it generates a set of Spots using the bounds information. By just using a bounds array instead of actual items offers a lot of flexibility. You can place meshes, GameObjects and any other objects you can think of with this module - as long as you can provide an array of bounds.

For simplicity a single index from the Bounds array is referred to by “item” in this context.

The idea is that you organize items in groups, allowing you to build sort of compound objects to work with. For example, if you have a fence split into three meshes (start, middle, end), you can group them to be sure the three fence meshes are perfectly placed together. Another use case is to group items and apply the same randomization settings to them in one step. The options are endless…

Another key concept is to define the way both items inside groups and groups inside the range are repeated:

### Repeating Groups/Items

You can either place groups/items in order or randomized (using a weighted random). In case of the latter you can define any number of start and end groups/items to be fixed, removing them from the randomization. By doing so you can have well defined start and end placements, with randomness in the middle.

## Slots

#### Input

#### Output

- Spots - resulting spots collection

## Reference

### General

#### Volume Path

##### Range

Defines the range to place spots at.

#### Volume Cross

##### Use Volume's Surface

If the source is a Volume you can choose if you want to use it's path or the volume.

##### Cross Base

Shifts the Cross origin value by constant value. In case of a Volume, the initial base value is defined at the Shape Extrusion, see Shift

##### Cross Base Variation

Shifts the Cross origin value by a value that varies along the Volume's length. The Curve's X axis has values between 0 (start of the Range) and 1 (its end). In case of a Volume, the initial base value is defined at the Shape Extrusion, see Shift

#### Advanced Settings

##### Simulate

Check to run a dry run without actually creating spots

##### Use Bugged RNG

Until version 6.3.1, this module had a bug in the computation of the randomized values. Enable this value to keep that bugged behaviour if your project depends on it

### Groups

This tab lets you manage groups. Add, delete, rename and sort them.

##### Repeating Groups

The range of groups that will be placed repetitively along the volume. Groups that are not in this range will be placed only once.

##### Repeating Order

Defines the repeating mode, either random or by row. In case of random, you can weight the repeating groups in the above array.

##### Fits The End

*Only if there are non repeating groups at the end*

If checked, the last non repeating group is placed exactly at the end of the volume used for spots. If not, the last group is placed at the first available spot, which might leave some space between it and the end of the volume

### Group

For each group, this tab lets you manage its items.

##### Randomize Items

When enabled, items will be selected randomly

##### Items #

*Visible only if Randomize Items is enabled*

The indices of the randomized items

##### Keep Together

If enabled, the group will only be placed when all the group's items can be placed in the space left.

##### Space Before

The space to add before this group

##### Space After

The space to add after this group

##### Cross Base

Shifts the Cross origin for this group

##### Ignore Module Cross Base

If enabled, the Cross origin for this group will not take into consideration the Cross parameters in the General tab

#### Translation

##### Relative Translation

If enabled, translation will be done in the global/world space

##### Translation X

The x component

##### Translation Y

The y component

##### Translation Z

The z component

#### Rotation

##### Rotation Mode

How the rotation axes are defined related to the Volume/Path's data:

**Full**- Use direction and orientation**Direction**- Use direction only**Horizontal**- Use direction only after projecting it on XZ plane**Independent**- Do not use Volume/Path's data

##### RotationX

The x component

##### RotationY

The y component

##### RotationZ

The z component

#### Scale

##### Unifrom Scaling

Whether the scaling is applied equally on all dimensions

##### Scale X

The x component

##### Scale Y

The y component

##### Scale Z

The z component