
In this case, we will only have one reaction or one mapping between two tracks. At the top is a list of all reactions in the scene. The Reaction Manager is divided into three sections. Go to the Animation menu, and open up the Reaction Manager dialog. With nothing selected, let's create a Reaction controller. Go to the Move tool, and it's got an X position of zero. Just make sure that the ball helper is at an X position of zero. I set that up in the previous movie in this series, where we looked at custom attributes. In order to make the ball bounce more than once, we had to set up a custom attribute that finds the remainder of the X position divided by the total length of a single bounce. Well, the Reaction controller does not support Parameter Curve Out-of-Range Types. You may be familiar with looping, using the so-called Parameter Curve Out-of-Range Types, where you can define various behaviors for the track in time segments before and after the keyframed animation range. The second limitation of the Reaction controller is that we cannot loop the action like we can with an ordinary Transform controller. The ball will move in the Z axis according to our Reaction controller curve. And the ball will move in the X axis also because it's a child. First, the two tracks cannot be on the same object, and that is why I have a simple rig here, with the ball parented to a helper object or a dummy.

The Reaction controller has a couple of limitations. In this case, we will use it to make this ball bounce up and down in the Z axis as it moves forward in the X axis.

Using a function curve, we can define an arbitrary mapping between the two tracks. We can define a non-linear relationship between the two tracks. There are other simpler ways to do this, such as the Wire Parameters dialog, but the Reaction controller has one very key advantage. A Reaction controller let's us drive an animation track value with another animation track value.
