Branch object defines how a plant grows using a number of growth parameters. It generates a set of sub branches once per 'year'. Age is a relative concept here; you can consider the units as days, if the plant grows rapidly. Sub branches follow the same growth rules as their parent, unless child branch objects are present. In other words, plant's sub hierarchy defines the structure of the generated geometry in a natural way.
|
A branch object can have multiple child branches. When a branch decides to grow a sub branch, it seeks for active sub branches, and only one (the first active) sub branch is invoked to grow. For example, a certain sub branch type 'leaf branch' may be active during the first 10 age units, after which another sub branch 'flower branch' becomes active. The plant root object is identical with the branch object, except that it grows to the opposite direction. As the name suggests, it adds roots to the plant. |
![]() |
Model Type: Defines the type of the generated geometry. The options are:
Analytics - Branches are built using cones, cylinders and spheres. This kind of geometry is very fast to render, and also quite memory efficient if branches are relatively straight (i.e. when the Density parameter is 0.5 .. 1.0). The UV Coordinates of this model type are limited: U component is constant zero, and V grows stepwise per geometry item.
Particles - Branches are built from 2D particle segments. This kind of geometry is also fast to render and more memory efficient as analytic primitives. The real time geometry is drawn using thin unshaded lines, which makes the tree very fast to manipulate in modeling. Particle geometry does not support UV Coordinates at all in the current version.
NURBS - Branches are ray traced NURBS curves. The NURBS option has no UV Coordinate support (except the native UVs of all NURBS curves), but the lowest memory consumption in ray tracing, reasonably fast rendering and very fast ( wireframe only ) real time drawing. NURBS curves do not currently support pointwise attributes, which means that branch diameter control is limited to the start and end points.
SDS - The most detailed way to model the branches. Features: highest memory consumption, accurate UV support, possibility to apply displacement mapping etc.
Activation: The age when this branch type becomes active. Inactive branches do not grow. The first active sibling branch defines the growth parameters for a new branch.
Deactivation: The end of active growth period.
Tail Cut Age: Cuts the branch tail after the given number of years.
Sub Count: The number of sub branches, which start growing from a branching point.
Rnd Count: Randomizes the count. Value 1.0 selects a random number from the interval 0 .. Sub Count.
Sub Thickness: The relative thickness of a branch vs. its parent.
Rnd Thickness: Randomizes the relative thickness value.
Thickness/Age: Changes the relative thickness by the age when branching happens. If the value is high, the relative thickness of oldest branches is smallest. For example, a spruce has a thick trunk. Even the strongest main branches are thin compared to the trunk. However, the trunk gets thinner towards the top, and the upmost branches are quite as thick as the trunk from which they grow.
Density: Defines how densely the growth parameters are evaluated and new geometry added to the tree. The smaller the value, the stronger bends branches can make because of gravity and other deformation factors. The drawback is that densely evaluated geometry consumes more memory.
Length: Defines the growth speed of the branch. The value is relative to the length of the parent branch: if Length equals 1, the sub branch grows the same length per year as its parent branch.
Rnd Length: Random variation in the length. A value 0.5 changes the length -50% .... +50 % randomly.
Length By Age: Defines how much shorter/longer the branch segments get every year. The value is multiplies the length, meaning that the factor 1.0 keeps the length the same. Many plants first grow rapidly higher to reach the light from the shadow of bigger plants. When they reach a sufficient amount of light, they target their growth energy to spread branches sideways.
Spread by Age: Changes the horizontal spread by the age when the branch started to grow. The actual spread parameter is the sum of the constant spread and the age dependent spread. If Horiz. Spread=0, Spread by Age=1.0, full horizontal spreading is achieved at the end of each branch. If Horizontal Spread is 1 and Spread by Age -1.0, spreading reduces towards the ends of branches.
These attributes define how the diameter of the branch changes towards it end point. You can define the profile using a constant tapering factor with some randomization, or using a profile curve, or as a combination of both controls, in which case the tapering factor is the product of the two controls.
Note: NURBS curves do not support pointwise attributes in the current program version. Branch diameter control is limited to the start and end points with this geometry type.