TreesDesigner 1.5
user's manual

Table of contents
1. What's new.
2. Installation.
3. Usage and quick start.
4. General Information.
5. Interface.
6. Miscellaneus.
7. Contact.
1. What's New
  • The core of TD was re-written from the scratch to implement new algoritms, increase speed and allow new features. Trees created with this version of plugin will look differently than the ones made using TD 1.0. They will look more realistic, have better shapes and will be error free (no more twisted segments).
  • New algoritms provide better control over tree shape. Less settings should allow new users to learn the plugin faster.
  • Now a tree is created as single continous mesh having all branches nicely integrated with trunk.
  • Multiple trunks (or trees growing close to each other).
  • Secondary branches (twigs) make tree denser allowing more space for leaves. They also help creating more organic look as their growth is not restricted by provided geometry.
  • Sub segments - allow for more forks not affecting general tree shape (as increasing segments would do).
  • and many other little tweaks and bug fixes not worth mentioning here :-)
  • 2. Installation

    There are two options available of installation - automatic and manual. Which one you can use depends on your distribution version. First one comes as an executable and is fully automatic - it copies all files into proper locations in your LightWave folder. Second one usually comes as a zip or sit file that has to be unpacked manually. Than you need to copy the plugin and its key file wherever you want (for instance into LightWave plugins directory) and contents of presets directory to LightWave presets one.

    Regardless on the installation version plugin has to be added to LW configs. LightWave 9 has an autoscan feature so it should find the plugin and add it to 'additional' menu. If that function was disabled use Modeler->Plugins->Add Plugins or Edit Plugins (Alt+F11) and select TreesD.p file. You should be told that plug-in had been successfully added. You will find this plugin in Construct->Additional menu.

    Please keep your key file in a save place. Updates will not work without it.

    3. Usage and quick start.

    TreesDesigner allows to design a tree in any shape you may need. You just need to draw some 3D shapes that will define positions of branches' tips.
    Here is step-by-step description:

  • draw in modeler any shape you want your tree to be shaped to. Remember branches' tips will be placed on the surface of this object, so use it wise. For the best results use only quad and triangle polygons. You can start with a simple box or a couple of spheres. What kind of objects you use it doesn't really matter as it is only a goal for the tree to grow to.
  • put this shape into background layer and run the plugin.
  • open LightWave numeric panel to gain access to TreesDesigner controls.
  • click Refresh->Manual to force plugin to refresh a tree. You can set it to Realtime to get the tree updated everytime you change any settings. You should see a wireframe representation of a tree in LW viewports.
  • now you can change some settings to shape your tree better. In realtime mode tree will be update every time you change something. With more complicated trees you may need to type numbers instead of dragging sliders.
    in manual mode you have to update tree manually after changing options (by clicking manual/realtime pull-down).
  • once you are happy with tree shape you can add secondary branches that are created as another pass that doesn't alter branches distribution or tree shape. To do that go to 'twig' tab and change type to anything but "off".
  • change RenderType to polygonal or SubD to see the complete tree.
  • now you are ready to make some leaves. If you created the tree as SubD you have to convert it to polygons (by freezing geometry). Leaves cannot be created on SubD. It is good to make a copy of the tree before freezing. The copy will be used for rendering later.
  • with your polygonal tree in foreground layer (and no background layers) run leavesGenerator.
  • LG should pick up settings from TD and make leaves only where they should be.
  • if you made a copy of the tree you can delete tree polygons from that layer leaving leaves only to have tree and leaves in separate layers.
  • For the first time users it is recommended to load shapes and presets included in this package and use them as a starting point.

    4. General information
    TreesDesigner allows to create a tree in practically any shape. It is not possible to predict all posible user inputs so not every time you will get a perfect tree. The plugin will try to grow a tree that will conform to your desired shape but in some cases it may be just impossible to do it right (from estetic point of view). When desigining a tree you should keep in mind that the plugin will have to grow branches to reach somehow the geometry you provided. Sometimes very simple shapes as for instance a bunch of randomly rotated and offset boxes can create really nice looking tree but your complicated shape cannot. Just keep experimenting and let the plugin try a couple of times with different settings and seeds. You will get nicer trees from a few separated shapes than from one continous one. Keep it simple. Growing a tree to form a creature you recently made or a speaceship is not the best idea (but it is worth trying anyway :-)).
    5. Interface
    All TreesDesigner controls were placed into LightWave 'numeric' panel. Most of users used to have numeric panel open all the time on the right side of the modeler as it is frequently accessed. If you don't you need to open it ('n' from keyboard) to get access to TD controls. You may also need to resize the panel to see all of it contents.
    At the top of the user interface there is a common part. Beneath it the user interface is divided into three sections: Tree, Twig and Advanced. The Tree tab contains all controls responisble for the look and shape of the tree. In most cases you will not need to access Advanced tab as it contains optimization and weight mapping setting that should work fine without alteration. The Twig tab is new in TD1.5 and contains settings for secondary little branches that are created after the main ones. Basically in the first pass the whole tree is created (and thats where TD1.0 would finished) to fit the desired shape. Than in the second pass more smaller branches are added to the tips of already existing ones to make tree denser and allow more place for leaves. The secondary branches are free to gron in any direction and are not restricted by your shape. It allows to get more natural looking geometry.
    Common:


    Refresh -
    Manual / RealTime
    When it is set to 'Manual' you need to manually update a tree after making changes in TD settings. It is really useful with complicated trees when update takes a few seconds. To manually update click this pop-up and reselect 'Manual'.
    If you select 'RealTime' modeler will update automatically after any change. Because modeler will try to update in real time when you drag a slider it is recommended to use numeric input rather then sliders in this mode mode.

    Render type - Skeleton / Polygonal / SubD
    You can choose how your tree is generated.
    'Skeleton' is the fastest method for quick preview branches' directions, you will not see roots in this type.
    'Polygonal' you will get complete polygonal mesh that you can use as it is if you need low-resolution geometry or convert to SubD later. Polygons are faster to re-draw in viewports.
    'SubD' final tree model. It is recommended to set 'path division' to 2 in modeler settings for best results. You can of course set it to more then 2 but it will slow down modeler increasing quality only a little bit.

    Presets - this button will open/close modeler presets shelf window. You can store tree settings there.
    Add preset - store tree settings for later usage.

    tree specyfic settings:

    Branches - the number of desired branches' ends.

    Segments - the number of branch segments. This setting affects iterations of a tree growth and sometimes it may be benneficial to use less segments and more sub segments. It dependes on the effect you trying to achieve. With more segments you will get branches that are rather separated from each other. This setting can have huge influence on the look of your tree. It affects how branches can grow to reach geometry, you use to shape the tree, how many forks can be created and so on. If you have heaps of branches and only a few sements than there will be not enought joints where the branches can create a fork and it will be necessary to grow pleny of branches from the trunk or even from the ground to achieve desired amount of twigs.

    Sub Segments - every segment is be divided into smaller segments according to that value. It is not the same to have more segmens and less sub segments (keeping the overall number of segments the same) as sub segments are created by interpolation of segments and do not participate in growing process. They are important however for creating forks. TD has a limitation that there can be only two branches connected in one segment (joint). Sub segments allow to get more connections between branches so it is possible to start with less branches from the trunk to achieve the same amount of twigs at the end. Too many sub segments, however will allow too many forks and there will be only a few branches growing from the trunk. It is important to find right balance between number of branches, segments and sub segments. Sub segments should be set to 2 in most cases. You may need to increase it only when you have only a few segments (less than 10) or if your specyfic tree has too many branches growing from the trunk and you don;t want to change number of segments.

    Tree centre - this is one of the most important control of TD. I find that most trees in real world have a point in which branches are connected to each other and to a trunk. Branches will radiate from that position on the trunk in all directions. It is measured from roots to the top of the tree.

    Tree centre variation -

    Normals influence - this setting allow you to set an influence of normals (from polys of base object) on your tree. It is possible to set it to negative or greater than 100% value. It is not the same to set it no negative value than flipping normals of the shape. Tips of the branches are always pointing to the same direction as polygon normals regardless of that setting.

    branch specyfic settings:

    Branch thickness - it is thickness of 1m length branch. Longer branches will get thicker. It is more like thickness increase per every 1 meter than final branch thickess near the trunk.

    Branch tip thickness - it is thickness of a branch at the very tip. It can be treated as well as minimal branch thickness. Only secondary branches (twigs) are allowed to be thinner than this value.

    Branch tip jitter - when set to 0, branches tips will be placed exactly on the surface of the base object. To get more uneven, more realistic look tips can be randomly offset from the surface within this range.

    Branch bend - it bends the tip of the branch (like under the influence of gravity). It can be set to negative value to get different tree type.

    Branch crookedness - random angle between segments.

    Sort branches - it is always worth checking the look of a tree with option on and off. For some trees it is beneficial to create branches in order, sorted by height (from the highest to the lowests) for some it is not.

    trunk specyfic settings:

    Trunks - it is possible to have more than one trunk for a tree. This setting affects amount of main trunks to which branches are attached. If you need to create a tree with plenty of trunks (more like a bush than a tree) set tree center below the ground and allow branches to become trunks rather than increasing this one.

    Trunk thickness - like branch thickness but for trunk.

    Trunk type - there are two types of trunks available. They grow differently and are sutable for different types of trees.

    Trunk crookedness - random angle between trunk segments.

    Trunk bend - if the trunk starts off center of the tree than it is possible to change it shape. The higher value of 'trunk bend' the more curved is the trunk. Value of zero will produce stright trunk. Values below zero are possible but not recommended.

    other settings:

    Random seed - when set to any value different from 0 every tree from the same shape and with the same input settings will be exactly the same. When set to 0 every time you change a setting new seed value will be generated and as result generated tree will have different branches distribution and slightly different shape. It is recommended to try a couple of different seed values once you are happy with other settings and pick the best looking tree from the lot.

    Twig Tab (secondary branches):
    This is new feature in TD1.5. Basically it grows little branches on existing ones regardles of user shape. It allows to obtain more natural looking trees with plenty of twigs on the outside. On general you should be able to use at least half of the primary branches than in TD1.0 allowing secondary branches to make the tree denser. The two step process is faster as secondary branches do not need to conform to the shape and are free to grow in any direction.

    Type - there are a few types of secondary branches to choose from:
    up
    down
    horizontal
    branch
    random
    side

    every type will give different results as it uses different algoritm to grow twigs.

    Range - this defines how far from the tip secondary branches can be created. You may want to add just a few at the very tip (10%) or cover the whole branch (100%) with additional twigs.

    Coverage - allows to specify percentage of twigs in the given range. Value of 100% will create a twig for every branch segment (and subsegment) within the range.

    Segments -twigs have segments in the same way as primary branches have. The only difference is that twigs cannot split into smaller ones.

    Fixed lenght - there are two options to specify twigs length. The first option (whan fixed is off) allows to set length as percentage of the segment a twig is growing from. Usually it will create shorter twigs on branches tips than deeper in the tree. The other option - fixed means the length is set in LW units (mm, inches etc) giving all twigs with more or less the same length.

    ADVANCED Tab:


    Optimization passes - optimization will remove unnecessary segments. If a branch is straight there may be segments that do not influence overall look of a tree and can be safely removed. This process can be repeated a couple of times as segmentation of the tree changes after every pass. Segments that angle between them is smaller than 'min angle' are joined forming one new longer segment.
    Min angle - this is optimization threshold. Segments which angle between them is grater than this value will not be changed by otimization algorithm. The greater this value, the more segments will be removed.

    Quality shift - "shifts" quality towards outside or inside a tree. When set to 1.0 each branch segment will get similar length meaning similar quality of geometry accross the tree. Values above 1.0 produce smaller segments at the ends of the branches giving better quality on the outside. This setting also influences how a tree grows.

    Last fork distance - it is distance from branch tip to the last fork on it, in percent. It allows to have more segments at the end of the branch without connections with other branches.

    Offset from trunk - affects the shape of a branch near the trunk.

    as you can see on the image above - 80% offset that forces branches to stay away from trunk resulted in split tree.

    Number of roots - the minimum quantity of roots is 5. Roots are created for proper trunk beginning.

    Roots gravity / Roots length / Roots crookedness angle - settings for roots creation.

    Distribution power - values 0.8 to 1 forces similar distances between branch tips - it may be called: even distribution. Values < 0.8 allow to vary those distances.

    Iterations - Number of tries in getting proper position of item. Value 1 is equal to use very small 'distribution power'.

    Range Weight map - if checked weight map will be created. Weight map values depends on a segment number.

    Thick Weight map - Another weight map. Values depend on a branch thickness.

    6. Miscellaneous

    Modelling - object you use to create a tree should have no non-planar polygons. For the best results use quads and triangles only. SubD are not supported and should be converted to polygons by 'freezeng'.

    Too many branches attached to the trunk -if you trying to make dense tree but have too many branches growing from the trunk you should try lowering number of segments and/or increasing number of sub-segments. Remember that a branch can be split into two forming a fork only on joints between segments. On the other hand if segments are very short than branches are limited in growing. So it can be beneficial to have less segments allowing branches to grow more in one step while having more sub segments to keep similar overall amount of divisions. It is all about having right balance between number of segments/sub-segments and amount of branches. Also you can easily make tree denser using secondary branches. This allows to keep lower amount of primary branches.

    Multiple trunks - sometimes you may get a tree with multiple trunks even if you set number of trunks to ONE only. It may happen when geometry is too far away from primary trunk and it is impossible to reach it from there.

    Trunk - is always build from origin of the axis to the highest point in the geometry provided.

    7. Contact

    If you have any questions, comments, suggestions, problems, etc. feel free to contact me:

    e-mail: olo@polas.net
    ICQ: 81081247