The Grove release 4
The Grove 4
Conifers can look deceptively straightforward and sometimes even “procedural”. But once you get to know them, they turn out to be extremely sensitive trees. Abundant light is essential for conifers to survive – they need it much more than broadleaf trees. In order to nail their characters, The Grove had to become just as sensitive.
This sensitivity taught me heaps about trees in general, and it is because of conifers that I got to tackle the biggest hurdles in tree growth. On top of conifers, this update is a leap forward for broadleaf trees.
Real shade
Ray tracing
Before now, shade was a local approximation. Although it worked fair enough, it was abrupt and hard to tweak. To be able to grow sensitive trees, shade calculation had to improve.
Introducing The Grove’s very own ray tracer for real shade. It works on the entire tree and can even include an environment. The results are smooth values from light to dark, calculated for each branch.
Let’s take a look at how shade is calculated. The first thing you should know is that branch tips are the eyes of the tree, and that they are after blue sky light. This is the light that makes trees grow into balanced shapes.
Shade Preview offers you a view behind the scenes. It shows you where The Grove distributes shadow casting areas and just how big they are. You will see that it places polygons at branch ends. When a branch gets increasingly vertical, the area’s center is shifted toward the branch end, matching the placement of real leaves around the branch. The size of each area is controlled by Leaf Area.
Above: Shade parameters have moved from the Prune tab into their own Shade tab. The eye icon enables a 3D view preview of your settings.
Phototropism
By far the most well-known effect in plants is their tendency to bend toward light. It’s why we regularly turn houseplants that grow near a window to keep them straight.
New to the shade algorithm is finding the brightest direction to grow to. Crank up To Light to turn new growth to this optimal direction. Although the effect seems subtle at first, the crown distribution greatly improves on older trees.
Environment shade
You can see the effects of To Light on single trees or multiple trees growing together. But it is best visible in trees avoiding buildings or natural obstacles. The new Shade + Block environment type includes the environment’s polygons in shade calculation.
Sensitivity gamma
The amount of shade is a linear scale from bright to dark. But as so many things in nature, reactions to linear input are often exponential. Take for instance the human eye, which has a response gamma of 2.2 to shade. Could it be that plants have the same vision system as humans?
Update – this is a failed theory that was removed in a future release.
Apparently, cryptochrome proteins are responsible for sensing light and directing phototropisms in plants. Cryptochrome is sensitive only to blue light and is found in the tip of each branch. As it turns out, Cryptochromes have a shared ancestry between plants and other organisms like humans.
But it doesn’t stop there. The branch tip creates hormones based on what it sees. These hormones diffuse through the plant’s cells in a nonlinear way. And who knows what the sensitivity of the growing cells that interpret the hormones is.
The new Sensitivity Gamma parameter gives reactions to shade an exponential nature. It’s interesting to see how small changes in the gamma sensitivity yields very different tree characters. Definitely something to play with and a great new tool in the box.
Interactive shape
Prune and shape
I found an awesome way to implement interactive pruning in the 3D view. A tricksy use of the grease pencil is what makes this highly addictive new tool possible.
It works by drawing cutting lines in the 3D view using the Grease Pencil. Press and hold D, then click and drag to draw strokes. Then apply the cut by clicking either Prune or Shape.
Update – the prune tool has improved in future versions. It no longer makes use of grease pencil – simply click the Prune tool and start drawing strokes to cut.
The Prune and Shape tools are similar, but the long-term effects are very different. Prune realistically cuts off branches and leaves thick and dead branch ends. A handy tool for cutting off larger branches.
Update – the Shape option is no longer there, because it did not work with improvements in simulation – realism is the main goal of The Grove.
Shape allows more artistic freedom. Cut ends have their thickness reset and they remain alive for further growth. The ends behave as new growth, like they never were any longer to start with.
Both are fun to play with, extremely addictive, and give rise to many more tree shapes. Even extremes like pollarded plane trees and pollarded willows are a breeze.
Caps
To build the mesh of a pruned tree model, branch ends are now properly capped and UV unwrapped.
Greatly improved watershoots
When a tree crown is heavily damaged or pruned, its inner branches are once again exposed to light. The branches may still have unopened buds waiting for an opportunity like this to pop open.
Paired with the new Shape and Prune tools, trees will soon recover from the tyranny you impose on them. Gaping holes will soon fill up, all thanks to the new shade calculation!
If you want watershoots to show up, be sure to keep Drop Weak very low. Otherwise these small new branches will be dropped before they have a chance to grow. This is why most conifers do not grow watershoots.
Watershoots behave different from regular shoots because they are far away from the hormonal suppression of apical buds, and they have an abundance of food supply from their thick parent branch. This makes watershoots grow with great power.
Although watershoots are natural and usually develop after damage caused by lightning, storms and falling neighbor trees – they are a common but unwanted sight on the trunks of city trees. The extreme pruning imposed on city dwelling trees is often the cause of many watershoots. The Grove has a handy tool called Trim Base for regular maintenance of your trunks.
Above: Mason Menzies combines broadleaf with conifer trees in this stunning render.
Conifers
The Grove treats all branches as equals, each generation from trunk to twig has exactly the same algorithm. This is what makes The Grove a tree grower, as opposed to the many tree modelers. The challenge was to solve the puzzle of conifers while staying true to this principle. The following features are the pieces of this puzzle that enable conifers and greatly improve broadleaf trees.
Turn, turn, turn
A tropism is a tendency to grow in a direction in response to the environment. In plain English, the branch turns to a new direction.
This release adds several new tropisms, which are now grouped together in the Turn tab. I decided to drop the scientific names in favor of clear descriptions: To Gravity, To Light and To Horizon.
A new tropism in town is To Horizon, which is similar to To Gravity. But instead of turning growth up and down, it makes shaded branches stabilize in horizontal direction, parallel to the ground. In most trees, this effect is not seen on growing branches. It is however very visible in the orientation of buds, which is covered by another new parameter.
Horizontal Buds turns the orientation of new branches to the horizontal plane. This effect is very prominent and is also visible on many broadleaf trees. Shaded Beech tree branches for example have horizontal side branches.
Favor healthy
Favor Current helps the tree get a good start in getting toward light. But when the tree grows older a different effect shows up. The hormone that suppresses side branches only travels a limited distance from the branch tip that created it. After that side branches can freely grow, and the tree now needs to favor the best performing branches, those with most leaves and those harvesting most light. These are the branches that will keep the tree healthy.
A tree knows which branches to favor through a brilliant physical phenomenon. Leaves continually consume water for photosynthesis, and they even purposefully evaporate water just keep the flow going, for a steady flow of soil nutrients. At a branching point, this now causes the branch with most demand and thus suction to have precedence over the branch with a lower leaf area. On top of that, the leaf area is multiplied by its shade. Combined with the now accurate shade calculation, the suction is therefore actually dependent on the photosynthesis of the branch.
The Flow tab with several new features.
The crown of the tree is generally a bright place and a healthy part of the tree, therefore Favor Healthy naturally also favors the crown of the tree. It therefore replaces the over-simplified attempt of Favor Crown, which is now gone.
In addition to Favor Healthy, another parameter called Favor Current Reach defines the distance after which Favor Current looses effect.
Drop weak
Drop Weak is a form of self-pruning based on the health of a branch relative to that of the ongoing parent branch. Trees drop (or abscise) their least successful branches in drought and in shade. Especially shade intolerant species like pines continually drop their lower branches.
Drop Weak kicks in when the ratio of the photosynthesis of the side branch / the main branch gets below the set value.
Above: A Silver Fir tree showing several new features. A relatively low Favor Current is quickly taken over by Favor Healthy, yielding the very recognizable slender cone shape. No shade pruning takes place, the lower branches will instead be shed by Drop Weak. The new physical bending is also essential for this tree shape, with very heavy branches.
Dead branches
Drop Weak kills the branch instead of dropping it immediately. Trunks of species like Scots Pine are scattered with dead branch parts. Each year, random parts of the dead branch snap off until nothing is left.
Dead branches stay bare of twigs and add to your tree’s character.
At the moment, dead branches disappear quite quickly. You can expect improvements and user control in the next release.
Whorls
Instead of just one or two buds, you can now have more buds at a single node for whorled branching. Phyllotaxis now works for whorls of of 3, 4, 5 or 6 branches at each node. Although there are few trees that really have this many buds at one node, many trees tend to have very crowded branch ends. And with nodes so closely packed together, the effect is the same as having many buds at one node.
An excellent example are pines. Their branches are full of needles spinning around the shoot. Actually, the needles are usually packed into very short shoots of 2 to 5 needles each. A pine branch has a whole lot of internodes and most of these immediately give rise to needles.
Only very few buds close to the tip will form new branches. And they are packed together so closely that they might as well be treated as a single node. This is why conifers have a very repetitive structure of a whorl of branches every few feet up.
This is simulated with a new parameter, Only Last Node. To simulate a conifer, enable whorled branching and increase Only Last Node to 1.0.
Physical bend
Bending has been completely rewritten using the Euler-Bernoulli beam theory. By treating each internode as a cantilever beam with a force acting on the end, a branch is traversed from base to tip, bending each node along the way.
“It’s been a brain breaker from the start how even silver birches and weeping willows grow up before they let their branches dangle down.”
One of the puzzles to crack was how to realistically diminish bending when a branch grows thicker. Apparently, trees are amazingly effective at defying gravity. Each added ring very quickly adds strength to prevent further bending. The outer rings add so much extra strength that for bicycle frames, its designers chose to just leave out the core. Similarly, trees rotting on the inside can live on for decades without loosing structural integrity.
Above: The Bend tab now has three very clear parameters.
Dangling branches form when an added ring is too thin to support the added weight of a branch. Each new ring bakes in part of the bending force and petrifies it. This adds up year after year.
Another initiator of weeping branches is Shade Elongation. The amount of bending depends on the weight, but also on the length of the internode. And we all know that plants in shade grow tall and slender shoots that are relatively weak. This allows sunny branches to slowly but steadily climb to the sky, while shaded branches grow fast and dangle down.
Bending now takes into account the real weight pulling on each node of every branch. A node’s weight depends on the thickness buildup over the branch. Tip thickness, Internode Gain and especially Branching Thickness Exponent have a big influence on how a branch bends. Internode Length and Shade Elongation define the Euler-Bernoulli beam length, longer nodes will increase bending.
Improvements
Interface
The parameters you’ll use most are now visually bigger, making them easy to find. And as a little extra, your tree’s height is now also displayed along with the age and number of branches.
Parameters that describe a length now make use of units. Intuitively enter values in either mm, cm and meters, or inches and feet. To use units, select Metric or Imperial units in Blender’s Scene Settings.
Branch Angle, Twist, Random Pitch and Random Heading now also use real units, degrees or radians.
Each paramenter has arrows to the sides. Clicking these arrows now adjusts the values with useful increments.
Twig viewport detail
Detailed twigs can be heavy on your graphics card, grinding your viewport to a halt. Twig Viewport Detail reduces the detail of twig models and makes your 3D view smooth even on laptops. It works by adding a decimate modifier to the twig model. Viewports use the generated low resolution model. Render engines use the original twig.
Random pitch and heading
The randomness of branch direction is now split into two separate parameters. This allows you to increase the heading randomness without getting excessively twisting trunks caused by random pitch. A branch’s pitch is heavily controlled by Gravitropism, whereas its heading is more free to random movement.
Update – improvements to the simulation have made this split unnecessary. The introduction of Bend Up now strongly influences the upward growth direction of particularly vigorous branches, which automatically cancels out randomness. So both heading and pitch are now again controlled by one Random parameter.
Use Random Pitch to randomize the vertical pitch of newly grown nodes. Random Heading controls randomness in the horizontal plane. The latter gradually kicks in as a branch grows more horizontal. Both parameters are angles instead of the previously unitless Gnarly.
Apical twig chance
Apical Twig Chance is gone. Many users used this parameter to increase the transparency of dense trees. Which results in many dead branch ends. Real dead branches are now available and the new shade will make it easy to create sparse trees the right way.
Other changes
- Improvement to Dead Thickness to handle the extremes of the new Prune and Shape tools.
- Twig duplicator meshes now use triangles instead of quads. Which works just as well and uses 25% less vertices.
- The Grove now skips building the tree’s branches if you’re just adjusting twig parameters. The mesh is instead written to, and read from a cache for a fast rebuild of large trees.
- Total rewrite of environment interaction. It’s both faster and more reliable, while the code is cleaner.
- Branching Loss is gone.
- Twig settings are now also stored in presets.
Fixes
- Using an environment completely blocked growth if the environment had a ground plane at the same height as the tree’s origin. Environment blocking is now skipped for the first couple of nodes.
- Duplicating twigs with object instances threw errors when you had not yet selected a twig to duplicate. This is now fixed with a simple check.
- Trim Base wasn’t watertight, some branches managed to grow through this limit. Fixed!