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.

Repeated items/groups are colored with a blue background in the corresponding inspector array

Input

  • Path/Volume - a Path or Volume
  • Bounds[] - array of bounds

Output

  • Spots - resulting spots collection

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 on 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 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