Houdini 21.0 Nodes Geometry nodes

Labs Tree Branch Generator 1.2 geometry node

Generates procedural tree branches on trunks or existing branches.

This node creates branches on trunks generated by the Labs Tree Trunk Generator, or on branches generated by the Labs Tree Branch Generator or Labs Tree Branch Placer.

Branches can be created using two methods:

This node is designed to work with the Labs Tree Controller, which can drive many settings globally across the tree network.

Parameters

Tag

Name used to create a group and attribute identifying the generated branch geometry or curves. By default this matches the node name.

Branch on Group

Limits branch generation to the specified parent curve group. When empty, branches are generated on curves from the previous branch level.

Delete Previous Levels

Deletes geometry and curves from previous branch levels.

Override Branch Level

Enables manual control of the generated branch level.

Branch Level

Branch hierarchy level assigned to the generated branches.

Randomize

Random seed used for procedural variation.

General

Mode

Method used to generate branches.

Place: Copies generated branch curves onto parent branch points.

Grow: Grows branch curves using space colonization.

Placement

Placement Mode

Method used to distribute branch points on the parent.

Scatter: Places branches randomly on the parent.

Edge length: Places branches based on parent curve length.

Randomize Node Amount

Enables random variation in the number of branches per parent.

Branch nodes

Number of branches generated per parent.

Min Branch Nodes

Minimum number of branches generated per parent when randomization is enabled.

Max Branch Nodes

Maximum number of branches generated per parent when randomization is enabled.

Length Scale

Distance between generated branch points when using edge-length placement.

Use Distribution Ramp

Enables distribution of branch points using a ramp.

Distribute By

Attribute used to drive branch-point distribution.

Length of parent: Distributes by parent curve length.

Radius of parent: Distributes by parent radius.

Height of parent: Distributes by parent height.

Distribution Ramp

Controls branch-point density based on the selected distribution attribute.

Up Vector

Vector used to orient generated branches.

None: Does not apply a specific orientation vector.

Parent: Uses the parent tangent direction.

Custom: Uses the vector specified in Custom Up.

Custom Up

Custom vector used when Up Vector is set to Custom.

Branching Pattern

Controls the angular pattern used to place branches around the parent.

137.5 degrees: Uses a phyllotactic pattern.

90 degrees: Places branches at right angles.

180 degrees: Alternates branches on opposite sides.

Alternate: Places one branch per branch point.

Opposite: Places two mirrored branches per branch point.

Radial: Places a user-defined number of branches around each point.

Angle Variation

Random variation applied to the branching pattern angle.

Randomize Branches Per Node

Enables random variation in the number of radial branches per point.

Branches per node

Number of radial branches generated at each branch point.

Min Branches Per Node

Minimum number of radial branches per point when randomization is enabled.

Max Branches Per Node

Maximum number of radial branches per point when randomization is enabled.

Branching Angle

Angle from the parent at which branches are created.

Angle Variation

Random variation applied to the branching angle.

Roll

Rotates branches around the parent axis.

Randomize Roll

Randomizes branch roll per parent.

Use Angle Ramp

Enables adjustment of branching angle along the parent using a ramp.

Angle Ramp

Controls branching angle along the parent length.

Remap Angle Ramp

Min

Remaps the minimum value of the angle ramp.

Max

Remaps the maximum value of the angle ramp.

Length

Base length of generated branches.

Length Variation

Random variation applied to branch length.

Length Ramp

Controls branch placement and length along the parent.

Inherit Parent Length

Scales generated branch length based on parent length.

Inherited Length Profile

Controls how parent length affects generated branches along the parent.

Growth

Growth Bounds Object

Object used to define the growth volume for attraction-point scattering.

Volume Resolution

Voxel size of the growth volume.

Points Density

Density of attraction points within the growth volume.

Iterations

Number of growth simulation iterations.

Branch Start

Iteration at which secondary branching begins.

Search Radius

Distance used to search for attraction points.

Node Radius

Distance each branch segment grows per iteration.

Kill Radius

Distance around branch tips where attraction points are removed.

Normal Strength

Influence of the initial branch direction on growth.

Noise Strength

Influence of curl noise on growth direction.

Force 1 Strength

Influence of the first directional force on growth.

Force 1 Direction

Direction of the first growth force.

Force 2 Strength

Influence of the second directional force on growth.

Force 2 Direction

Direction of the second growth force.

Near Branch Tolerance

Removes branches that grow too close to each other.

Angle Tolerance

Removes branches whose direction is too similar to nearby branches.

Small Branch Tolerance

Removes branches below the specified length threshold.

Max Simultaneous Branches

Maximum number of branches that can grow from a single point at once.

Smooth Amount

Amount of smoothing applied to grown branches.

Smooth Detail

Amount of original detail preserved during smoothing.

Radius

Falloff Ramp

Controls branch radius along the generated branch length.

Radius Adjust

Multiplier applied to the inherited parent radius.

Override Inherited Radius

Uses an explicit branch radius instead of inheriting it from the parent.

Radius

Radius used when inherited radius is overridden.

Radius Ramp

Controls the explicit branch radius along the branch length.

Prune

Random Threshold

Randomly removes branches based on threshold.

Manual Prune

Enables manual removal of branches.

By Initial Angle

Upward Facing Angle

Removes branches whose initial direction exceeds this upward angle.

Downward Facing Angle

Removes branches whose initial direction exceeds this downward angle.

Directional Angle

Removes branches based on deviation from the specified direction.

Direction

Direction used for directional pruning.

By End Angle

Upward Facing Angle

Removes branches based on their final upward direction.

Downward Facing Angle

Removes branches based on their final downward direction.

Directional Angle

Removes branches based on deviation from the specified direction at the branch tip.

Direction

Direction used for directional pruning at the branch tip.

Advanced

Detangle

Attempts to reduce branch intersections and collisions.

Grid Behavior

Controls how branches interact with the construction grid.

Constrain: Snaps branches to the grid plane.

Clip: Deletes branch sections below the grid plane.

None: Does not modify branches when they intersect the grid.

Ray Points to Surface

Moves branch points to the surface of the parent instead of its center.

Tropism

Tropisms simulate environmental forces that influence branch growth direction.

Override Tropism

Overrides tropism settings from the Tree Controller.

Bend Along Parent

Bends branches relative to the direction of the parent branch.

Enable

Enables bending along the parent branch.

Strength

Controls how strongly branches bend along the parent direction.

Falloff

Adjusts bend strength along the branch length.

Gravitropism

Simulates gravity-based bending.

Enable

Enables gravitropism.

Direction

Direction used to simulate gravity.

Strength

Controls how strongly branches bend toward the gravity direction.

Falloff

Adjusts gravity influence along the branch length.

Phototropism

Simulates growth toward light.

Enable

Enables phototropism.

Direction

Direction of the simulated light source.

Strength

Controls how strongly branches bend toward the light direction.

Falloff

Adjusts light influence along the branch length.

Thigmotropism

Simulates branch interaction with nearby geometry.

Enable

Enables collision-based branch interaction.

Object

Object used for branch interaction.

Strength

Controls how strongly branches react to the object.

Falloff

Adjusts interaction strength along the branch length.

Noise

Adds procedural variation to branch curves and mesh surfaces.

Line Noise

Override Line Noise

Overrides line-noise settings from the Tree Controller.

Enable

Enables curve noise.

Intensity Ramp

Adjusts line-noise strength along the branch length.

Primary

Curl noise used for primary curve variation.

Noise Type

Type of curl noise used.

Intensity

Strength of the primary noise deformation.

Frequency

Scale of the primary noise.

Roughness

Adds fractal detail to the primary noise.

Step Size

Sampling resolution used to evaluate the noise.

Randomize Offset

Randomizes the noise offset using the seed.

Offset

Offsets the noise pattern in space.

Secondary

Secondary anti-aliased noise layer.

Intensity

Strength of the secondary noise.

Frequency

Scale of the secondary noise.

Roughness

Adds detail to the secondary noise.

Randomize Offset

Randomizes the secondary noise offset.

Offset

Offsets the secondary noise pattern in space.

Mesh Noise

Applies noise to generated branch geometry.

Override Mesh Noise

Overrides mesh-noise settings from the Tree Controller.

Enable

Enables mesh surface noise.

Type

Type of turbulent noise used.

Frequency

Scale of the mesh noise.

Randomize Offset

Randomizes the noise offset using the seed.

Offset

Offsets the noise pattern in space.

Intensity

Strength of the mesh deformation.

Multiply Intensity by Radius

Scales mesh noise intensity by branch radius.

Intensity Ramp

Adjusts mesh noise along the branch length.

Meshing

Controls how branch geometry is generated.

Override Meshing

Overrides meshing settings from the Tree Controller.

Custom Branch Profile

Geometry profile used when sweeping branches. The profile should be centered and oriented in the XY plane.

Intersections

Intersection Behavior

Defines how branch intersections are handled.

Smooth Amount

Controls smoothing of Boolean intersection geometry.

Blend Falloff

Controls the falloff of the normal blend around intersections.

UV Blending

Generates a secondary UV set that inherits UVs from the parent and uses vertex color to blend between UV sets around intersections.

Enable UV Blending

Enables UV blending at branch intersections.

Blend Distance

Distance along the branch used for UV blending.

Blend Falloff

Controls smoothing of the UV blend region.

End Caps

End Cap Type

Geometry used to close branch ends.

Cap Divisions

Radial resolution of the end cap.

Triangular Poles

Connects cap points to a central pole.

End Cap Scale

Controls the bulge of the end cap shape.

End Cap Roundness

Adjusts how smoothly the cap transitions to the branch.

Resolution

Override Resolution

Overrides resolution settings from the Tree Controller.

Resolution

Number of subdivisions along the branch length.

Refinement Amount

Reduces subdivisions on straight sections.

Divisions

Radial subdivision count of the branch mesh.

Displacement

Override Displacement

Overrides displacement settings from the Tree Controller.

Enable Displacement

Enables displacement mapping.

Displacement Texture

Texture used for displacement.

Displacement Intensity

Strength of the displacement effect.

Subdivision Amount

Subdivides geometry before displacement.

Reduce Resolution

Enables polygon reduction after displacement.

Polygon Count

Target polygon count after reduction.

Tolerance

Error tolerance used for reduction.

Visualization

Override Visualization

Overrides visualization settings from the Tree Controller.

Enable Visualization Color

Enables viewport color visualization.

Color

Color used for visualization.

See also

Geometry nodes