Animating Text with 3ds Max - Animation Controllers

Login to Follow
  • Games
  • Design Visualization
  • Animation
  • 2012
  • 3ds Max
Skill Level
  • Intermediate
11 min

Animating Text with 3ds Max - Animation Controllers

In this tutorial, you will learn more complex keyframing techniques to animate text. You will leverage the Noise Animation Controller to simulate erratic vertical behavior of separate letters in a word. You will also learn about the Waveform Animation Controller.

  • Recorded in: 3ds Max 2012
  • This tutorial is intended for use with 3ds Max version 2012 or higher.
00:00:00 --> 00:00:07
In this movie, you animate letters to erratically move up and down using the Noise Animation Controller.

00:00:08 --> 00:00:13
You will use an existing scene that has simple geometry. Materials have already been applied.

00:00:14 --> 00:00:22
Using the Text tool, create a line of text in the front view that reads: WELCOME TO THE 25TH ANNUAL PISTON CUP.

00:00:23 --> 00:00:27
It'll be a bit of a wink to that famous animated movie.

00:00:29 --> 00:00:34
Click a point in the Front View, just above the position of the camera.

00:00:35 --> 00:00:41
Adjust the text in the Modify panel. Use the Comic Sans MS font.

00:00:42 --> 00:00:49
Make sure the text is broken into two lines by using Enter just before the word PISTON.

00:00:52 --> 00:00:58
Set the justification to Center and the size to about 30 to bring the text in the camera shot.

00:00:58 --> 00:01:02
If you need to, change the wirecolor to see the text better.

00:01:03 --> 00:01:09
Before you give the text any measure of 3D depth, consider that the whole thing is just one entity.

00:01:10 --> 00:01:17
This means that you'd find it hard to animate the individual letters without somehow detaching them from the paragraph.

00:01:18 --> 00:01:22
Instead, remove the second line of text completely.

00:01:23 --> 00:01:28
Now that you are left with the first line, add a Bevel modifier to it.

00:01:29 --> 00:01:34
Set the bevel parameters in such a way to give the text some depth.

00:01:46 --> 00:01:52
For good measure, go to the Slate Material Editor and apply the shiny gray material to the selection.

00:01:53 --> 00:02:01
This whole line will be static but now that you have applied basic parameters, you will use it to create the second line with animated letters.

00:02:02 --> 00:02:09
In the front view, use Shift+Move to make a copy of the line of text below the current one.

00:02:11 --> 00:02:14
Make the size bigger, about 40 units.

00:02:15 --> 00:02:19
The second line is shorter anyway, so it would still fit in the camera shot.

00:02:20 --> 00:02:23
Change the text to read simply the letter P.

00:02:24 --> 00:02:28
Since you want the letters to move independently, you'll work them one at a time.

00:02:29 --> 00:02:35
Adjust the position of the letter. You don't need to be precise; you'll probably need to fine-tune it later.

00:02:36 --> 00:02:42
Now you need to animate the letter to erratically move up and down based on the World Z-axis.

00:02:42 --> 00:02:50
Before you move on and apply a noise animation controller, be advised that you need to freeze your transforms first. Here's why:

00:02:51 --> 00:02:55
The selected letter at this time sits above ground level 0.

00:02:55 --> 00:03:01
Based on where you positioned it earlier, its Z-Position is probably between 50 and 60.

00:03:02 --> 00:03:13
If you were to apply a Noise controller to its Z-axis right now, the letter will move to Z=0 value as it's the default value of that controller.

00:03:13 --> 00:03:17
If you want to test it, make a copy of the letter and go to the Motion Panel.

00:03:18 --> 00:03:25
In the Assign Controller rollout, expand the Position controller and select the Z Position track.

00:03:26 --> 00:03:33
Click Assign Controller and choose the Noise Float controller from the list and click OK.

00:03:33 --> 00:03:40
Notice how the letter relocates to ground level, and how it's now animated to randomly move up and down.

00:03:42 --> 00:03:45
Delete this animated letter and select the original.

00:03:46 --> 00:03:50
To prevent this relocation behavior, you need to "Freeze" the transforms.

00:03:51 --> 00:03:56
This creates a list controller where you pass on animation information from layer to layer.

00:03:56 --> 00:04:06
When this happens, the first controller in the list will store the current Z-Position value (in this movie recording 54.623)

00:04:06 --> 00:04:09
and pass on "clean" information to the second controller in the list.

00:04:10 --> 00:04:15
As far as the second controller knows, the current location of the object is [0,0,0].

00:04:16 --> 00:04:22
The process is also applied to the rotation of the object but we're not dealing with rotation in this example.

00:04:22 --> 00:04:31
To freeze transforms and create a controller list, use Alt+RMB and choose Freeze Transforms.

00:04:31 --> 00:04:35
A warning appears; press Yes to proceed.

00:04:35 --> 00:04:45
Now you have a list controller and the first track (named Frozen Position) keeps a record of the original position in world space.

00:04:47 --> 00:04:54
The second track (named Zero Position) looks upon its current location as [0,0,0].

00:04:54 --> 00:05:03
Therefore, applying a Noise Controller to the Z-Axis of that track prevents the relocation problem from happening.

00:05:07 --> 00:05:14
You can of course play with the parameters of the Noise Modifier, mainly the strength and the frequency.

00:05:14 --> 00:05:18
A smaller frequency value slows down the motion.

00:05:21 --> 00:05:26
The Seed value changes the shape of the graph, and therefore the behavior of the motion.

00:05:27 --> 00:05:31
This is what you will use to bring variety between the various animated letters.

00:05:32 --> 00:05:37
Notice that you can still move the letter in X and Y but not in Z.

00:05:41 --> 00:05:46
That's because that track has been taken over by the noise controller.

00:05:47 --> 00:05:55
If you need to adjust the global Z-Position of the letter, you can either do it by activating the Frozen Position layer,

00:06:00 --> 00:06:06
or by adding another controller to the Available spot and activating it.

00:06:10 --> 00:06:17
Now, you may have been wondering why you haven't created the other letters yet, and instead concentrated your efforts on the first letter.

00:06:18 --> 00:06:24
That's because the bulk of your work is done, and you are now ready to clone the letter P to create the rest.

00:06:24 --> 00:06:30
You'll only need to change the letter itself and one additional parameter to create the final effect.

00:06:30 --> 00:06:36
In the front view, use Shift+Move to create 8 copies.

00:06:40 --> 00:06:48
In the Modify panel, change the individual letters so that the whole line reads PISTON CUP.

00:06:59 --> 00:07:06
It looks good but as far as the animation is concerned, all letters have the exact same behavior.

00:07:10 --> 00:07:15
Select the letter I and go to the Curve Editor.

00:07:19 --> 00:07:25
Locate the Zero Pos XYZ entry and select its Z Position track.

00:07:25 --> 00:07:31
Right-click it and choose Properties, the Noise Controller dialog appears.

00:07:31 --> 00:07:35
Change the Seed number to a different value and test the animation.

00:07:36 --> 00:07:40
Now the letter I has a different behavior than the rest of the letters.

00:07:40 --> 00:07:46
Close the Noise Controller dialog and repeat the procedure with the S letter.

00:07:46 --> 00:07:53
Repeat the procedure with every subsequent letter so that each moves independently from the other.

00:08:16 --> 00:08:25
To make things more interesting, animate the camera to get closer to the text between frames 0 and 300.

00:08:45 --> 00:08:53
For an extra bit of fun, choose the selection set named CAR to unhide an animated vehicle traveling on a path.

00:08:53 --> 00:08:59
You've animated the letters to have a random and erratic up and down motion using the Noise controller.

00:08:59 --> 00:09:05
For a more "periodic" and predictable feel, you can also use the Waveform controller.

00:09:06 --> 00:09:11
Select the car's main body and apply a Bend modifier to it.

00:09:16 --> 00:09:26
Set the Bend Axis to Y and the Direction to 90. This way, when you animate the Bend Angle, you get this cute little Sway behavior.

00:09:26 --> 00:09:32
You could keyframe the angle value, but instead, you'll use the Waveform controller.

00:09:35 --> 00:09:38
Right-click the car and go to the Curve Editor.

00:09:38 --> 00:09:45
Expand the Modified Object track to find and select the Bend Angle track.

00:09:48 --> 00:09:55
Right-click it and choose Assign Controller > Waveform Float. A dialog appears.

00:09:58 --> 00:10:02
As you scrub the animation, you can see the effect it has on the car.

00:10:03 --> 00:10:08
Set the Period to 50 frames to slow down the wave cycle.

00:10:11 --> 00:10:17
Reduce the Amplitude to about 45~50 so that the effect is less pronounced.

00:10:17 --> 00:10:21
As always, feel free to experiment with these values.

00:10:22 --> 00:10:29
The beauty of this controller is that you can layer down multiple waveform tracks for special effects.

00:10:36 --> 00:10:41
We won't use that in this example but feel free to experiment with it.

00:10:45 --> 00:10:50
In this movie, you learned how to apply the Noise Animation Controller to have letters move erratically.

00:10:50 --> 00:10:58
Although you used it on a mesh object, you also learned to use the Waveform Controller, which works just as well with text.

00:10:58 --> 00:11:06
Check out more animated text tutorials, to learn to use other special animation controllers like Audio and Motion Capture.
Posted By
  • 3ds Max
  • Animation
  • 2012
To post a comment please login or register
*Save $70 per month on Autodesk's Suggested Retail Price (SRP) when purchasing 1 year term 3ds Max or Maya subscription.