1. Home
  2. Docs
  3. Structure Generator Nodes
  4. Structure Generator Node

Structure Generator Node

Structure Generator Node HierarchyThis structure generator element is modeled after Unity’s Tree Creator component, so most of the properties here described should come familiar if you have used this tool before. The whole structure is described using level nodes in hierarchy, each node contains properties to generate the branches at the assigned level. The structure here generated is taken as a base to be modified by other nodes downstream in the pipeline, meshed and textured. Take this structure as the spatial data the tree will be build upon.

Root Node

Root Node

Contains the properties to create the root branches that will sprout the subsequent branch levels.

Max frequency

The maximum number of root branches to generate as the upper range limit on randomization mode. Each root branch follows the hierarchical structure described by the nodes.

Min frequency

The minimum number of root branches to generate as the lower range limit on randomization mode. Each root branch follows the hierarchical structure described by the nodes.

Max Length

The maximum length value of any generated root branch as the upper range limit on randomization mode.

Min Length

The minimum length value of any generated root branch as the lower range limit on randomization mode.

Radius

Radius for the circular area where the root branches will sprout.

Branch generation with radius = 1.7 and frequency = 3

Branch Node

Structure Level Node

Branch Node

Contains the properties to create children branches along the length of a parent branch. Multiple level nodes could be applied to any level node or root node, creating a parent-child relationship on the hierarchy. It is possible to disable a level node while still maintaining it in the hierarchy, this will disable all other nodes derived from it as well.

Max Frequency

Similar to the root node frequency option establishes the upper range limit of branches to generate on the parent branch.

Min Frequency

Similar to the root node frequency option establishes the lower range limit of branches to generate on the parent branch.

Probability

Establishes the odd of occurrence on the structure level. A value of 1 means the structure level will always be processed, a value of 0 means no processing at all. The probability value is display on the structure nodes at the top-left corner.

Distribution

Sets the modality of branch distribution along the parent branch. These modes are based on Unity’s Tree Creator branch distribution options, so if you are familiar with it you’ll be with these modes. There are four modes to select from:

Alternative

Children branches begin at the tip of the parent branch and are position-spaced along the parent branch towards its base. Each subsequent child  branch takes the opposite direction of its predecessor branch.

Opposite

Branches come in pairs facing opposite direction  at the same length position on the parent branch. The first pair begins at the tip of the parent branch.

Whorled

Children branches are grouped on nodes with n number of branches each. The step property sets the number of branches per group. The first group begins at the tip of the parent branch.

Distribution Alternate

Alternative mode.

Distribution Opposite

Opposite mode.

Distribution Whorled (Step 3)

Whorled mode (step = 3).

Distribution Whorled (Step 4)

Whorled mode (step = 4).

Distribution curve

This curves controls the spacing of children branches or groups of branches along the parent branch; on the x axis 0 represents the base of the parent branch and 1 the tip of it.

Linear distribution curve.

Distribution towards base.

Distribution towards top.

Twirl

Rotation value for the children branches accumulative along and taking as axis the parent branch.

Branches with twirl = 0

Branches with twirl = 0.15

Parallel Alignment (at Base, at Top, Curve)

Interpolates the direction of a child branch with its parent direction. When 1 the child branch points exactly to the same direction as its parent branch does (thus the parallel name). Parallel alignment value requires a property that tells how much interpolation is going to be applied when branches are positioned at base and at top of the parent branch, positions in between are obtained using the parallel align curve property. Negative values on the properties point to the opposite direction of the parent branch.

Branches with no alignment modifications.

Branches with parallel align at top = 1

Branches with parallel align at top = 1 and at base = 0.5

Gravity Alignment (at Base, at Top, Curve)

Interpolates the direction of a child branch with the vector against gravity (direction up). When value is set to 1 the child branch points up (by default the against gravity value is set to up). Gravity alignment value requires a property that tells how much interpolation is going to be applied when branches are positioned at base and at top of the parent branch, positions in between are obtained using the gravity align curve property. Negative values on the properties point to the gravity direction (down vector).

Branches with no alignment modifications.

Branches with gravity align at top = 1

Branches with gravity align at top = 1 and at base = 0.5

Length (at Base, at Top, Curve)

Controls the length of the children branches. A length value is required at the top (1) and at the base (0) position of the parent branch, any value in between is interpolated using the length curve property.

Branches with length at base = 1 and length at top = 1

Branches with length at base = 1 and length at top = 3

Branches with length at base = 3, length at top = 1 and length curve applied.

Action Range

This option lets you specify the range the level branches are going to be sprout along the parent branch. It is represented by a green bar at the left of the level node on the canvas view; the bottom of the bar represents the base of the parent branch and the top the tip of it. Level nodes action ranges can overlap on a parent; ideally it lets you have a higher degree of control on the level or detail or the topology of a tree. For example, in some cases you might want to have more detailed branches at the tree base level (near ground) and lower or more scarce branches at the top of it.

Level 1 nodes sharing 50% of the parent branch length.

Two different offspring on the parent branch.

Sprout Node

Sprout Level Node

Sprout Node

Contains the properties to create children sprouts along the length of a parent branch. In order to visualize sprouts on the scene view and apply a mesh to them, the node must be assigned to a sprout group; the assigned group is visible with a colored square on the bottom-right corner of the node. The sprout node is considered a terminal level on the tree structure hierarchy and is possible to disable it while still maintaining it in the hierarchy.

Sprout Group

Assigns the generated sprouts to a sprout group, this is required for all sprouts to enable meshing and mapping on them.

Max Frequency, Min Frequency, Probability, Distribution, Distribution Curve, Twirl, Parallel Align (at Base, at Top, Curve), Gravity Align (at Base, at Top, Curve), Action Range

The same parameter effects on branches apply to sprout generation.

Was this article helpful to you? Yes No

How can we help?