TUTORIAL: Understanding Forest Pack’s animation features

TUTORIAL: Understanding Forest Pack’s animation features

Hi, and welcome to a new tips and tricks
episode for Forest Pack in this installment we explain how to control animation applied to scattered objects. Forest Pack
has four unique modes that enable you not only to scatter animated objects with
significant memory efficiency but also to randomize their starting
frames, create offsets, and control playback using maps. We’ll start the tutorial by looking at the principles of these 4 modes in detail. and then finish up by applying the
techniques to this simple scene. Parts of this scene use Bercon Maps and GrowFX, don’t worry though if you don’t own
GrowFX, we’ve included simplified plant animations using max’s native tools if however you’d like to try GrowFX, a
30-day trial can be downloaded from our store. To illustrate how to turn on animation and master the different modes used to
control playback open the animation_exercises.max file
included in the downloads for this tutorial This file contains a simple plain with
arrows on it. The arrows are distributed with Forest Pack and laid out in a grid so that we can easily
see the effects of changes to the animation controls. Also in the scene, to the left at the
plane, are 5 animated objects that we’ll use in
later exercises. If you click on Manage layers you see there are four layers, one for each of the animation modes. Unhide the layer called 1 Follow Geometry. To get
started scrub the animation bar … nothing happens. This is because animation is off by default, so for the first step let’s enable an animation mode and ensure that we can preview it in the
viewports select the Forest Pack object called fp_follow. Open the animation
rollout and then change the mode from Disabled to Follow Geometry and now
if you scrub the timeline… …still nothing happens. However if you
render a few frames the animation is working. This is to maintain performance, By default Forest Pack doesn’t preview the animation in the viewports. To enable viewport previews uncheck Animate Only At Render Time from the bottom of the animation rollout now if you scrub the timeline it works
in the viewport and at render time, exactly as expected.
In these exercise files, to make things clearer in the viewports Forest Park has been set to display the
scattered objects as meshes. If the geometry is more dense, or the
scatter area larger, this might not be possible.
Fortunately points-cloud mode also enables you to preview animations,
allowing you to get a good indication of the render results for more complex scenes. Yo illustrate this
try the following: Open the display rollout and set the
mode to points-cloud. Select the plane and then change the size from 20 x 20
meters to 600 x 600 meters. Now scrub the time line you see that you can still get a decent idea of the the animation in the viewports despite the number of instances. Though
this geometry is simple, the same would apply for much much more
complex models. Next we’ll look at how to animate the starting frame of the animated
objects. To illustrate this, unhide the layer
called cam_random_samples and change the view to cam_random_samples_camera. Select the forest object called fp_random. Open the animation rollout and check Random Samples. Scrub the timeline the arrow’s playback is now a randomized.
You’ll notice when you activate random samples mode that the time offset and count
parameters become available these are used to control the sample
points along the timeline. To create the points the count parameter
defines the total number of samples, while time offset determines the number
frames between them, starting from frame 0. For
example if we use Count value 5 and a time offset value of 2, we get these five sample points marked in red. You see this starts from frame 0 with four further samples each taken two
frames apart. The bottom row illustrates the sample points on a
thirty frame animation. in the resultant scatter, shown in the
top row, you can see that only these five frames are used. Let’s try another example, we’ll increase
the time offset value 25 and change the count to 6. This returns six
samples at frames 0, 5, 10, 15, 20, and 25. and you can see in the top row, these
are the ones randomly scattered by Forest Pack These are still animated objects remember, if you play the animations they will start from these frames.
Understanding the Count and Time Offset paramaters is the key to mastering this mode and
the next – Controlling the starting frame using a map but before we get into that, I want to
share a few tips about handling the source geometry. You’ll notice that the animations in the exercise file stop a Frame 30. This is to be expected, it’s when the
source geometry stops too. In many cases this may be the effect you’re after but if you do want the animation to
continue throughout the entire duration of the shot you need to be sure that the source
object’s animation is long enough. This is especially true when randomizing
starting points, as the source object may need to
continue animating well beyond the active time segment. What follows are a few tips about preparing animated meshes for Forest Pack. Probably the easiest way to create a
looped animation is to use the parameter curve out of range options found in
graph editor. To illustrate we’ll make the arrow
animation loop instead of stopping at frame 30. To do
this select the arrow object named bend_with_keyframes and open the curve editor. From the
Control View on the left locate the bend_with_keyframes object and expand the tracks until you can select angle. Open the out
of range types by clicking the icon, or by going to edit>control out of range
types and from the resultant dialog, select
loop. Note the change in the graph editor. It
now shows a dotted line to indicate the new looped animation. This works well but the repetition of a small loop can
become obvious, as another option some foliage animations lend themselves to
using noise controllers. With these you can create a lot more
variation, avoiding the obvious repetition of a keyframed loop plusthe animation will never accidentally stop. To add a noise controller to create
an arrow animation selected the second object bend_with_noise_controller from
the scene and open the curve editor. From the
controller view in the curve editor, locate the bend_with_noise_controller object and
expand the tracks until you find object>bend>angle right
click on this choose assign controller from the resultant dialog, pick noise float. Using this we can animate using
noise with control for strength and frequency.
For this example you’re going to want a low frequency setting, about 0.01 and a strength of about 450. But you should feel free to play around with the settings to get interesting alternate results. If you play the animation, the results of your changes to the noise controller can be previewed in real time, making it
much easier to get a satisfactory result. When you’re happy with it close the dialog
and the graph editor. This technique coupled with the bend
modifier generates some reasonably decent wind
animations for grass and ground cover plants the non GrowFX grass and trees
included in the scene files use this technique. The tree also uses
a technique which involves selecting vertices with soft-selection and passing them up the stock to a noise
modifier to create some smaller leaf animations. You’ll find a link to a post explaining
this technique in the written version of this tutorial. If you
animate the rotation, translation, or scale of an object and then add it to Forest Pack you will find the animation is not used in the resultant scatter. This is to do with some frightening matrix maths, but fortunately there’s a simple workaround. Instead of animating the object directly,
simply add an XForm modifier and animate the gizmo instead. The resultant animation is indistinguishable from animating the object directly and works flawlessly when added to Forest Pack. Many rigid animations comprise a hierarchy of multiple parts, ideally these should be combined into a
single object before being scattered by Forest. Though Forest Pack can scatter groups, each item in a group is treated as an individual object so it’s unlikely the original position and
orientation of the elements will be maintained. The easiest solution is to convert a
collection of animated parts into a single proxy. This has the added
benefit of caching animation to disk so it’s very fast to load compared with
calculating animation on the fly. In the included scene, instead of using a proxy for the radio telescope, we’ve actually animated the three parts
using RailClone, it is a simple setup and there’s nothing wrong with using animated RailClone objects inside with Forest Pack. The only step necessary to ensure the
RailClone objects render correctly is to go to the Display rollout and uncheck Use Instancing Engine. So after that detour we’re back to Forest Pack and looking at setting the starting frame with a map. Instead of allowing Forest Pack to
randomly distribute sample points, you can use a grayscale map to precisely
specify the placement of a sample point from which the animation will start. To illustrate this, if it’s not already,
open the animation_exercise max file and do the following: Unhide the layer
called 3_random_by_map and change the view to cam_random_from
map_camera. Select the Forest object called fp_random_by_map, open the animation rollout and check Random from Map. Click on the
map slot and select a gradient ramp. Click play and you having a wave effect from front to
back. To modify the map just instance it into the material editor, for example you could rotate it so the
wave effect animates from side to side. These kinds of effects are great for animations of wind moving across grass where we often see gusts traveling from one
side of a field to the other. Before going any further let’s take a look at
the theory of how this works. As in the previous example the sample
points are controlled using the Time Offset and Count parameters to determine the number and frequency of
sample points. With this mode however they’re placed on the surface using a
map. For example, using a Time Offset value of 5 and
a count of 6 we get the sample points shown in red – 0, 5, 10, 15, 20, and 25. In the top row you can see how the gradient ramp controls the distribution. The gray scale range is equally divided by
the count value with the first frame represented by
black and the last represented by white. When the color exceeds a threshold point the next frame is displayed. This
explains why you can’t see frame 25 in the top row as the gradient is only pure white on the
very far right-hand side of the road. Let’s take a second example. You can see
here that if you increase the counter to 15 and decrease the Offset to 2, you get a
much smoother wave animation in the top row. More or less any map that is
calculated before render time can be used to offset the animation. In
particular, noise maps are quite effective for creating wind animations across grass and large areas of forest. The final mode
works a little differently instead of creating a number of equally
spaced sample points along the timeline from which the animation will start
playing, you define a range using the start and end parameters. A map is then used to control the
absolute frame displayed based on a grayscale value.
Simply scrubbing the timeline in this mode will not result in animation
playback. Instead, to control the animation, the
grayscale value itself needs to change. Let’s take a look at a
couple of examples starting with a typical usage. A
simplified growth animation. Back in our excise files, locate the
object called growth_animation and scrub the timeline. Note that frames from 0 to 30 contain the growth animation and frames 31 to 60 contain a loopable wind animation.
Unhide the absolute_by_map layer. and select the forest object called fp_absolute_by_map. Open the animation rollout and check Frame from Map. For now we only want to to look at the growth animation so change the start value to 0 and
end value to 30, then click on the map slot and select a
Gradient ramp. To edit the gradient ramp, open the Material Editor and drag the
gradient map to an empty map slot. Now in the gradient ramp parameters, select the middle flag and set the color
to black drag it slightly to the left, then create
a second flag to the right. Set this one to white. You should now
have a gradient with a large black area at the beginning, and a large white area at the end with a
short transition inbetween. So from the materials coordinates rollout next set the tiling to 0.2. Now we want
to animate the gradient moving across the surface. Turn on autokey and animate the U offset value from 1 at frame 0, to -2 at frame 100 and play the animation you see the arrows grow from right to
left, controlled by the grayscale map we just created. In some situations you may need a loop
to play after the object has grown, this might be useful for example if you
had a tree growth animation in a windy environment. This can
be achieved by creating animated maps that loop only a portion of the time line. As you’ve already seen this subject has
a growth animation between frames 0 and 30 but also a loopable bend animation
between 30 and 60. If we use a range from 0 to 60 in Forest Pack this means that the first half for the
grayscale gradient will control the growth, while the second
half (mid grey to white) controls the bend animation. This
is easier to explain with an example. Change the white mid flag to mid grey (rgb 127 127 127) going to the end flack, the final flag, and change this, to the same. If you scrub the timeline now, you’ll
see the you’ve just got the first half, the growth animation. Now create another flag, just after the mid grey one, and add a composite map texture. Click to color correct this texture. Using this map we can add a solid
color, this has the benefit of being driven by floating point numbers rather than RGB values, which can give you more flexibility for longer animations. Between frames 0 in 30, animate the map from pure black to pure white. Next we want to loop the color animation, so open up the
graph editor, find the medit materials and find the gradient ramp we just created.
Expand the tracks until you find the animated color channel. Select it and open the parameter curves out of range type settings. Set it to loop and click OK. Close the graph editor. If you look at the colour swatch you can see now … … the colour is looping. Next we want to add an output map, keeping the
composite as a sub material. Enable color map and set the first point to 0.5. This is because our animated color map was going from black to white but actually we want it to go from mid grey to white and because we’re going to composite it with something else later we don’t want to animate just simply
from mid grey because that would cause problems in the way in which we’re going to
use blending modes. If you scrub the timeline now you can
see it’s starting to work, but there’s some glitching. This is because we’ve only
added this map to the first flag and not the last, so if we open up
the properties copy the output map, open the last flag’s
properties and paste as an instance. You now have a fixed area, towards the
end of the gradient, with an animated color. So with that done you have a growth animation and then you’ve got an animated loop. But how would you go about
adding some variation to the Loop? To do that we’ll go back to the composite
map and add a new layer. In this layer, add a noise map, set the size to 400 and create a
little more contrast by setting the high value to 0.8 and the low value to 0.2. Set the blend
mode to Difference. If you now play the
animation you’ll get a growth that transitions into a loop bend animation with some randomisation added by the
noise. As I mentioned any map that can be evaluated before
rendertime can be used so if you’re a V-Ray user it’s also
possible to use a vraydistancetex map to drive animations based on their
proximity to objects. To do this we’ll carry on from from the
previous exercise. Open the animation rollout set the end
frame to 30 we only want the growth animation. Then
click on the map slot and add a vraydistancetex map. Drag this map into the Material Editor and make some
changes. First set the distance to 3.2 meters, change the far color to black, change the near color to white, check inside color, and change the inside color to white. Go down to the vraydistancetex objects rollout and click on Add, and select Sphere01 from the scene. (this is currently set to display as a box)
Now if you select Sphere01 and move it near the surface used by the Forest Pack object the arrows will grow as the sphere
approaches. If you’re not a V-Ray user, it’s still
possible to get a similar effect by using vertex colors. To do this you
need access to a couple a free scripts: You need the Blur Vertex Color modifier,
this is a free script by RP Manager written by Grant Adam it’s used in this case to add vertex colors to a stack selection. The link for downloading this can be
found in the written version of this tutorial. For the second example you’ll
also need the selection cache modifier, this enables you to cumulatively cache vertex selections. It can be downloaded from maxplugins.de, again the link is in the written version of this tutorial.
To use this technique for any renderer, we select the Forest object open the animation rollout and add a
vertex color map. Now select the surface called plane04, apply a Volume Select modifier and set the
stacks selection mode to Vertex. Change Select By to Object and pick Sphere01 from the scene. Turn on Soft Selection and enter a falloff of value 300. Add a Blur Vertex Color modifier and
check Convert Selection. Set the channel to 1 set Steps to …. …something high like 60 and make sure the blur value is about 0.5. Play the animation to see a
very similar effect without using the vraydistancetex map. But also if you use this technique in combination with the
selection cache modifier it’s possible to draw a growth animation using another
object. To do this followed these steps: Add a selection cache modifier between
the volume select and the blur vertex color modifiers. Set
the mode to Replace, turn on accumulate selection, and we need to save the cache, so click Set Cache … … and choose a location to save the file.
Then click Record to write out the cache. Once this is done
you don’t really need the modifiers on below it anymore. so you can click on Disable Modifiers
Below to turn off the Volume Select modifier. And then click Play to preview the
animation. you see there’s the sphere moves across
the plain it draws the growth animation in its wake. We’ve
gone into quite a lot of detail about the theory at how Forest Pack handles
animated geometry and explore the implications of this
using a number abstract examples, to wrap this tutorial up we’ll see how
easy and quick it is to use Forest Pack to control animated objects. In this short section, we’ll use three of the
techniques described above on a small animated scene to see how
they apply in a typical situation. So to get started open either Forest Pack
animation start Mental Ray or animation start V-Ray depending on your renderer. In this file there are a number hittin
layers you can activate if you have GrowFX installed unhide 1_forest_objects_start_growfx,
otherwise unhide 1_forest_objects_standard. If
you prefer just to see the end results and you don’t want to follow the tutorial. unhide either forest_objects_end_growfx forest_objects_end_standard. In all cases
the forest objects have been set up for you with the exception of the animation
which will add by following the steps. We’re going to start by animating the simplest objects first. The radio telescopes in the scene all move perfectly in sync, so to do this we
use follow geometry mode. Pick forest_telescope_start from the scene. Scroll down to the animation rollout and
turn on Follow Animation and that’s all you need! But to illustrate some of the interoperability between RailClone and Forest Pack we’ll temporarily turn off Animate Only at
Rendertime then unhide the animated dish layer and
select RailClone telescope. this is a RailClone object so go to its
display rolled out and turn on Box Mode. Because Forest is in adaptive display
mode it will update to display the three boxes that make up the simplified RailClone object. This will preview really quickly in the
viewport but it appears as a full mesh for renders. without any need to adjust settings
before rendertime. That technique worked well for the telescope’s but even with good transform randomisations synchronised trees aren’t going to look very convincing. Instead we use random sample mode to create animation variation. To ensure the animation looks sufficiently differentiated always use a large time offset value. Select forest_trees_start, open the animation rollout and check Random Samples set the time offset to 15 or higher. and set the count to 6.It’s worth
remembering that the count value does have an impact on the amount of
memory used. The final example is probably the most complicated in the scene. We’re going to look at animating the windswept grass. We want to simulate gusts of wind blowing
across the landscape like waves so in this section we’ll create a custom
grayscale map to use with the random from map mode. Select forest_grass_start and open the animation rollout. Turn on Random from Map and turn off Animate only at render time. Though we can preview the animation
effects in points cloud mode to see even more clearly the effect of the map we’re going to create it can be helpful to temporarily substitute the plant geometry for something simpler. A useful trick especially if you are a GrowFX user, is to create a low poly proxy object that contains roughly the same animation
as the full geometry. With GrowFX this is as easy as
duplicating the object and deleting more or less everything except a single stem and the
wind animation. Because this proxy object is driven by
the same wind source as the high res plant we’ll get a good indication of the
finished animation without having to do costly and slow renders. so to further enable us to fine
tune the animation we use a 25 meter patch to help visualize the effect. This has already been created and added
to the Forest object so to enable it go to the Areas rollout and turn off the
surface area, still in the Areas rollout turn on rectangle 6, and adjust the
viewport so you can clearly see the grass patch. Go to the Geometry rollout and select both
items by clicking their names while holding down
control. Click on the custom object geometry picker and select the GrowFX proxy from the scene. Since we’re using low poly geometry in a relatively small area, we can
temporarily change the display mode to mesh from the display rollout. And finally,
just like in our example files, I’m going to change this distribution map to a grid to help visualize how this map is working. There’s any number of ways to approach this map. but in this example we’re going to combine two gradient ramps. Go back to the animation rollout, click on the map button and select Gradient Ramp. While we’re here, set the time offset to 7 and the count value to 20 and then drag the gradient map into the material editor as an instance In the coordinates rollout, check Use Real World Mapsize. Set the width to 12 .5 and the height to 25 meters. If you play the animation now you see the offset is creating a
wave-like motion moving horizontally across the screen To create a wave that move horizontally and vertically we’ll combine 2 gradient maps. Click on
the map type button and select a composite map, make sure you keep the existing map as a sub map. Click + to add a new layer, copy the
existing gradient ramp to the new texture slot rotate the copied gradient ramp by 90 degrees and adjust the width and height settings
so the width 25 meters and the height is 12 .5. go back to the composite map and change the top layer’s blending mode
to Darken. If you play animation now you should see a wave effect running
horizontally and vertically. Finally, to add a little variation if you have
Bercon maps installed you can use it to add some distortion. Click on the map type button and select
Bercon Mapping keeping the existing map as a sub map. For some reason when you do this Bercon mapping always applies it to the
distortion map slot instead of the main input, so move it over. Change the Type
explicit map channel real world and rotate the map at 45 degrees on the z axis. In the distortion group set the strength to 4 and add a noise map
to the distort map slot. Set the noise map’s size to 30. Now if you
play the animation you’ll see a highly randomized wave pattern that simulates wind. All that’s needed now
is to restore the correct distribution, area and geometry settings. In the Display rollout, change the mode to
points-cloud. In the Distribution rollout change
the map to dense. In the Areas rollout turn off rectangle, and turn back on Surface area. In the animation rollout turn back on Animate only at render time. Finally in the Geometry rollout replace the proxy object with the
prairie grass and red rescue plants. With that done you’re ready to render, but I won’t make you watch that.
This video represents the final render, sky and mountains in the background have
been added in After Effects, along some basic post Hopefully you can see using these techniques allows you a great deal of control when scattering animated objects. From simple synchronized animation to
advanced manipulation of offsets and absolute playback using maps. In the
last part we covered some basic uses in a realscene. We hope you can see the creative potential of these techniques and they help you to save time and produce great work! We’ll be returning to animation in future
installments and looking at more specific and unusual
uses for these tools. In the meantime stay tuned for future
Forest Pack and RailClone training or for more information about many
aspects of Forest Pack’s features see our reference section or visit the tutorials page for more tips
and tricks videos and in-depth tutorials

AGARiO with ANGRY BIRDS ♫ 3D animated game mashup ☺ FunVideoTV – Style ;-))

AGARiO with ANGRY BIRDS  ♫  3D animated game mashup  ☺ FunVideoTV – Style ;-))

wee plop oohh food food hello welcome agario chirp hello jake hi pig can I kiss you please pretty pleaseRead More AGARiO with ANGRY BIRDS ♫ 3D animated game mashup ☺ FunVideoTV – Style ;-))

11 Replies to “TUTORIAL: Understanding Forest Pack’s animation features”

  1. Its good but not quite so i can't know how to animation the full technique so please more animation Tutors from the scratch to finished please Thank you

Leave a Reply

Your email address will not be published. Required fields are marked *