{{description>Generate and organize Spot sets along a Path or Volume with the Volume Spots module. Group objects, apply randomization, and define start and end placements.}} ====== Volume Spots ====== This module "places bounds" along a [[..:datatypes#Path]] or [[..:datatypes#Volume]]. To be precise it generates a set of [[..:datatypes#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 ===== Slots ===== === Input === * Path/Volume - a [[..:datatypes#Path]] or [[..:datatypes#Volume]] * Bounds[] - array of bounds === 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 [[..:datatypes#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 [[.:shapeextrusion]], see [[.:shapeextrusion#shift|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 [[.:shapeextrusion]], see [[.:shapeextrusion#shift|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