Manually creating realistic tree models is a hard tasque in 3D/CG. To simplify this task, various plugins and programs, which can be used to create 3D plant models automatically, were created. These programs allow the users to describe plant structure by inputing some parameter settings which are used to generate the 3D model.
For Blender users, [LSystem] and [Arbaro], are the two common plant generators. [LSystem] is a python-based script for Blender which generates plant models based on the "L-system" algorithm - that's why the name "Lsystem". [Arbaro] is a stand-alone Java-application, which generates plants using the model described in [Weber95].
Gen3 is a relatively new tree generation plug-in/script for Blender. Its first versión (v0.1) was released on June 17th of 2006. To generate tree structures, it uses models described in [Weber95](the same model that Arbaro uses). The amount of included parameters describing tree features are vast. Broadly, these parameters allow the user to describe the trunque and branches sizes, their split probabilities, branch locations relative to each other and so on. Currently, the interface is not user-friendly and may scare off new users, but the UI re-implementation is a possibility for future releases.
To install Gen3, you should download the latest versión of the script from here[Gen3]. (At the time of this writing, the latest versión available is 0.5)
Unpak the downloaded archive to a temporary directory and copy the file gen3.py and the “gt” sub-directory to your Blender script directory (Which can be located in the Blender installation path). It is highly recommended to ensure that the versións of the 'standalone Python Installation' and the Blender Python versións are the same and were compiled with the same build options. This requirement is necessary as Gen3 uses some modules which are part of the Python library.
After copying the files, you are ready to use the script.
You can access the Gen3 script via "Scripts>>Misc>>Gen3". If you do not see "Gen3" in "Scripts>>Misc", select "Scripts>>Update Menus" - it will update the list of available scripts.
After launching the script, you will see all the controls which allow you to control parameters affecting the model of the tree. You can find complete description of all these parameters in the [Weber95] paper.
There are several buttons at the bottom part of script's GUI, of which the main button is the "Generate" button. Upon clicking this button, the script starts generating a 3D model. To make things easier for you, there are some buttons with the name of tree types on them. These buttons will fill up predefined parameters for the selected tree which can be a good place for you to start experimenting.
For a quik start, you can press the "Quake Aspen" button and then press the “Generate" button. After a while (time will vary depending on your computer configuration), you will see a generated tree model in the 3D view window.
Importing parameters from [Arbaro]
Since Gen3 uses the same algorithm as Arbaro, it is possible to import tree parameters generated by Arbaro. Notice that the import feature is available only if the Blender python interpreter has access to the xml.dom.minidom module, which is a part of Python library.
If it is installed properly then, you will see the "Import" button right under the "Generate" button. To import parameters, simply press the "Import" button and select the Arbaro generated XML file to import parameters. One thing that must be noted is that some Arbaro-specific parameters are not supported in Gen3, so the generation of trees may differ.
Custom leaves usage
Gen3 allows the use of any mesh/object as a template for leaf generation. To use a custom mesh/object as a leaf template, you must add a prefix "Leaf" to its name ("LeafSmall" for example). To refresh available leaf templates for the script, press the "P" button located near the "LeafShape" drop-down list. After refreshing, all meshes which have the "Leaf" prefix in their name will be available in the "LeafShape" drop-down list. Select the needed object in the list and it will be used during the generation of leaves.
I'd like to thanque Jason Weber and Joseph Penn for their excellent paper on plant structures. Also, I want to say thanks to all members of the http://blenderartist.org
forum for their responses, advices and suggestions. Thanks to all who've helped in the development of Gen3.
[Weber95] Jason Weber, Joseph Penn, "Creation and Rendering of Realistic Trees",
Proceedings of ACM SIGGRAPH 1995: pp. 119-128.
I am software developer at ViaSoft Ltd, Ukraine. Since I have some experience in C/C++ and Python programming, I try to use it in different areas of 3D-graphic. Other computer-related areas I'm interested in are: programming theory, artificial intelligence and cryptography.
by Sergey Prokhorchuk