SpeedTree is great program for creating vegetation; trees, plants, and etc. It is very intuitive and easy to navigate. SpeedTree is a node based system with a procedural and a hand drawn approach. Many studios are adopting it into their workflow.
You can start with their vast library (free with Cinema version) or create your own using custom leaf or branch models and textures.
Click into any of the categories to see a whole host of wonderful trees/plants to download. Here is some of the broadleave trees.
You can export as a mesh with baked-in wind animation via point cache, and then bring it into your rendering package of choice. It is fast and flexible once you get used to its GUI. The tree are true 3d geometry. The leafs can start as cards but also can be swapped out for geometry.
There are some great tutorials on getting started with SpeedTree on youtube
I won’t go into the basics of using the program too much, these tutorials above can do a much better job. I’d like to highlight some features I think that are worth mentioning.
Within Speedtree, each element has a whole host a parameters that can be dialed in or manipulated individually. You can work in Generator mode to sculpt up your tree in a more procedural way, there are tons of parameters to use affect the shape and structure of your tree/plant.
The Parent Curve (green box)edits the child generator distributing values based on how far along their parent each node occurs. For instance you can have the length of limbs on tree get shorter as they reach the top of your tree.
The Profile Curve (cyan box) edits each property along each individual nodes. For instance you can thin the width of the branch at it’s ends so that it ends in a point. Parent curves govern the group, and profile curves are applied the same to each member of that group.
Click the curve and a curve editor pops up. You are able to move the points up and down, add a slope, add more points, or use presets and alter them.
Randomizing Seeds allows you to random generate variation of your tree/plant. Once you have created a tree to your liking (and saved it) you can click the “Randomize” button to create a new variation of that tree. You should take care when running this, if you run all the nodes in the tree you run the risk of the randomization to “break” your tree. Its best to select some more core elements of tree and run Randomization on them. Here I have a plant that I ran Randomize on just the stem attribute. You can see the variations just from that.
Forces are a powerful tool in Speedtree. Use Forces to shape models. You can push, pull, gnarl, twist or curl up any part of your tree/plant. You can have forces work independently or in conjunction to other elements on your plant. You can change the intensity of the force as well. Just check on the force that you want and then at what intensity. You can see a Magnet force applied to 3rd image below with a high attraction setting. You can apply the curves we talked about early to them as well. You can also have a force only affect a single branch or leaf in node editing mode.
There is something called Meshes in Speedtree, which is basically geometry. You can import your own meshes created in other 3d applications. This geometry can be used in your trees. You could make your own leaves, branches, etc and have them work in Speedtree.
Now these same meshes can be used as Mesh Forces, which is just combining the object with a force function. You can have an object attract/repel your tree to it’s size and shape. You can also have your tree grow from this object. Bottom image shows a sphere as a mesh force attracting the branches of the tree but colliding on impact. There is a whole host of various cool ways to use these parameters.
Lastly Speedtree is great at exporting out your tree/plant so that you can utilize it in a 3d program of your choice. There is an FBX export, Obj export, and some plugins to help with certain applications. I mostly OBJ export. Speedtree says out the materials for your tree along with the mesh as an .obj. Now you just have to import the mesh and hook up the shader for your tree in your 3d application.
There are also Mesh Zones, where plants/tree can be generated across it’s surface.
So this was a brief overview and outline of some of the key features of Speedtree. I’ll go over some specific techniques in part 2.