Motion offers some exceptionally powerful ways to animate almost any property. Traditional keyframing is well supported, as is the wonderful system of Behaviors. Yet, there's another, third way '" the bridge between the two. In this article, we'll take a look at all the ways you can make things change in Motion, but especially at the hidden gem: Parameter Behaviors.
If you're used to After Effects, you're probably used to manipulating keyframes. Locking a property at a point in time and governing how it changes is a time-honored way to get the job done, and sometimes it's still the best. If you need an object to finish its movement at a particular point, I still like to move in to that point in the movie, set a keyframe on position, then move back to the start and shift that object about. It works, it's easy, and it's predictable.
Keyframes ahoy, any kind of interpolation you like.
Still, it's a bit manual. If you need to adjust more than a few objects, it's tedious or simply impossible. An alternative?
Since Motion 1, behaviors have been turning complex animation tasks simple ones. Got a few hundred objects that should be orbiting around a central sun? No problem, one behavior is all you'll need. What about making an object repel other objects? Fine. And throwing an object in 3D space while gravity pushes it down? That's just two behaviors.
While they're truly fantastic at simulating physical objects, and especially at dealing with crowds, they're not perfect. Making an object stop at a known spot is still easier with keyframes, and if you want an object to stop shrinking after a certain point, it's possible, but a tad quirky.
You'll have to cover an entire object with the Grow-Shrink behavior, then change the End Offset value if you want it to stop shrinking early.
These two strategies cover most situations, but sometimes you want something in-between. That's where Parameter Behaviors come in. Occupying the happy middle ground, they let you change a single parameter (as keyframes do) in a controllable, potentially organic way (like Behaviors do). You can make a value go up over time without specifying where it should start '" it just changes by a certain value. Or, you could oscillate between two values like a sine wave. Or, you could link a parameter to another parameter '" very powerful stuff indeed.
Here's what you can do.
The easy way to get started is to add a Ramp. Create an circle on your canvas, positioned to the left but at the vertical center, then open the Inspector to look at its properties. Open the Position property to expose the X/Y/Z parameters. Right-click on the name of the X property '" not on its value. Choose Add Parameter > Behavior > Ramp.
Right-click on a parameter name to add a parameter behavior.
Now you'll have a parameter behavior attached to the X property, and the Behaviors tab will be selected. The object won't move yet, because the End Value is 0. Drag the End Value slider all the way to 100px, and you'll see a small red path appear in the canvas '" but it's not really going very far; 100px isn't much these days.
In the Inspector, click on the 100.0px value and drag to the right to increase hugely, to make the path span across your canvas. Play the movie to see the circle follow the path, at a constant speed. Increase the Curvature slider to 100% to introduce acceleration and deceleration.
Scrubbing the numbers is often the best way forward.
Time to make it go up and down. Return to the Properties pane, then right-click on the Y value and choose Add Parameter Behavior > Oscillate. Increase the speed to 40 and the Amplitude to 280px, and you'll see a waveform of sorts. Let's also regularize it by returning the Curvature on the Ramp behavior to 0%. Finally, to make it really bounce, check the 'Half Range' checkbox.
Bouncing happily along.
Play the movie to see that the ball never slows down or reduces its bouncing height. Of course, another Ramp or two could help with that. Right-click the Amplitude parameter in the Oscillate behavior to affect it. (Yes, you can make one parameter behavior affect another.) In the new 'Ramp 1' that appears, change End Value to -280px '" either double-click and type it, or drag the number to the left.
The bounce now reduces in amplitude (height) over time, but...
Now, the bounce height reduces, but it effectively slows down towards the end '" let's speed it up to compensate. Right-click the Oscillate behavior's Speed parameter and choose Add Parameter Behavior > Ramp yet again. In the new 'Ramp 2' that appears, change the End Value to 100.
You could tweak it some more, but that's probably enough. With no keyframes, you can pick up the object and its entire path at once, moving it wherever you want. Everything's tweakable in an intuitive way, though it's helpful if you change the names of all those Ramp behaviors to define what they do.
The bounce now gets smaller and more frequent over time.
The link behavior can work wonders. Start by creating some wheels '" make sure you can see them rotating '" along with a vehicle frame, and group them all into a 'vehicle' group, you can right-click on the Rotation Z property (not the whole Rotation property!) of a wheel, then add the parameter behavior called Link.
That's how you add the behavior...
In the behavior pane that appears, drag in the 'vehicle' group to the Source Object well. From the Source Parameter's 'Compatible Parameters' menu, choose Properties > Transform > Position > X. Change the Scale parameter below to -1.7, then move the group around to see the wheel move as the whole vehicle moves.
...and that's how you set it up.
The second wheel is easy. Just find the Link behavior in the Layers or Timeline pane, then Option-drag it from one wheel to the other. Animate the vehicle itself however you want (keyframe, behavior, parameter behavior) and the wheels are going to move too. Easy.
One last trick. If you add audio to your Motion piece, it's possible to link a parameter to the waveform of the audio. Scale is easy to spot, so drop a circle in your timeline, right-click on Scale, and add the parameter behavior Audio to it. Link to your Master audio track, then play it to watch the music fly past. Use the controls on the sides of the waveforms to focus on a particular frequency range, and on a minimum and maximum amplitude. You'll have speakers pulsing with the beat in no time.
Here's how that pulsing object might look.
Parameter behaviors are an incredible way to affect any parameter in a direct, useful way. They can reduce the amount of work you have to do, by allowing you to control multiple parameters with a single slider. There are also many more left to explore '" so have fun!