Houdini 20.5 Nodes Geometry nodes

Labs Biome Plant Scatter (Alpha) 1.0 geometry node

Scatters plant species points across the surface of an input heightfield by matching input plant types with their preferred environmental conditions.

On this page

This node scatters plant species points defined by multiple Labs Biome Plant Define SOPs chained together or a Labs Biome Plant Definitions File SOP that is set to create geometry from a plant definitions file. These points contain attributes denoting their ideal conditions and tolerance level for factors including temperature and precipitation. The second input is a heightfield with biome attributes including temperature and precipitation, and other environmental attributes such as soil. This second input expects a heightfield generated by a Labs Biome Attributes to Terrain SOP followed by a recommended Labs Biome Attributes Evolve SOP. This node inserts the plant and heightfield attributes into a viability function to determine the viability of a species in an area. The function produces a species viability heightfield layer per plant species and these layers control the scatter density of the plant species. After an initial plant scatter, plant species in close proximity to one another compete for resources, and the strongest survive while the weaker species are culled. The third input expects a heightfield mask or geometry to build a mask from. This mask is subtracted from the soil mask and will exclude the scatter from those areas. The first output is a point cloud source for instancing and the second output is the heightfield that can optionally include all of the plant viability layers when Output Plant Viability Layers is enabled.

Parameters

Mode

Controls if terrain points are scattered on the input terrain or a test terrain, or alternatively, if a simple line-up of the plant inventory is displayed. Scattering on test terrain or displaying the plant inventory modes are used for experimenting with plant species and biomes before a terrain environment has been defined. Scattering on input terrain requires an input terrain while the other modes do not.

Scatter on Input Terrain: This mode scatters points onto the surface of the input heightfield based on the input heightfield layers: Temperature, Precipitation, and Soil.

Scatter on Test Terrain: This mode generates a test terrain with specified or existing biome attributes. Heightfield layers for Temperature and Precipitation are generated based on the Test Terrain parameters and Soil is filled with a value of 1.

Display Plant Inventory: This mode produces a line-up of each plant specie’s mesh variants alongside their corresponding dead mesh variants.

Spacing

The distance between plant species.

Test Terrain

Size

Width and height of the test terrain heightfield, in meters.

Biome Attributes

Method for defining the test terrain biome attributes.

Specified: Biome attributes are manually set with Temperature and Precipitation parameters.

From Existing Biome: Biome attributes are read from an existing 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 ordered menu.

Biome

The biome to read biome attributes from and apply to test terrain.

Temperature

Test terrain is filled with this temperature value.

Precipitation

Test terrain is filled with this precipitation value.

Temperature

Test terrain is filled with this temperature value.

Precipitation

Test terrain is filled with this precipitation value.

Scatter

Post-processing

Scale Multiplier

Factor by which all plant species are scaled.

Density Multiplier

Factor by which the density of all plant species is scaled.

Age Jitter

Scale of the offset to slightly alter the plant ages. Ages are jittered by a value of -0.5 to 0.5 times this scale. Jittering the age will introduce chaos and break up the artificial smooth profile of a forest. Age is then clamped between 0 and 1.

Random Seed

The random number seed used to scatter points.

Culling

Enable Culling

Enables post-processing culling.

Cull Type

Method for culling.

Percentage to Keep: Method for culling by percentage.

Maximum Number: Method for culling by maximum number.

Maximum Number

Points exceeding this number are culled.

Percentage to Keep

Percentage of points that are not culled.

Enable Mask

Enables the masking of points by the third input. A heightfield mask and/or geometry will be subtracted from the soil mask to prevent plants from scattering in the masked area.

Invert Mask

Enable to invert the mask of input 3. If enabled, the red areas of the input mask will be subtracted from the scatter.

Incomplete Age Coverage

Replace With

Geometry to reference if the current plant point’s age is not covered by the plant specie’s Normalized Age Range parameters defined by the Biome Plant Define SOP. Preview results with an Instance SOP.

No Geometry: Plant points are removed from the scatter.

Debug Spheres: The point’s instance attribute, Mesh Path, references a colored sphere. This geometry is useful for debugging.

Closest Age Mesh Variant: The point’s instance attribute, Mesh Path, references the mesh variant with the closest age range to the current plant point’s age.

Debug Sphere Color

A color value that is easily distinguishable from the color of plant mesh variants.

Debug Sphere Scale

The scale of the Incomplete Age Coverage debug sphere.

Invalid Mesh Path

Replace With

Geometry to reference if the current plant point’s Mesh Variant is missing or invalid. Preview results with an Instance SOP.

No Geometry: Plant points are removed from the scatter.

Debug Spheres: The point’s instance attribute, Mesh Path, references a colored sphere. This geometry is useful for debugging.

Debug Sphere Color

A color value that is easily distinguishable from the color of plant mesh variants.

Debug Sphere Scale

The scale of the Invalid Mesh Path debug sphere.

Input

HeightField Layers

Temperature

The name of the temperature heightfield layer.

Precipitation

The name of the precipitation heightfield layer.

Soil

The name of the soil heightfield layer.

Output

Detail Attributes

meshvariantsdetailarray

Output the Mesh Variants detail string array.

Mesh Variants

Name of the Mesh Variants detail string array. A list of unique strings that are the instance references. These references should point to files on disk or op: operator references. Only the mesh variants present in the scatter are included in the Mesh Variants array.

ueassetdetailarray

Output the Unreal Asset Paths detail string array.

Unreal Asset Paths

Name of the Unreal Asset Paths detail string array. A list of unique strings that are the unreal instance paths. These references should point to the asset’s reference.

Point Attributes

Mesh Path

Name of the mesh path point attribute, also known as the instance attribute.

outputunrealpath

Output the Unreal Asset Path point attribute.

Unreal Asset Path

Name of the Unreal Asset Path point attribute.

outputage

Output the Age point attribute.

Age

Name of the Age point attribute.

outputviability

Output the Viability point attribute.

Viability

Name of the Viability point attribute.

Enable Mesh ID

Output the Mesh ID integer piece attribute.

Mesh ID

Name of the Mesh ID integer piece attribute. This attribute is the enumeration of the Mesh Path attribute.

Enable Unreal Mesh ID

Output the Unreal Mesh ID integer piece attribute. This attribute is needed for the PCG Export SOP.

Unreal Mesh ID

Name of the Unreal Mesh ID integer piece attribute. This attribute is the enumeration of the Unreal Asset Path attribute.

Point Groups

Plant Points Group

Output Plant Points group.

Plant Points

Name of Plant Points group. This is a group of all the points of the first output.

HeightField Layers

Output Plant Viability Layers

Output a plant viability heightfield layer per plant species with the second output.

Prefix

String added at the beginning of each plant viability heightfield layer name. Name = Prefix + Species ID Name.

Visualize

Points

Visualize Points

Visualizes the points colored by their attributes.

Color By

Attribute to color the points by.

Plant Species: Color by the Species ID Color defined by the Biome Plant Define SOP or assign random colors from the Species ID Name attribute when Assign Random Colors is enabled.

Viability: Color by the Viability attribute.

Age: Color by the Age attribute.

Assign Random Colors

Assign random colors from the Species ID Name.

Seed

Seed for the random colors.

Normalized Color Ramp

Control how colors map to attribute values. Colors on the left correspond to lower attribute values while colors on the right correspond to higher attribute values.

HeightField Layers

Visualize Terrain

Visualizes the terrain. Note: If Mode is set to Display Plant Inventory there is no terrain to display.

Visualize Species Viability

Visualizes a Species Viability heightfield layer as a red mask. The more red, the more likely the plant species will be scattered in that area. Navigate to the Output tab and enable Output Plant Viability Layers to output these heightfield layers to the second output.

Species

The current plant species to visualize.

Locals

See also

Geometry nodes