How to create a simple tree

Below you'll find a step-by-step guide how to create a simple tree.

Definitions:

Options and parameters in a red frame need to be modified. Other parameters can remain as they are.





Step one is to create a trunk. Add a new path and name it "Trunk".




Click the Distributors path... button to open the distributors window and add a distributor (Distributor), leaving default parameters. —lick Modify Direction... to open the direction modifiers window and set these path parameters:

Length path = 300.0cm;
Chaos % = 30.0;
Steps = 6.0cm;



Add one more path and name it "Branches". This will be branches. Set the same parameters as for the Trunk path:

Length path = 300.0cm;
Chaos % = 30.0;
Steps = 6.0cm;

As a distributor, add Path distributor and select Start path to be equal to "Trunk". For the sake of convenience, select a name depending on a path where branches start. In our case, it's "Trunk".

Specify parameters as shown in the picture below.


Chaos dens.% will help to place branches at random if it's necessary to create several different trees.


Return to the Trunk path and add the following direction modifiers: Deviation direction, Random direction and Vector direction. Set up their parameters as shown in the pictures below:




For Random_dir_02, set the value of Smoothing close to the value of Steps (5.0cm in our case). Otherwise the direction will be either too curved, or too straight.

Define the values of Random angle as the following graphs:




It will give a trunk a more straight direction in the beginning and more curvature in the end.

The possible result is shown in the picture below:




Then, for Branches in the distributor, click the button labeled Parameter: Path position. The Affects window opens. Add the influence on their length, i.e. add Branches -> Length. Then enable the graph for the Factor parameter.




For Branches in the distributor, set Levels to be equal to 5, click the Parameter: Levels button and add the following influences: Branches -> Length and Branches -> Trunk -> Density.

For Branches -> Length, set From parameter range to be equal to [0.0 ... 6.0]. It'll prevent the length of branches on the fifth level from going down to zero. Otherwise there will be no branches at all. Modify the Factor graph slightly as shown in the picture, so that the length of branches on top levels is not too long:




For Branches -> Trunk -> Density, change the Factor graph to make it ascending. It'll increase density of branches on top levels:




As a result, you'll get a tree model as shown in the picture below:




Then add the same direction modifiers for Branches as you did for Trunk: Deviation direction, Random direction and Vector direction. Set up their parameters as shown in the pictures below:




That's the final step of creating the basic shape of the tree. The tree will look as in the picture below:




Now you need to assign meshes to a trunk and branches.

Click Mesh parameters... to open the meshes window and add Cylinder mesh for Trunk.

Set up the following parameters for the mesh:




Enable the graph for Radius and configure it as shown in the picture:




Its maximum radius will be equal to 8.0cm and go down to 0. Naturally, it won't reach zero thanks to the Min radius parameter which is equal to 0.1cm. Set Min face to be equal to 2.0cm. Configure Radial offset and Scale offset graphically too. It'll give a little curvature to a trunk.




Configure the graph for Scale offset in such a way so that the curvature appears only in the lower part of a trunk.




Then copy Cylinder_mesh_01 and paste it for Branches. Here you can disable graphs for Radial offset and Scale offset. But to make branches shorter closer to top, enable Auto radius and ensure that Radius < Parent radius is enabled. Leave other parameters unchanged.




If branches on top are too long, you can change the graph for the Factor parameter a little when influencing the length of branches depending on their position on a trunk / low level branches. To do so, open the Affects window by clicking the Parameter: Path position button for branches and select Branches -> Length.




Some artifacts may appear:




They are caused by the use of a low value for Tolerance in the Deviation direction parameters when adding extra points. Increase these values for Trunk and Branches and set them to be more that 1/3 of a path step in Steps.


Now let's create leaves. Create a new path and name it LeavesStem. This will be leave stems. First, add the Path position distributor and name it "Branches_1". In Start path, select Branches and click Add position.




Now set path parameters:

Length path = 3.0cm;
Steps = 1.5cm;

Add Vector direction with Strength = - 100.0. Stems will slightly bend down.




Add one more distributor Path distributor and name it "Branches_2". In Start path, select Branches and in Distributor in point, set Count = 2.




To make stems appear on top level branches, add the influence on density (Density), depending on the level of a branch. That is for the Branches path in the distributor, open Parameter: Levels, and add LeavesStem -> Branches_2 -> Density. Set From parameter range = [2.0 ... 5.0], and set the graph for Factor as shown below:




As a result, density of stems on branches on level 1 and 2 will be equal to zero and on level 5, it'll grow up to 3.


Now add Cylinder mesh and configure settings as shown in the picture below:




Please note that Mat ID body = 2. This will make leave stems look different from branches and have another material.

You can prepare the material and assign it to a tree. For all GrowFX objects, it's recommended to use Multi/Sub-Object material. Create a double-sided material for leaves.




Now create leaves. Create a path named "Leaves" and set up its parameters in the following way:




We enabled Orientation for leaves for Vector direction to make leaves curve only in the plane, in which they can actually do it. The result will look as in the picture below:




Add Leaves mesh and set up the following parameters:




Please note that Mat ID is equal to 3 in order to assign a relevant material to leaves. We increased Min face for better optimization.

To make leaves face upwards, add one more direction modifier for the LeavesStem path. To do so, add Vector orientation direction and set up parameters as shown in the picture below:




That's all. The tree will look like in the picture below:





To download this model, click this link: SimpleTree_01.max