3ds Max Animation Techniques - Offset Controls and Presets
In this tutorial, you learn about Animation Offset Controls and Animation Presets tools. These tools make it easy to induce an offset so that the same animation does not occur simultaneously on multiple objects. This can affect animated Transforms and animated Modifiers as well.
- Recorded in: 3ds Max 2016 Ext. 1
- This tutorial is intended for use with 3ds Max version 2016 or higher.
00:00:07 --> 00:00:14
In this movie, you learn how to offset the animation on multiple objects so that they don't behave the same way at the same time.
00:00:15 --> 00:00:21
You also learn to store an animation so you can re-use it on the same object or on others.
00:00:21 --> 00:00:28
To that purpose, you will be using this scene named offset-controls.max that you downloaded for this tutorial.
00:00:29 --> 00:00:34
The download link is available in the movie description on this YouTube channel page.
00:00:34 --> 00:00:40
The scene seems empty but there are a couple of objects that are hidden from view at this time.
00:00:40 --> 00:00:46
In the Scene Explorer, make sure the Sort by Layer option is enabled.
00:00:47 --> 00:00:53
Turn on the layer named "Dominos", a chamfered box representing a domino tile appears.
00:00:53 --> 00:00:59
It is mapped with a multi/sub map so that the tiles look different when duplicated.
00:00:59 --> 00:01:04
Say you were to create 15 or 20 copies of this object on the X axis.
00:01:05 --> 00:01:14
Make them about 40 or 45 units apart and make sure you use the Copy option. More on Copies vs. Instances later.
00:01:15 --> 00:01:19
Next, you will animate these pieces to rotate and simulate a simple fall.
00:01:19 --> 00:01:23
Select all the pieces and enable Auto Key mode.
00:01:23 --> 00:01:33
Go to Frame 10 and then rotate all the pieces on the Y-axis by an amount you judge sufficient. About 75~80 degrees should do.
00:01:35 --> 00:01:38
Exit Auto Key mode and scrub the animation.
00:01:39 --> 00:01:41
It doesn't look great does it?
00:01:42 --> 00:01:49
To have the pieces fall in sequence, you would normally select them and slide the keyframes on the timeline.
00:01:50 --> 00:01:57
This is not a practical solution as the more objects you have, the more time consuming that process would be.
00:01:58 --> 00:02:08
Instead, you would select all objects and from the Animation menu, under Offset Controls, choose Add Offset Controllers.
00:02:08 --> 00:02:15
In the dialog that appears, you have options to affect Transforms, Modifiers and Materials.
00:02:15 --> 00:02:21
Since Rotation is a Transform, enable that option and disable Modifiers.
00:02:21 --> 00:02:26
You can further adjust the options to have more or less controllers visible.
00:02:26 --> 00:02:33
In this case, you're only interested in animated rotations, so only these two options need be active.
00:02:34 --> 00:02:42
Even through you rotated the domino pieces on the Y-axis only, rotations in 3ds Max are calculated on three axes simultaneously.
00:02:42 --> 00:02:48
Therefore, the Rotation XYZ controllers are visible on all selected objects.
00:02:48 --> 00:02:51
Go ahead and select them all,
00:02:52 --> 00:02:53
and then click OK.
00:02:57 --> 00:02:58
Test the animation.
00:02:59 --> 00:03:06
It looks better as there is definitely a timing offset taking place, but it needs some fine-tuning.
00:03:07 --> 00:03:10
Select any of the pieces and take a look in the Modify panel.
00:03:10 --> 00:03:15
A new Timing and Offset modifier shows various settings that you can adjust.
00:03:16 --> 00:03:23
If you need to affect the original animation globally, then you can do that by changing the Set Length value.
00:03:23 --> 00:03:28
Currently it is set to 10 frames, which is how you animated the fall.
00:03:30 --> 00:03:35
Setting the value to 5 would make the fall twice as fast.
00:03:36 --> 00:03:40
A value of 20 would make it twice as slow.
00:03:42 --> 00:03:44
Set it back to 10 before moving on.
00:03:44 --> 00:03:51
Even though 10 frames is reasonable timing for the fall, the animation offset itself needs adjustments.
00:03:51 --> 00:03:58
As the first domino piece falls, the next one in line should start falling about 5 frames later.
00:03:58 --> 00:04:05
In the Offset Settings group, change the Per Node Delay value to 5 and try again.
00:04:10 --> 00:04:11
00:04:15 --> 00:04:17
Try a value of 4,
00:04:21 --> 00:04:25
or even 3 until you like what you see.
00:04:26 --> 00:04:31
The Random option randomizes the delay by a number of frames you specify.
00:04:32 --> 00:04:36
It wouldn't be useful here but try a value of 10 to see the effect.
00:04:37 --> 00:04:42
The Per Node Delay is affected by plus or minus 10 frames which affects the animation.
00:04:42 --> 00:04:48
As mentioned, a random delay isn't useful for this particular animation, so disable it.
00:04:49 --> 00:04:52
Take a look at the Playback Type drop-down menu.
00:04:53 --> 00:04:58
Playback the animation and try the various options to see the animation behavior.
00:04:58 --> 00:05:03
You can set the animation to move forward, backward,
00:05:04 --> 00:05:07
from the edges in,
00:05:10 --> 00:05:12
from the center out,
00:05:16 --> 00:05:18
00:05:23 --> 00:05:26
Set the Playback Type to Forward before moving on.
00:05:27 --> 00:05:33
The order in which the objects are animated depends on the Order ID value.
00:05:33 --> 00:05:41
Note that the Order ID in this case is based on how the duplicates were created, incrementing from left to right.
00:05:42 --> 00:05:47
You can change this order manually or by using the Pick Object button.
00:05:47 --> 00:05:56
The object you select becomes the first object to animate, and the next duplicates animate based on their distance to that object.
00:05:57 --> 00:06:03
If two or more objects are equidistant to the master object, then they will animate simultaneously.
00:06:03 --> 00:06:09
Note that the two pieces on either side of the master object have the same ID number.
00:06:15 --> 00:06:22
If you still want individual animation on each delayed object, then use the Normalize Order button.
00:06:22 --> 00:06:30
The Master object still initiates the animation, and the subsequent pieces fall from closer to further away from the original.
00:06:34 --> 00:06:42
To go back to where you started, use Pick Object and select the leftmost piece and use Normalize Order once again.
00:06:43 --> 00:06:50
Before moving on, I'd like to mention that this offset tool works with copies but not with instances.
00:06:50 --> 00:06:56
To demonstrate, delete all the dominos except the original on the left (Dom_001).
00:06:57 --> 00:07:04
Select the original piece and from the Animation menu, choose Offset Controls > Remove All.
00:07:04 --> 00:07:11
This removes the Timing and Offset modifier and any underlying offset controllers applied to the selected object.
00:07:12 --> 00:07:19
Create a new set of duplicates as before, only this time choose Instance instead of Copy.
00:07:20 --> 00:07:25
Select all objects and add Offset Controllers as you did before,
00:07:31 --> 00:07:35
and note that unlike earlier, the pieces now all move at the same time.
00:07:36 --> 00:07:47
The reason for this is that the Timing and Offset modifier is now instanced too, and changing the Order ID on one object replicates it on another.
00:07:48 --> 00:07:55
Since all duplicates are sharing the same ID, they all animate the same way and no offset takes place.
00:07:56 --> 00:08:02
To have an offset, the instances need to be converted into copies or "made unique".
00:08:02 --> 00:08:07
This also needs to be done BEFORE applying the offset controllers.
00:08:07 --> 00:08:13
So delete the instances once again and remove the offset controllers from the original.
00:08:15 --> 00:08:24
Create a set of instanced duplicates one more time. This is a scenario that's bound to happen, when you need to turn instances into copies.
00:08:24 --> 00:08:33
Usually this is done by selecting an instance, right-clicking the Modifier stack and choosing the Make Unique option from the cursor menu.
00:08:34 --> 00:08:41
However, this one-by-one approach is not practical when dealing with dozens or hundreds of instances.
00:08:42 --> 00:08:47
If that's the case, you need to rely on a simple line of Maxscript code to solve the problem.
00:08:48 --> 00:08:52
Right-click in the lower left corner and open a Listener window.
00:08:52 --> 00:08:57
Select all the instances in the scene, including the original box.
00:08:57 --> 00:09:00
Type in the following line in the listener window:
00:09:01 --> 00:09:11
InstanceMgr.makeobjectsunique selection #individual
00:09:11 --> 00:09:17
Make sure you press Enter to confirm the command and close the listener window when you're done.
00:09:18 --> 00:09:27
Check out the individual domino pieces, the Modifier stack doesn't display in Bold anymore, making the objects independent copies.
00:09:27 --> 00:09:34
Select all the pieces once again and apply offset controllers to offset their animation.
00:09:44 --> 00:09:50
Note that their Order ID's are now different, based on the fact that they are not instanced anymore.
00:09:51 --> 00:09:59
When you create an animation that you like, you can save it to disk and reuse it as part of the Animation Offset workflow.
00:10:00 --> 00:10:04
To demonstrate, hide the Dominos layer,
00:10:04 --> 00:10:07
and create a simple teapot.
00:10:09 --> 00:10:12
Make its size about 15 units in radius.
00:10:12 --> 00:10:18
To make the animation preset interesting, you'll animate both transforms and modifiers.
00:10:18 --> 00:10:22
Enable Auto Key mode and go to frame 12.
00:10:23 --> 00:10:28
Move the teapot forward on the X-axis by about 70 or 80 units.
00:10:29 --> 00:10:38
Copy the first keyframe by Shift+sliding it from frame 0 to frame 2. This creates a slight pause before the teapot starts moving.
00:10:39 --> 00:10:44
Go to frame 7 and move the teapot up by about 40 or 50 units.
00:10:46 --> 00:10:48
This creates a little hop.
00:10:49 --> 00:10:54
Copy the last keyframe from frame 12 to frame 20 by holding shift and sliding it.
00:10:55 --> 00:11:00
This creates an 8-frame pause that will prove handy once you cycle the motion.
00:11:01 --> 00:11:08
Next add a Stretch modifier and animate its values.
00:11:08 --> 00:11:12
Stretch it down a bit at a frame 2 just before the hop.
00:11:13 --> 00:11:16
Stretch it up a bit during the hop,
00:11:22 --> 00:11:25
and back down around the landing.
00:11:35 --> 00:11:40
Also make sure the last stretch keyframe is copied to frame 20 to close the cycle.
00:11:44 --> 00:11:46
Exit Auto Key when done.
00:11:47 --> 00:11:59
To save the created animation to disk and use it as a preset, make sure the teapot is selected and choose Animation > Presets > Create Preset
00:11:59 --> 00:12:02
A dialog similar to what you've seen earlier appears.
00:12:02 --> 00:12:14
Make sure both Transform and Modifiers are selected, and as earlier, select only the animated controllers and click OK.
00:12:14 --> 00:12:23
A new Preset Maker modifier appears, name the preset Bug_Hop and click the Save Preset button.
00:12:24 --> 00:12:31
Animation Presets are saved to your Project Folder, under sceneassets > animations > presets.
00:12:32 --> 00:12:40
Create a new teapot similar to the first one. This new one is not animated yet in any way.
00:12:40 --> 00:12:50
To animate it using the same hop, make sure it's selected and then choose Animation > Presets > Load Preset.
00:12:51 --> 00:12:54
Select the Bug_Hop preset you created and load it.
00:12:55 --> 00:13:00
You'll notice two things: first the new teapot is animated similarly to the first one,
00:13:01 --> 00:13:09
and second, a Stretch modifier and a "Bug_Hop_1" modifier have been applied to the new teapot.
00:13:09 --> 00:13:17
The Bug_Hop_1 modifier is the same Timing and Offset modifier you learned about earlier, which can be used on duplicates.
00:13:17 --> 00:13:26
In fact, delete both teapots and unfreeze the Fleas layer. A cartoon-looking bug appears.
00:13:27 --> 00:13:31
Make a few copies of it on the Y-axis,
00:13:33 --> 00:13:36
and then select all the fleas,
00:13:37 --> 00:13:40
and apply the Bug_Hop preset.
00:13:47 --> 00:13:49
Playback the animation to try it out.
00:13:55 --> 00:14:00
You may need to increase the length of the animation for a better experience.
00:14:06 --> 00:14:12
As you've learned before, you can select any of the copies and adjust the offset settings.
00:14:18 --> 00:14:25
If you set the Out tangent to Relative Repeat for example, you get a continuous forward advance.
00:14:27 --> 00:14:31
Try setting up both tangents to Relative Repeat,
00:14:34 --> 00:14:40
and the Playback Type to Random to get a full-blown flea invasion.
00:14:46 --> 00:14:51
Adjust the Per Node Delay and Random values for further refinements.
00:14:51 --> 00:14:59
As you can see, it becomes very easy to apply and adjust an animation cycle to a set of copied objects.
00:15:00 --> 00:15:08
The results can be quite interesting, here's an example of animated grass with an animated Bend cycle set to random.
00:15:09 --> 00:15:16
It is now left to you to come up with your own animation preset ideas which you will hopefully share with us.