This section provides an overview of the SpeedTree modeling process.
Welcome to the SpeedTree Modeler. This page is an overview of the fundamentals you will need to be able to model trees accurately. Please keep reading for more info.
SpeedTree models consist primarily of two types of objects: generators and nodes. Generators can be thought of as rule sets that define how a certain part of the tree grows. There are generators that describe branches, fronds, leaves, zones, and proxies. More info on these specific types can be found here. Nodes are the actual components of a specific tree model. Generators create nodes based on property values and curves edited by the user, and are varied with random numbers. Therefore, a single generator may be responsible (and often is) for the creation of many of the nodes of a single tree model.
Tree models are created by first setting up the generators. As an example, to create a new tree with a trunk and twenty branches growing off of the trunk would require three generators – a 'Tree Generator' (every tree has one), a “spine” generator for the trunk (“spine” generators make both branches and fronds), and another “spine” generator for the branches growing off of the trunk. The trunk would be a child of the 'Tree Generator' with a Frequency value of 1. The 'branches generator' would be a child of the trunk with a Frequency value of 20. This can all be accomplished by linking generators together in the 'Generation Editor' (pictured to the right) by dragging icons on top of other icons.
An easy way to get a basic tree going (similar to the one described above) is to simply add “templates” directly to the Tree Generator:
Notice that the “Standard_RT” template contains more than one branch level. Custom templates can be saved with any number of generators within them, and added to trees through this right-click menu.
The length, radii, angles, and other properties of the trunk and branches are edited by modifying the corresponding values for each on the Property Editor.
For example, to make the trunk longer you would increase the Length property of the “Trunk” generator. To make branches near the top of the tree shorter than those at the bottom you would modify the “Level 1” generator's Length parent curve (the green one). To give each branch a slightly different length, you would modify the variance of the 'Length' property (access by toggling the “+/-” button to the right of the Length property value). You can go back and edit any property later on if necessary.
The 'Tree Generator' is the root node of the tree, and it houses many global tree properties that govern the behavior of the rest of the tree. The Tree Generator's properties become active in the 'Property Editor' when nothing is selected in the 'Tree Window', or when its icon has been selected in the 'Generation Editor'.
To vary the computed values of nodes based on their positions in the tree, edit the green “parent” curves next to each property on the generator. For example, within a single generator you can make the base branches longer than the branches near the tip of the parent by editing this parent curve. With the cyan “profile” curve you can edit how each property is applied along each individual node made by the generator – for example, a profile curve can make the radius decrease along the length of each individual branch to ensure that they all terminate in a point. These two curve types are available for most properties. To edit them, click on the desired curve thumbnail in the 'Property Editor' then edit the curve itself in the 'Curve Editor'. (Note: Within the Property Editor, the Parent Curve is always to the left of the Profile Curve.)
Once you have made a tree, new variations can be created by simply changing any of the generators' random seeds. There are many seeds throughout a tree model that can be randomized independently. To randomize all of the seeds for a particular generator at once, press the “dice” button on the 'Generation Editor toolbar'.
Using Forces to Shape the Model
Use a “force” to push, pull, gnarl, twist, or curl up any part of your tree. Forces can be added to the scene via the 'Tree Window' toolbar and manipulated outside of the tree node hierarchy. They supply a way of manipulating things in a world-centric way – for example, a direction force can be used to simulate gravity… and it can pull in any direction!
We've incorporated the ability to hand draw tree elements with a tablet device (or with only a mouse). Hand drawn branches can be crafted into any shape you can imagine, and they can be linked seamlessly with procedural content. Not only that, but they are constructed from Bezier spline control points that are easy to manipulate in world space while in node editing mode (see next sub-topic).
Once the tree is reasonably close to what you're looking for individual nodes can be selected and edited explicitly. Don't like where a branch is? Select it and move it. Is a leaf is sticking out too far? Select it and delete it. Need more segments on a low branch? Select it and increase the polygonal resolution. It is this type of editing that gives artists much more control over the modeling process than exists with typical procedural modeling approaches. Any node edited in this manner can still be modified by its associated generator since node edits are really offsets of computed values.
In order to be able to select individual nodes, you must select the Generator Button within the Tree Window Toolbar so it switches to Node Mode.
Add Your Own Textures or Custom Meshes
Use any of the textures or mesh assets that ship with the SpeedTree Model Library, or use your own! SpeedTree supports the importing of a wide variety of image and 3D mesh formats, allowing you to import your own art for use with your tree models.