The Grove Release 11
The Grove 11
Continued improvements to all existing tools create an even more refined experience. Newly added tools like stash and undo will make your life easier. And the much anticipated roots tool is just so much fun to play with!
And it’s not just about how roots grow by themselves. Roots depend on soil structure and the different layers beneath – they also depend on the temperature gradient as you get deeper, as well as fluctuating ground water levels and the occasional rock, mineral and oxygen levels and… you get the picture. Even if it were possible, it would still be far from ideal – the many parameters would make it daunting to use and certainly not fun. And a waste of time for what we are after – a small flare of roots is all we need.
Surprisingly though, with all the above in mind, most root systems do look remarkably similar. They tend to stay close to the surface where conditions are ideal. This top layer of soil is heated in summer and is more open for oxygen to breathe. These shallow-growing roots quickly spread to the sides and reach far wider than the above-ground tree. The underground root system is very different from the above-ground tree – unlike the myth that roots are a mirror image of the tree itself, that’s just not true.
We know all this because of the work of an Austrian duo, Lore Kutschera and Erwin Lichtenegger, who spent an amazing 40 years on excavating and drawing the entire root systems of a wide range plants and also trees. The result of their life’s work is a treasure trove of information. They published several root atlases, of which “Wurzelatlas – mitteleuropäischer Waldbäume und Stäucher” (“Root atlas – Central European forest trees and shrubs”) is the one on trees.
Trees like Alder that are adapted to wetter locations can venture deeper underground, and this is also true for Eucalyptus which grows in warm and dry climates. The lack of water makes it vital to grow deeper, and the warmer soil makes this possible.
Deep roots are less common and most will quickly taper into thin fibers. Even horizontal roots diminish in thickness tremendously fast. Roots have no need to grow thick like above-ground branches, the underground has a different set of rules where gravity and wind are not a factor.
So with simulation off the table, the Roots tool works like a traditional tree generator and the lack of simulation makes it blazing fast.
You can generate roots at the end, when you’re happy with the tree. Roots do not grow along with your tree and do not work with Record. When your tree and roots are final you can join them to improve the root-trunk transition, with smooth normals from the Bevel node.
Along with geometry nodes come attribute layers. Attributes are now supported in modifiers and materials, which for many purposes makes vertex colors and vertex groups a thing of the past. Vertex colors are just as inefficient as they are slow to create.
Attribute layers are better suited to the purpose and more importantly, much faster! So fast indeed, that I’m now adding all attribute layers – all the time. It’s not even an option, and this clears up space in the Build panel.
By not building vertex colors and vertex groups, the whole process of growing and building takes roughly 30% less time!
Geometry nodes replace the old particle system for twig duplication – they are faster and more versatile, but the results are pretty much the same.
If you’re not ready, I added an option to switch back to the old system, to give you time to adapt your workflow. The old particle system will soon be gone though, along with this option. I will probably remove it from the next release. You can find the option in your preferences.
Add motion to twigs to make them come to life. Breeze is a new type of wind that complements the old. When you increase the breeze, there comes a point where it looks better to combine the breeze with wind deformation to the branches. Breeze is quick and is always added, it works with Geometry Nodes.
Instead of hard-coded node groups, I realized that it would be more flexible to append the nodes from a .blend file. That way you can customize the nodes to your liking and to fit your workflow.
More speed, more fun
An almost 30% boost in speed gave me room to play. I used a part of the time savings for an even bigger boost – but this time in perceived speed. I now draw a quick sketch of the tree while it grows, year after year. This is the perfect example of how time can be surprisingly relative – it feels so much faster! Plus you get a far better sense of how the tree develops through time.
It’s 2d sketch, because a full 3d model takes too much time. Live branches are drawn in yellow, while dead branches are drawn in red. The old tree is visible in the faded background when you regrow a tree. With both the old and new tree visible, you can better judge the effect of your tweaks.
A tree rarely stands alone. Trees can be friends, but they also compete. They take away wind just as well as the light. Competition can be fierce, and it will leave its mark. Trees will grow more sparse and tall, while lower branches will wither and fall.
There are 3 levels of competition during a tree’s life:
- An open field with plenty of light.
- An existing surrounding, a forest or courtyard – a tough place to start.
- A regrowing forest of equal size trees. A total reset from the ground up, no single tree taller than the other. The cause could be natural like wildfire or flood, or not so natural when harvesting for wood.
The 3 types of surroundings cause wildly different forms:
- Wide and dense when grown in the open.
- Sparse and gnarly on the forest floor.
- Tall and slender when growing together.
Surroundings can also change over time, a tree’s life is long and so much can happen. Take for example a forest floor tree – sooner or later it will reach the top story. Breaching the canopy and bathing in light. With no competition, light will be plenty, branches will spread and expand to the sides. The base will be slender, the crown will be wide.
Change can also be drastic and sudden at times, when surrounding old trees die and fall to the ground. The lone survivor will bathe in the light, and it too will expand to the sides. Not only the branches at the very top, but all the way down from the base to the crown.
Changes like this cause atypical forms, beautifully different but confusing as well! Without knowing the tree’s history, it may seem like it grew in its peculiar shape without competition, completely alone. When searching for reference of species of trees, these are the pictures you typically find – lone survivors with no other trees around. Which makes sense, because it’s impossible to see a tree clearly with others in the way.
A prime example are pine trees, which lose most of their lower branches because of shade from surrounding trees. But based on confusing reference pictures, you might think that this happens just as much on free growing trees. Another good example are nursery grown trees. They start their lives packed in tight spaces, with stakes to keep them growing up straight. No need for side growth just yet, that will follow when it’s planted out in the open.
So how do we add all this to the simulation? With Surround you can add a ring of shade casting polygons that simulates surrounding trees efficiently. Control the Height, Density and Distance from the new Surround panel. Increasing Density works just like shutters, closing the ring and blocking out light.
Just like your trees themselves, the surrounding can also grow with time. Surround can be switch off or on during a tree’s life, then continue growing with more or less light.
Click on the circle icon to interactively tweak the surrounding with a visual representation. You’ll see the same graphic while you grow.
Stash and Undo
Stash away your tree for safekeeping, so you are free to experiment. Retrieve the tree at a later time. A stash saves your grown trees to disk, including their parameters and their simulated structure of branches.
There are 5 stash slots – a jay may be able to remember hundreds of stashed acorns, but we’re only human.
- Use stashes to quickly grow a set of variations and then pick the best one.
- Use stashes to copy the trees you love to another Blender file. Not just the 3D model, but everything you need to keep editing and growing the trees.
- Use stashes as a manual undo system, so that you can experiment more freely.
When you’re done growing a tree and you’re happy with it, you can drag the tree models outside the grove collection. That way you can grow a bunch of variations to fill your scene. But when you do this, you lose the ability to edit the tree at a later time. You can’t continue to grow or prune the tree – the simulation structure that is needed for this is attached to the grove collection and not to the individual tree.
A full stash shows the name of the used preset and the time when the stash was saved.
Undo works confusing in The Grove, it’s completely incompatible with Blender’s undo system. The reason why is that the trees cannot be saved in the .blend file, but are written to disk instead. When you use Blender’s undo, everything seems to work like expected. But when you continue growing, the trees are reloaded from disk and they start growing from the old state – so do not use Blender’s undo on your trees!
A special stash is the undo stash, which is automatically written before each operation, so each time you grow, prune, bend, draw, plant or restart. And even when you undo, which makes the undo perform like a redo. There is just one single undo step, so use it carefully, or use a stash to experiment more freely.
You can now quickly access the turntable by double clicking the zoom tool.
The turntable stays at eye level to get a sense of scale – and it now also draws a scale figure. Surprisingly, for me at least, the tree almost always looks bigger. I’m curious to see how you experience this. The figure is 1.75 meters tall by the way.
The turntable now starts from the current view rotation instead of always skipping to front view – that was disorienting. There are now also two rings where the zoom level is stable, for a less wobbly experience.
The Restart tool works the same as before, but with 2 extra options presented when you double click it.
- Start Fresh – reset all parameters to their defaults and reload the current preset. Just like starting a fresh new grove. This also resets properties that are not saved in a preset, like build parameters, react and record settings.
- Single Tree – remove all placeholders and plant a single tree at the origin.
The draw tool now filters out dead branches, from which you couldn’t draw anyway. Dead branches are shown in red and the mouse now only snaps to live branches. The drawn line is now visible for a longer time, until the branch is done growing.
Prune like a ninja
Prune like a ninja – the prune tool now draws smoother swooshy lines that slowly fade after the cut. The prune line is now visible while you wait for the tree to rebuild, nice on older trees where it can take a few seconds to rebuild. And it looks cool!
New options for the Plant tool. In the Terrain panel you can now Drop trees to the ground. Take over the Slope of the terrain to make trees grow perpendicular to a hillside.
The Variation panel is for random changes.
- Random Shift will move around trees from their perfect distribution to a more natural one.
- Random Seed creates a new set of random offsets.
- Delay adds a random delay before each tree starts growing, for an organic group of trees.
- Diverge makes trees turn away from each other when they get close. You can see this in action when sliding Random Shift.
Grow Together improvements
Mixed-species simulation is steadily improving. The Grow Together tool from last release now has more options. It now uses the radial interface and adds a Restart All button. Before you needed to switch to each individual grove to restart each one. A small change that makes it so much nicer to use.
Next on the roadmap is to balance the presets. Species that grow well together in nature should also grow well together in The Grove, without outcompeting each other. Careful tuning of growth rates and shade tolerances will improve this in the future.
The growth algorithm continues to evolve with new insights. Each and every preset was improved to take advantage of new features and new insights, resulting in much improved presets.
Fluently reduce the number of newly added side branches, depending on the branch’s growth power. This is a gradual effect instead of the old behavior where a shaded branch would abruptly be void of sub branches. You can find the Reduce parameter in the Add panel, it replaces the old Light Required.
The effect seems subtle at first, but becomes very visible when the tree grows older. Take for example a Willow with reduce of 0.0 and 1.0. With no reduction, it has strong upward growing side branches.
However with full reduction, lower branches add less side branches, which in turn reduces the buildup of thickness. The result is that the thinner branches will bend down more. Another effect is that less branches means less shade, so low power branches might survive longer.
Noticeable effect is on conifers. I couldn’t really use the “new” deadwood feature on them, because it would create too much thickness in older side branches. But now, these wither away naturally because of less new side branches being added.
Favor Ends Reduce
Most trees favor the extension of existing branches over growing new side branches. In this release, I reduce the effect of Favor Ends with the pitch of the branch. A branch that grows straight up will get the full Favor Ends, and the bigger the angle from the vertical, the more this effect is reduced and side branches are allowed to grow freely.
The buildup of thickness is a key part of tree growth. It causes one branch to bend more than the other, and defines the shape of the crown. It all starts with the diameter at the tips of newly grown branches, which reduces on lower power branches.
The previous release added tip thickness Reduce, and in this release I improved this by linearly reducing the area of the cross section, instead of the diameter. The volume of new growth is now linearly dependent on power.
The difference is subtle at first, but is more drastic when the tree grows older and there is more contrast in light within the tree.
Improved handling of dead trees
Before, the trunk was always kept alive, it could always add new regenerative branches. Now it can truly die and crumble off – just like any other branch. This happens when there is no branch to take over in lateral takeover.
Stronger favor rising
Favor rising now works directly from the moment a new side branch is added and starts growing. This makes it much more powerful and very useful for conifers.
The big widgets have proved to work really well for mouse, pen and touch input. Super nice for simple tools, not so nice for extensive tools with more options. So I went to work on creating a scaled-down version of the UI, that should still work great with pen and touch.
The slider and toggle widgets have a new small-scale counterpart. The small-scale slider works in two ways depending on your initial mouse drag direction. Move to the sides to get a regular slider, or move up or down to get a radial dial. Or simply click (or tap) the slider to also get the radial dial.
Four panels now have a check box to toggle these feature on or off – Record, React, Surround and Auto Prune. These four optional features have a big impact, and this change makes it easy to see whether they are enabled. You can now temporarily disable a feature without messing up its settings.
Years – Flushes
It’s just a simple rename, but there is an important nuance between the terms year and flush. Growth in trees occurs in quick spurts, followed by a dormant period to harden off the new growth. This cycle is called a flush.
In temperate climates, the warmth of spring triggers the first flush of the year – and for some trees this is the only flush. But if weather permits, other trees can continue to flush several times during the growing season. This is especially true in tropical climates, where trees can easily flush 3 or 4 times per year.
If you are curious to learn more about this phenomenon, the scientific name for it is polycyclism.
Small improvements and fixes
- Growing together 2 or 3 groves would respectively double or triple the amount of years specified for growing. So 7 years would instead grow 14 or 21 years, caused by a double loop. This is fixed.
- All factor parameters (that range from 0 to 1) are now sliders. Blender’s sliders do create visual clutter, but this is outweighed by the visual feedback. Factor sliders also work better in Blender, you can drag them smoothly.
- Random Pitch and Random Heading are now joined into a single Random slider, greatly simplifying the Turn panel.
- Select linked branches only selected vertices, which was invisible in face select mode. It now also selects faces.
- Just like the new visual tweaking tool for Surround, the shade preview was converted into an operator with the radial UI. You can find it in the Shade panel, right next to the Leaf Area slider.
- Add a Bevel node to the bark material to blend normals between intersecting geometry.
- The amount of dead twigs is now also affected by the twig density slider.
- Increase the likeliness of replacing an end twig with an upward alternative.
- When growing groups of trees, the placeholder panel offered the option to delay the start of growing for individual trees. I now added Plant > Variation > Delay that adds a random delay to planted groups of trees. That gives an organic look to a grove. If you still need to tweak the individual trees in more detail, you can do that in the Custom Properties of each empty object.
- The tropism sliders would all go down to -1. Plants almost never have this. They can be factor sliders if they are in the 0 – 1 range.
- Do not translate attribute layer names. It will make exporting trees and working together a mess.
- The radial interface is now independent of resolution. I added a user preference to adjust the size of widgets if they appear to small or big on your screen.
- Increase the viewport detail of twigs. GPU’s have improved and newer twigs have less polygons.
- Rename drop “Shaded Shoots” to simply “Shaded”. The old name was more specific to differentiate from the separate “Shaded Ends”, but that parameter was removed.
- UV Repeat default set to 3 instead of 2.
- The Shape Keys dial in the wind animation tool had its precision mode set to steps of 2. If you wanted to match the wind loop to an existing animation, and that animation requires 25 shape keys for a total duration of 50 frames, you wouldn’t be able to set the dial to 25. The precision of the dial is now set to 1.
- Disable favor ends reach and remove it from the interface.
- Stick Around preview is now redundant and removed. Dead branches are now visible in red while growing.
- Prevent Blender’s undo from working inside tools like Prune and Draw, by shielding off the Ctrl+Z key combo.
- Show whether Record, React, Surround and Auto Prune are enabled in the view while growing.
- Twig view detail did not work on twig collections – it does now.
- And many, many more tiny improvements both on the surface and under the hood that make The Grove rock solid.
With the switch to geometry nodes, some twigs needed some changes. Here’s a list of twigs has been updated, if you purchased any of these twigs, please update them.