In this Tips and Tricks episode we'll look at how to use Forest Pack's animation tools to re-seed other parametric modelling plugins, like GrowFX, to create tree and plant variations without having to store and maintain many source objects in your scene. In our example we have used only one stone, one tree, two ferns and two ground cover patch objects.
For some jobs you need as much variety as possible, and though repetition can be disguised by randomising materials, textures and transforms, occasionally you'll just need more diverstity in the meshes too. This would normally involve importing or x-reffing lots of different models, which are hard to manage and difficult to update if you make changes, but by coupling Forest Pack with other parametric modelling tools it's possible to create variations without needing to import loads of objects. Here's how:
We start with a scene that already contains all of the Forest Pack Pro objects you need, but no randomisation has yet been applied. In this tutorial we'll look at how to sample the source objects to get different meshes and then add some further randomisation using transforms.You can see in the before image that all of the trees, ferns and ground cover plants clearly use the same model. By the end of this tutorial this kind of visible repetition is considerably more difficult to spot.
Before Randomising Objects
After Randomising Objects
The exercise files for this tutorial includes the following .max scenes compatible with Max 2010 and V-Ray.
The scene files included in the downloads for this tutorial use some meshes created with the GrowFX plugin by Exlevel. GrowFX greatly simplifies the process of creating parametric plants, trees, flowers and other nature models. If you'd like to follow this tutorial but you don't have GrowFX, a 30 day trial can be downloaded by following the links in our store.
The principle is actually very straightforward. Forest Pack's animation controls allow you to sample geometry at regular points along the timeline. Ordinarily we use this to create animations that are offset in time to create variety (you can read more about this in our Animating with Forest Pack tutorial), but as well as scattering animated models, we can also use this tool to sample single static models from different points in time and scatter them to create variations in geometry. Couple this with other parametric tools that have an animatable seed value, and we're able to create completely different model on each frame. For example, in the sample scene we have a stone object. It's been created parametrically using displacement maps and noise modifiers, both of which are animated so that each frame creates a differently shaped rock.
All we need to do is add this Forest Pack and edit some animation settings to scatter samples of this object. For clarity I'll work on a small patch so we can see clearly see the effects of this approach.
The number of samples in the cache is the number of objects in the items list multiplied by the count number. so for example If I had three animated rocks in the Items list and a count value of 10 I'd have cached 30 rocks for Forest Pack to scatter. It's something to be aware of because the greater the caches, the more memory you're using.
So that's the basic principle, now let's look at another example, this time with nested Forest Pack objects. When you create or purchase individual plants, in order to keep the number of scattered items to a minimum it is often necessary to combine them into larger "patches" to cover large areas. For even greater variety and more realistic results you'd expect to to create multiple patches so that visible repetition is reduced. In the included scene there are already two patches for the ground cover, one of leaf mulch and another of leaves combined with a Bugle flower. Here's how these look in the scene using only a single patch:
Not bad but you can see that the distribution of the flowers appears very regular and the repetition is quite obvious. Let's fix it!
The change the ratio of plants in the patch you can adjust the Probability values of items in the Geometry rollout. By editing these you can get some different effects. I've set them up so that some patches will not have flowers.
With the randomisation applied, repetition is much less obvious and the changes in flower density are more believable.
It's hard to see at this distance so here's a close up:
The great this about this technique is that it works with nearly any parametric tool, for example we can also use it with GrowFX to create variations of a tree species sampled from a single object. Instead of duplicating and editing the object, just animate the seed value and let FP do the selecting for you. This has distinct advantages, imagine that I'd created a plant and I wanted 20 variations. First of all it would be a slow process to clone and reseed the plant model 20 times, but also means if I want to change the ruleset that drives the GrowFX object I'd have to do all of this again because the changes won't cascade through all my cloned versions! That's an inefficient way to work. Instead with this workflow all you need is a single GrowFX model which makes refining the look of the trees a cinche.
So let's prepare the tree in our sample scene. At the moment we're scattering a single model and again the repetition is obvious:
To fix it:
If you render now you'll see there's substantially more variation in the tree models.
There is of course a drawback to this approach, it only works for still images. An animation of this scene would result in all the trees, rocks and plants changing on each frame as their seed values animate throughout the render. Foruntately, there's a workaround using Forest Pack 5, as long as you don't need the scattered objects themselves to be animated. Let's use the final object in the scene, the ferns, as an example:
To finish up I want to mention a quick tip to help speed up rendering times. You may find that some procedural objects take a little time to build. For example, if you select the Aspen tree model and turn on GrowFX's metamesh feature so that the trunk and first level of branches seamlessly blend, the object looks much better, but the build time for each frame is considerable longer. This can delay renders starting, because Forest Pack must wait for each sample to build to create its animation cache. A solution is to write out the animations to Proxies which generally load much faster than a complex GrowFX model will build. For example, if you did want to use a Metamesh trunk for the Aspen tree model you could do the following:
In this tutorial we looked at an easy way to randomise and manage variations on objects using Forest Pack's animation controls. We also touched upon a number of different areas that you might be interested to explore further. If you'd like to know more about the Animation Controls then we have an Animating with Forest Pack tutorial that covers them in a lot of detail. If you'd like to know more about Forest Colour then check out the Autumn Park tutorial. And finally, for a more in depth look at transform randomisation, I recommend checking out Modern Barns. We also have documentation for the new Forest Effects feature and we'll be releasing more tutorials about that very soon. Until then, stay tuned for future training, or for more information about many aspects of Forest Pack's features please see our reference section, the forum or visit the tutorials page for even more Tips&Tricks videos and in-depth tutorials.