1. Home
  2. Docs
  3. Factory Pipeline
  4. Pipeline Elements

Pipeline Elements

Element Components

Pipeline elements are represented using nodes on the tree canvas. Each node has components to identify the element they represent, information about their configuration, pads to connect them to other nodes and controls to modify their role within the pipeline. The main components of nodes and their role as described here:

  1. Title bar: displays the name of the element node. It has a color based on the type of aspect the element modifies on the tree.
  2. Enable/disable check: some elements have the option to be disabled remaining part of the pipeline. Disabled elements don’t participate in the processing pipeline; disabling elements is useful when testing the tree creation process.
  3. Randomized icon: this icon indicates this pipeline element uses some level of randomization when processing a tree.
  4. Node body: some nodes display information about the data processed by the element or its configuration.
  5. Sprout groups: display specific configurations for sprout groups on elements that modify sprouts data.
  6. Source element: the preceding element the selected element receives data from when it is connected to a pipeline.
  7. Sink element: the following element connected at the sink pad of the selected element.

Node Operations

Nodes are entities created in the tree canvas context. When creating a new Tree Factory object its canvas come with the most basic pipeline; in order to extend any existing pipeline capabilities, more elements could be integrated to the pipeline or modify these elements properties. Additionally to the operations describes below, the nodes are movable around the tree canvas.


Alt-click on an empty area of the tree canvas brings a context menu to select the elements available to add. The main menu options are the classes of elements available (see below for Elements by Class).


To delete a node within the pipeline alt-click on its title or its body, a context options is displayed to selected is deletion. Take account that deleting elements connected to other elements within a functional pipeline will render this pipeline incomplete.


Element nodes display pads either at their top border or at their bottom border. These pads are used to connect elements. To connect elements just click on the sink pad of an element node and drag the pointer to the source pad of the element node aiming to connect to; the same method is used in reverse to disconnect element nodes. Take account that elements have restrictions on the elements they can connect to, thus an invalid connect will not be applied.

Elements by Connection

There are tree categories of element nodes when making connections on a pipeline.

Source Elements

These element nodes are the first node on a pipeline. Source elements provide the most basic data structure used later by other pipeline elements to build the final tree.

Transform Elements

Transform elements comprise most of the element nodes within a pipeline. These element apply changes and some add randomization to the final tree asset.

Sink Elements

These elements are the last node on a pipeline. Are used to place the final tree within the scene.

Elements by Class

Element nodes are placed within the pipeline using their class group as an order constraint. Elements that belong to the same class but have different tasks within the pipeline also have an order to follow; this is the global order of element nodes for a pipeline based on their class:

Structure Generators

Generators provide the basic data structure of branches and/or sprouts to be modified or used as input for other elements downstream. There are generators for branch hierarchy, for sprouts or generators that provide both entities.

Structure Transformers

Transformers take branches and/or sprout data as input and apply operations on them. These elements are useful to modify aspects of tree such as: branch length, branch girth, branch hierarchy, branch bending, sprout angle, sprout direction and sprout size.

Mesh Generators

These elements create the mesh data around branch and/or sprout data input.


These elements task is to apply existing materials or create new ones from textures to be assigned to the tree mesh.


Apply vertex data and positioning on the final tree product.


To see all the available options on each pipeline element please refer to the node description section on the documentation.

Was this article helpful to you? Yes No

How can we help?