The Grove release 3
The Grove 3
Tree branches have many senses and matching reactions to guide themselves through space. As The Grove delves deeper and deeper into the inner workings of growth, it becomes clear how much influence each of these strategies has on a tree’s eventual shape. It comes as no surprise that a tree’s main sense is that of light, or the lack thereof…
A branch has several strategies to get to the thing it craves most: light. Apical Dominance is the strongest strategy a tree has. By favoring current branches over sub branches, a tree will soon find the light above its neighbors.
Until now, Favor Current was a uniform effect for every branch. From now on, each branch individually regulates its own Favor Current based on the amount of light it gets, or does not get. Now each single branch of a tree competes for light with all other branches.
So how does this work in real trees? Some species are shade tolerant and comfortably grow on a shaded forest floor. While others are shade avoiders and they will die in the shade.
Take the Beech tree, a good example of a shade tolerator. In good light conditions, a beech will grow quite high, with a fairly high Favor Current. But it evolved to live in the shade of taller trees and it knows that it may have to survive in shaded conditions for a long time.
Shaded branches will branch out with equal power to the main and sub branches, to maximize its leaf surface area and to harvest as much light as possible.
A shade avoider like a Pine can’t bear shade. Its best shot at survival is to increase its Favor Current on shaded branches, to not waste any energy on side branches.
Shade Avoidance adds a lot to the character of the tree. As the best lit branches perform better, trees will get a nice mix of heavy main branches and big clusters of canopy.
Above: Sweet Chestnut tree showing natural branch distribution thanks to the new shade features.
Gravitropism based on shade
Like Favor Current, Gravitropism is now also dependent on the shade of the branch, starting with Gravitropism in full light, and adding Gravitropism Shade Influence in full shade.
In the above example, a negative Gravitropism makes the branches of this tree grow up in bright light, and a highly positive Gravitropism Shade Influence makes them grow down in the shade. To illustrate this effect, all bending was disabled. Gravity plays no role in the pictured tree. Study the preset to see how these values work in different species.
Shade Based Gravitropism is a big boost in realism for many species, and it plays a big role in every updated preset. It is a kind of absolute bending that before could only be slightly approximated with bending under gravity. The role of bending under gravity has been reduced to realistic proportions, which also found its way in the new presets.
An improvement of Advanced Meshing is smoother branching, more fluently blending each branch with its parent. Interpolating nodes blend both direction and thickness.
This is a work in progress with room for improvement, especially when a relatively thick node branches into a very thin node. Expect more development on this.
Your tree’s age and its number of branches are now displayed in the interface. Marvel at the high number of branches that make up your tree!Many users were confused that after picking a twig model, no twigs showed up on the tree. The Twig Chance parameter was often overlooked. It has been replace with two separate Chance sliders next to both twig object pickers. And the apical twig chance now defaults to 1.0.
Tooltips were rewritten to take advantage of Blender 2.77 new word wrap feature. It allows for much longer tooltips that may help clarify features.
When a branch tip dies and the branch no longer grows in length, the last side branch now takes over. The dead end is removed and the side branch becomes a fluent continuation of the parent branch. They become one.
The merged branch also takes over apical dominance, resulting in more prominent main branches and forking. The character of shrubs and forking trees is greatly enhanced when enabling Lateral Takeover.
The extreme example above has a very high Apical Bud Fatality. The last side branches take over, resulting in a lot of zigzag movement and heavy main branches.
Improved polygon reduction
Reduce polygons along the length of branches. Release 2 introduced reduction based on just the starting thickness of a branch. Now – instead of using one resolution for the entire branch – the resolution is lowered with every node’s thickness.
The resolution is lowered gradually with a maximum of one polygon per node, smoothly filling in the gaps with triangles. It was a challenging puzzle, but the UV’s also flow smoothly to each reduced resolution.
Polygon reduction is controlled with the Reduction parameter next to Profile Resolution.
When a branch is pruned, its built up thickness is now stored in the parent branch. Taking into account dead wood gives even more realistic branching transitions. Especially for heavily pruned trees like conifers.
Due to the added dead thickness, the branching thickness exponent should be higher than you were used to in previous versions. All in all, this gives a much more realistic character to trees. There is no control for dead thickness in the interface, it is the new default behavior.
Australian bark textures
A set of 13 new bark textures comes with this release. It includes several Eucalyptus, Banksia, burnt and carved bark, to complement the 4 new Australian twigs.
Build up to conifers
The shade avoidance and dead thickness features were partly built to tackle the elusive conifers. It turns out I underestimated these extremely sensitive trees. Their deceptively simple branching is very hard to simulate (the natural way). The three last missing features needed for conifers are in developement for next release.
- A lot of code refactoring went on under the hood, making the code flexible and paving the way for the new features coming in release 4.
- To take advantage of the new features, all presets have been updated and some new ones were added. Eucalyptus, Lombardy Poplar and Elm are some of the new presets. Because the old presets will not always give good results, presets are now read from a new folder. If you have created an awesome tree in a previous release, you can manually copy the .seed file to the new folder named TheGroveSeedsRelease3.
- Renamed the operator name to The Grove 3. This allows you to keep a previous release installed next to release 3, in case you built awesome presets. You can manually uninstall a previous release in the User Preferences.
- Dropped the split for old and new branches in the Curves build type. Just like the Advanced Meshing build type, there is now just one material, called TheGroveBranches.
- In some cases, branches growing in the southwest quadrant would have incorrect, very low branching angles. At times, the entire tree seemed to have a slight tendency to the southeast quadrant. I tracked these two issues down to Euler rotation problems. Rebuilding the branch angle and phyllotaxic rotation algorithm to use Quaternions effectively solved these problems.
- Blender 2.77 has a small improvement in the Python API. The ray cast function has changed, a function which is used for environment interaction. The Grove has been updated to reflect these changes, and keeps compatibility with the previous Blender release.