Houdini 21.0 Nodes Geometry nodes

Labs Biome Plant Define (Beta) 1.2 geometry node

Defines the plant attributes for the Biome Toolset.

On this page
Since 20.5

This node creates the dictionary attribute plant_definition used in the rest of the Biome Toolset. It is used to define all the preferences of an individual plant species including Temperature, Precipitation, and Spacing.

The Species Variants tab is where different growth stages or variations of meshes are defined alongside dead version meshes. This tab is also where the ranges of random variation per variant are defined.

Multiple of these nodes can be chained together to define a full library of plants. The Biome Plant Definitions File SOP can take a chain of these nodes as input to help read and write the plant library from a .json or .bgeo file. The first input of the Biome Plant Scatter SOP expects a chain of Biome Plant Define SOP nodes or the output of the Biome Plant Definitions File SOP set to create geometry.

This node’s viewport UI features the Whittaker Biome Diagram, originally proposed by Robert Harding Whittaker (1975), modified by Robert Eric Ricklefs (2000). The exact image this node used was released under the CC0 1.0 Universal license.

Parameters

Species Settings: Species ID

Name

Name of the plant. Do not include spaces.

Color

Color to apply on the plant’s visualizer.

Species Settings: Temperature

Lower

Lowest temperature (in °C) that the plant can endure.

Preferred

Preferred temperature (in °C) of the plant.

Upper

Highest temperature (in °C) that the plant can endure.

Species Settings: Precipitation

Lower

Lowest average annual precipitation (in mm) that the plant can endure.

Preferred

Preferred average annual precipitation (in mm) of the plant.

Upper

Highest average annual precipitation (in mm) that the plant can endure.

Species Settings: Spacing

Maximum Density

The number of plants per square meter when the plant viability is at its highest and all bounds radii are zero. The Bounds Radius culls points after this initial density scatter. To improve performance, reduce this value until you visually start to notice a decrease in density.

Type

Select the plant’s type. If a plant’s type is Shrub, it will be permitted to spawn beneath nearby plants with a plant type of Tree. In this case, the nearby Tree Bounds Radii are ignored by Shrubs.

Species Settings: Scale

Scale Multiplier

Factor by which this plant species is scaled.

Species Settings: Biomes

Contain in Selected Biomes

When enabled, the plant species will only be scattered in the Selected Biomes. For example, if there is a hot and cold biome right next to each other, a plant species that prefers a temperate middle temperature might appear on the border between these two biomes if they are blended together and Contain in Selected Biomes is disabled. If the temperate plant species has Contain in Selected Biomes enabled and only a temperate biome selected in Selected Biomes, then this species will not appear in this blurred area between the hot and cold biome.

Path to Biomes

Node path to the last Labs Biome Define SOP in a chain of nodes or a Biome Definitions File SOP set to create geometry from a biome definitions file. A list of biomes defined by this path will populate the Biome drop down menu.

Selected Biomes

List of biomes this plant species could appear in if the species is viable in those biomes. If Path to Biomes is set correctly, the drop down on the right should list all of the biomes to choose from.

Species Settings: Advanced

Randomize Scale

If this Randomize Scale is enabled, plants are scaled randomly within the variant’s Scale Range. If disabled, plants are scaled by viability within the variant’s Scale Range.

Hardiness

Plants' ability to endure difficult conditions. Higher values extend the ideal growth conditions to its higher and lower tolerance levels.

Normal from Terrain

Ratio of alignment to match the terrain. Plants with values of 1 will follow the terrain surface, and values of 0 will be aligned to the up vector.

Randomize Yaw

The range of degrees to randomly rotate around the normal. 180 will provide completely random directions.

Material

An optional point material override for every variant.

This is only useful if all variants share the same material. If the variant materials vary, then materials will need to be set in the geometry file or upstream of the variant operator path.

Species Variants

Autofill Mode

From Directory auto-populates the variants multiparm with the appropriate Mesh Variant # file names that match the Pattern and are located in the Variants Directory.

From Merge Path auto-populates with the operator paths of each input into the Variants Merge Path.

Variants Directory

The directory where mesh variants are read from.

Pattern

Space separated list of patterns to filter and select a subset of files within the Variants Directory.

The underlying script uses filename pattern matching in Python with fnmatch.filter. It does not use Houdini’s native pattern matching.

Search Child Directories

Recursively search for files within the child directories of the Variants Directory.

Variants Merge Path

The path to a merge node where multiple mesh variants have been input. Each input will be entered as its own operator path mesh variant.

Autofill Radii on Load

Execute Autofill Radii from Mesh Bounds when Autofill Variants is executed. Save a button click if both operations need to be executed.

Autofill Variants

Auto-populate the variants multiparm with the appropriate Mesh Variant # file or operator paths.

Max Shrub Height

The height of the tallest shrub. The trunk radius is calculated from the bounds of the geometry that has been clipped between the Max Shrub Height and the Ground Cover Height.

Ground Cover Height

The height of the ground cover below where the tree’s trunk begins. The trunk radius is calculated from the bounds of the geometry that has been clipped between the Max Shrub Height and the Ground Cover Height.

Autofill Radii from Mesh Bounds

Calculate and auto-populate the Bounds Radius and Trunk Radius for each variant in the multiparm.

Include Engine Asset Paths

Enable the Asset Path references. This is useful if you are importing the point scatter into a game engine.

Species Variants: Variants

Mesh Variant from

File points to a geometry file on disk, while Operator Path points to an operator reference, a node within the hip file.

Mesh Variant

A path to the healthy plant geometry.

Mesh (Dead) Variant

A path to the dead plant geometry.

Weight

Weight of the mesh distribution. If there are multiple variants with the same Age Range, Weight will prioritize which variant is scattered. A mesh variant with a higher weight will have a greater probability of being spawned.

Bounds Radius

Minimum radius needed for this variant to grow. Other trees may not spawn within this radius.

Trunk Radius

Shrubs may not spawn within this radius.

Normalized Age Range

The age range when the mesh variant is spawned. 0 is the youngest and 1 is the oldest.

For example, a sapling mesh variant might appear for the first third of a tree’s lifespan and have an age range of 0 to .33, while a medium version of the tree could appear between the ages of .33 and .66, and a large, mature tree could appear between .66 and 1.

Scale Range

Range in which the uniform scale can jitter.

Dead Ratio

The ratio of Mesh (Dead) Variant meshes to Mesh Variant meshes. Set to 0 if the Mesh (Dead) Variant # is left blank.

Species Variants: Unreal Engine

Asset Path #

The path to the healthy plant mesh in the engine.

To get the correct path from Unreal Engine, right click on an asset and use Copy reference. Unreal Paths will look like this: /Script/Engine.StaticMesh'/Game/Models/MyAsset.MyAsset'

Asset (Dead) Path #

The path to the dead plant mesh in the engine.

To get the correct path from Unreal Engine, right click on an asset and use Copy reference. Unreal Paths will look like this: /Script/Engine.StaticMesh'/Game/Models/MyAsset.MyAsset'

Visualize: Graph

Visualize Graph

Enable the visualization of the Whittaker Biome Graph.

Visualize: Plants

Visualize Plants

Enable the visualization of the plant variations and their spacing radii.

Variant Spacing

The buffer distance between the plant bounding radii.

Locals

See also

Geometry nodes