Many generator properties have a variance value. This value describes the range in which the generator value can vary for each node. Variance can be applied using several algorithms; for example, let's examine the following image.

Here we have four identical, simple trunks, each one generating 23 simple branches with an absolute length of 10.0. The only difference is the amount and type of variance on the “Spine:Length:Absolute” property.

Length variance is set to 0.0. All branches are exactly 10.0 units long.

Length variance is set to 3.0 and the distribution algorithm is “Uniform (random).” Each of its 23 branches has a length between 7.0 and 13.0 chosen at random.

Length variance is set to 3.0 and the distribution algorithm is “Gaussian (bell curve).” Each of its 23 branches has a length between 7.0 and 13.0, chosen based on a Gaussian distribution. Notice that the lengths are more closely clustered around 10.0 than in the purely random example.

Length variance is set to 3.0 and the “Cohesion” slider is set to “Cohesive,” meaning branches closer together will exhibit less variance than branches further apart. Each of its 23 branches has a length between 7.0 and 13.0, chosen using a noise function based on the branch's position on its parent.

Click on the variance button of any generator property that has variance to bring up the Variance Editor (pictured below). The button will be a gray “+/-” when the variance is 0.0; otherwise, the variance amount will be rendered with a pink background. Edit the values on this dialog according to the descriptions below:

This is the amount by which the property can vary.

This option controls how the amount of variance is computed per node. “Uniform (random)” chooses a random amount of variance per node. “Gaussian (bell curve)” uses a bell-shaped distribution where most of the variances are small amounts.

The elements in this group control the degree to which neighboring nodes will have similar variance values. Use this option to create clusters of similar objects in your model.

Use this slider to set how cohesive the variance pattern is, where higher cohesiveness means branches closer together will exhibit less variance than branches further apart.

Increase this value to tighten the noise pattern used to compute variance.

Modify this value to shift the noise pattern used to compute variance.

Here's a short list of things to keep in mind when editing variance.

- You need variance on at least some of the properties or “Randomize” won't do anything!
- Use “Gaussian (bell curve)” when you want most of the values to be similar but with a few outliers.
- Use cohesion to make very noticeable properties appear coordinated. A good example is “Season:Descendant offset” on branches. Adding cohesive variance to this property makes season changes in large sections of the tree appear varied but related to where they are on the model.