The Grove release 6

The Grove 6

Release 6 features a streamlined workflow, greatly improved conifers and lingering dead branches. It allows you to unleash your twigs with the automated twig picker, and to quickly match any preset to any twig size.

Pick and grow 40 improved and freshly added presets – and predictably tweak them to your liking. Now that the butterfly effect is mostly gone, the Grove feels more robust and more fun than ever before!

Best of all, this is a free update for existing users!

Workflow

Pick a twig

One-click-twigs! Pick a twig and it will automatically append to the scene. Experiment and unleash your twigs! The twigs menu is surprisingly fun to work with and really invites you to grow more. Any twig in your library is now just a click away!

Store twigs wherever you like. Let The Grove know where to find them in the user preferences. Go to File > User Preferences > Add-ons.

Pick a texture


You guessed it, one-click-textures! Pick any bark texture from your library to apply it to your branches. As a bonus, the texture dimensions are now used to correct the aspect ratio of the UV map.

Scale to match any twig


Twigs can represent one, two or even more years of growth. They can also be a single leaf. Before now it was hard to adjust a preset to match a differently sized twig. Each adjustment would cause a ripple effect through the tree, and cause completely different tree characters.

Now you can use Scale to Match Twig to match any size twig to any preset. Together with the twig picker, this deceptively simple new addition will amplify the freedom to experiment and use different twigs on different presets.

The best workflow is to always tweak Scale to Match Twig and Density after selecting a new twig or preset.

Initial branching directions

Improved branching directions in response to gravity. Yet another piece of the puzzle falls into place. Branches find their way through space by reacting to gravity and light, all while they grow. But before that, the initial direction of a new branch is that of the bud that it grows from. Besides the obvious angle from the parent branch, the direction of buds is also dictated by gravity. This release improves this bud direction. Horizontal buds now works correctly on trees with two or more buds per node. New to this release is the ability to pull buds away from gravity, or to let gravity pull them down instead. To finish it off, the direction can be randomized for a more haphazard look.

Simulation improvements

With numerous small fixes and tweaks, The Grove now feels more robust than ever. Tweaking presets is finally where it needs to be – predictable and fun, with almost no butterfly effect! On top of these under-the-hood tweaks, here are some new features to play with.

Conifer boost

Conifers get an enormous boost! The number of side branches is now dependent on growth power. The trunk of many conifers is lined with a series of whorls of branches – yet the less powerful side branches only develop 2 to 3 buds.

Speaking of power, this release re-introduces an effect from the early versions of The Grove: branching inefficiency. It’s a very direct way to limit the growth power of sub branches. The theory is that the attachment isn’t perfect and limits water transport. After putting numerous other theories to the test, this is the only way of getting the slender conifer shapes that I was after. I have ideas to improve on this theory based on heartwood and sapwood.

Another big improvement mostly for conifers but also for trees with opposite branching, is in thickness build-up. The algorithm now correctly includes each side branch in the build-up. As a result, branches gain more thickness. This was a big piece of the puzzle for conifers, with their variable number of side branches – resulting in much more thickness in the trunk opposed to their side branches. Remember that this is not just a visual change, it has vital importance for the bending of branches and the resulting tree shape!

Smooth kinks


Pruning and lateral takeover can leave sharp corners in branches. These will gradually smooth out in nature, and so they now also smooth out in The Grove Only sharp kinks are smoothed – as you can see in the animation above, branching points and the rest of the branch are unaffected. You won’t find it in the interface, it’s an integral part of the tree growth process.

While I was at it, I also improved the overall smoothness at branching points. Side branches will flow smoother into lead branches.

Favor rising


A new effect in the Flow panel favors upward growing branches over branches that are dangling down. Based on my theory that growth hormones are distributed party by gravity, too much of it will actually reduce growth. Use this to boost upward branches and to get a towering tree. A value of 1 will go as far as to reduce the power of horizontal branches to zero. You can go even higher than that if you wish.

Grow a grove


Like Bob Ross used to say about trees: “Gotta give him a friend”“Everyone needs a friend”. And it’s true that trees often look better in small groups.

It was always possible to grow a group of trees together – The Grove’s name actually means a group of trees. If you start The Grove with a selection of empty objects, the trees will start growing from these objects. Handy if you want exact placement, but a cumbersome and hidden feature in most cases.

You can now easily select the number of trees to grow, right before you grow. Trees will get an attractive distribution mimicking that of the seeds in a sunflower disc – and a touch of randomness to add interest.

Automatic pruning

The automatic pruning tool Drop Low will automatically prune the base of your tree as it grows – super handy for city trees. The tool now follows a general pruning rule – as the tree grows taller, it never prunes more than 1 / 3 of the base of the tree. The prune line grows with the tree until it reaches the height you have set. The second improvement is that it stops after reaching that height. If you do the math, your tree will then be 3 times as high as the set height. The reason to stop pruning after that, is to keep the beautifully overhanging branches of for example linden and birch trees.

At a dead end…

Several improvements were done to handling of dead branches. Instead of immediately dropping dead branches, they stick around and slowly crumble off.

Stick around

With the immense popularity of zombie series, The Grove had some catching up to do. Dead branches are a defining part of trees. For instance pine trees carry an array of dead branches along their trunks – and although deciduous trees loose their dead branches much faster, the many unsuccessful branches add detail to their winter character.

So instead of immediately dropping branches, your trees will now hold onto them much longer. You control how long dead branches will hang around with Stick Around.

Note that some (relatively weak) branches were already kept on the tree in previous releases, but they vanished way too quickly, not anymore! Add to that the many shaded branches and dead ends.

Dead branches will of course stop growing and won’t carry twigs – they just stick around. Random bits of dead branches will snap off over time, until there’s nothing left.

Preview

As a handy preview when tweaking your tree, you can turn dead branches red. Toggle the eye icon next to Stick Around and they will show in the viewport.

Improved lateral takeover

When for some reason a branch end dies – whether it ended in a fruit or it was pruned – the closest side branch can take over and become the lead growth. The same happens when a side branch grows more successful than the current lead. Resulting in a Lateral Takeover

I discovered several faults in the old code which made it unreliable and it didn’t work on all tree characters. After a complete rewrite it now always works as expected and is a natural part of every tree. Resulting in improved tree realism and more natural forking. I happily removed the options from the interface – two less options to think about!

Lateral Takeover now also keeps the dead branch end instead of immediately removing it. When the last side branch takes over, the old branch end becomes a dead side branch.

Dead ends

What triggers a new branch to grow flowers? Every tree is different and has its own growth tactic. But on many trees it makes sense that it uses its best performing branches to grow the tree to new heights. Only the low performing ones end in flowers.

Looking at a maple tree in the open field, the flowers form mostly on the lower branches. Every branch on this tree has ample light, so that rules out light as a factor. The tree favors its healthy branches and squeezes everything to the top of the tree.

Studying ash trees, many of their lateral twigs are a special type consisting only of flowers, while the apical bud produces a vegetative branch.

Looking at walnuts, tulip trees and magnolias, many of their branches end in flowers and fruit. Only the best performers grow on.

What it boils down to, the new Dead Ends control will stop the growth at the end of a branch – it will kill the end bud and allow a side branch to take over.

What this does to the character of a tree? Its shape becomes more towering.

Spring-clean

The Grove grows vigorously and to make it the best tool, usability is always high priority. Through the releases, much work has been done to streamline the interface and to simplify tools. But never at the cost of old functionality. Ending up with several branch build types, twigs build types and vertex layer options. For this release, let’s keep the best, and drop the rest.

Keep the best

A tree used to be 3 separate objects – the branches, and two twig duplicator objects. The twig duplicators consisted of many small triangles – each of them would emit a particle and duplicate a twig.

Adding wind animation would build the tree as a single mesh, adding the twig triangles into the main mesh. This was received well, and it’s time to make it default and build all trees as a single mesh.

A new approach to generating vertex color layers has made them much faster to add! So fast that the are now always added to your tree, together with vertex groups. A big thanks to Rich Colburn for his fun tutorials and advice on NumPy!

Drop the rest

Twigs are now always duplicated by a particle system, dropping the option for Object Instances. Still prefer object instances? Just call Make Duplicates Real to get the same result.

If the old separate objects fits better in your workflow, you can still easily split up the tree. Just separate the object by material. Remove the excess particle systems from both twig duplicators and you have the same tree structure as before.

Advanced Mesh + Wind is no longer a separate build type. In release 5 wind would recalculate with every change you made, which could be slow. Now you grow and tweak your tree, and when you’re happy you can add wind animation. Just don’t forget to re-calculate wind after you make changes.

And finally, I dropped the Curves build type. It was a relic from the past, had no UV unwrap and no good way to reduce polygons. It’s gone!

Small features and fixes

  • The Grove now starts up with a placeholder empty arrow object to show where it will start growing. Multiple trees will show as multiple arrows, matching the ability to start The Grove with empty objects selected. It also allows you to generate a set of arrows, which you can then rearrange and select. Restart The Grove and it will start growing from these arrows.
  • Only automatically read a preset the first time you start The Grove. Each successive run will keep the last grown settings as they were – letting you continue on that perfect tree character you’re after.
  • Build up of branch thickness is not only a defining visual characteristic for trees, it also strongly affects bending. Previously this was controlled by a counter intuitive parameter called Branching Thickness Exponent. Introducing the replacement – Join Branches – hiding the technical stuff and presenting you with an easy range from 0 to 1. Increasing values will add more thickness on older branches, more and more join the thickness of parent and child branch. As simple as that…
  • Auto units. The Grove’s interface benefits from units. When your scene has no units selected, this user preference allows The Grove to set units to metric. Nothing happens when units are already set to metric or imperial system.
  • Blender master has a change to vertex colors, it now supports alpha. This made version 5 not work with Blender versions higher than 2.79.0. Fixed!
  • Add a slight bit of randomness the direction of twigs.
  • Skip distributing twigs on dead branches when building with wind.
  • Last release cleaned up the interface by hiding advanced parameters that were (or should be) hardly used. Using release 5 made me realise that the hidden bend parameters are very important, and they can’t harm like other hidden parameters. They are now back in plain sight.
  • Removed the options for Object Instances as a twig build type. It was insanely slow, almost unstable! If you still need object instances instead of particles, you can use the command Make Duplicates Real.
  • Drop Low and Keep Thick are used more often and are now visually bigger in the interface.
  • Added a warning when global undo is either disabled or the steps are too low, operators need this to work.
  • Slightly improved preset management. When performing any different action, cancel the Replace preset action. Clicking Rename preset will now skip rebuilding the tree, for a smoother experience.
  • Changing the branching type did not update twigs! Fixed!
  • Trees were hard to see against dark background colors, like the color in Blender’s default theme. To fix this, I made the viewport color of branches darker if the background brightness falls below a certain value.
  • Fixed alphabetic sorting of presets on OSX High Sierra.
  • Growing from an empty that was pointing down gave an error. Fixed!
  • Random UV offsets for each branch are now constant through time.
  • Dozens of technical under-the-hood fixes that add up to a robust algorithm that responds like you expect it.