Control Rig Inversion

An overview of the Forward Solve and Backward Solve for Control Rig

Windows
MacOS
Linux

You can modify existing skeletal animation with user-friendly Control Rigs. Rig inversion enables users to remap existing animation onto animation rigs, which they can use to tweak gameplay or cinematic animation using Sequencer. The Backwards Event node in Control Rig defines how a bone maps to a control or other controlling logic. Numerical Pre-Sequencer functionality enables users to bake to Control Rig by running the Backwards Solve event per frame of animation in Sequencer. This solution allows workflows such as editing existing animation sequences or editing recorded motion capture data.

The following options are available for working with inverted Control Rig tracks.

Forward Solve

image alt text

Use Forward Solve to manipulate bones with controls or other procedural logic, such as IK or sine waves. Make connections with the Forward Solve RigUnit node.

image alt text

Backwards Solve

image alt text

Use Backwards Solve for any incoming bone animation data to be applied to the controls. The connections can be made with the Backwards Solve RigUnit node.

image alt text

Backwards Solve and Forward Solve

image alt text

Backward Solve is calculated first, then Forward Solve. This allows any control manipulations with incoming bone animations to drive the controls first. In the Control Rig Editor, this is only in Preview mode.

image alt text

Sequencer Workflow

To set up Control Rig Inversion for work in Sequencer, follow these steps:

  1. Create a Level Sequence and add the designated Skeletal Mesh Actor to your tracks.

  2. Add an animation track and apply an animation to that Actor.

    image alt text

  3. Select the Actor and right-click to display the options for Control Rig.

    image alt text

Edit with FK Control Rig

This functionality adds an FK controller to all bones and then bakes out the bones' animation onto the generated FK controllers. A new track is created for the Skeletal Mesh Actor in the Level Sequence.

Right-click and select Edit with FK Control Rig.

image alt text

This adds a new Control Rig track to the selected Skeletal Mesh Actor called FKControlRig, which has baked keys on every control. The process bakes across the Level Sequence start and end time. Any previous animation section is grayed out.

Opening up the FKControlRig track, there are keys on every control.

To fine-tune editing, open the Graph Editor to edit the keys and curves.

image alt text

Bake to Control Rig

This functionality is similar to Edit with FK Control Rig; however, instead of using the FK Control Rig, a custom Control Rig can be applied. For this workflow, at least one Control Rig asset needs a Backwards Solve implementation for the selected Skeletal Mesh Actor's skeleton.

Right-click and select Bake to Control Rig. This displays a list of Control Rig assets from which you can choose.

image alt text

Check the Filter Asset by Skeleton checkbox to show only Control Rig assets that use the current Skeletal Mesh Actor skeleton.

image alt text

Similar to the Edit with FK Control Rig process, this adds a new Control Rig track to the selected Skeletal Mesh Actor. However, the track has the name of the selected Control Rig.

image alt text

This track has baked keys on every control. The process bakes across the Level Sequence start and end time. Any previous animation section is deactivated. To fine-tune editing, open the Graph Editor and edit the keys and curves.

image alt text

Reverting to Animation

While the functionality of baking to an FK or a custom Control Rig is important, you can also remove them and have the animation drive the Skeletal Mesh. To do this, simply remove the Control Rig track from the designated Skeletal Mesh Actor.

The result should be the leftover tracks in the Actor. To reactivate the animation, right-click on the section and set it to Active.

image alt text

Affected Elements

In the designated Control Rig asset, you can populate either the bone hierarchy or the control hierarchy with Affected Elements. Once it is populated in either hierarchy, the Affected Elements appear on the other one, so you do not need to duplicate your effort. This information is used solely to allow synchronization of selection between the inversion rig and the FK elements in the Sequencer; it is not needed for the inversion to work.

To add an Affected Element in the Control Rig editor, go to the Details panel. Open the Inversion category click the + button, to add elements. Then, select the Element Type. Finally, select the Element Name. This can also be applied to different element types.

image alt text

To set Affected Elements in the Control Rig Editor, at the bottom of the Details panel. Open the Inversion category and from the Affected Elements dropdown, select Control or Bone.

image_21.png

This is where the relationship between controls and bones can be established for the Interaction Rig. By establishing this connection, the Interaction Rig is able to key the affected bones from the manipulated controls.

Afterward, select the newly set element in Control Rig; in the Inversion section of the element that was just set, there is a new element list that corresponds to what was set.

Set Interaction Rig with Sequencer

Once the Affected Elements are set for the desired Control Rig, go back to Level Sequence in Sequencer and follow these steps:

  1. Select the Skeletal Mesh Actor Binding track, then right-click it, and select Edit with FK Control Rig.

    image alt text

    The result should look something like this, as described in the Edit with FK Control Rig section.

  2. To apply the Interaction Rig system, navigate to the Animation Modes Window and then to the Interaction category under Animation Mode.

    image alt text

  3. Using the dropdown, select the desired Control Rig object that was set up with the Affected Elements.

    image_30.png

    Once that is done, the Control Rig asset is applied in the Viewport; however, there is no Control Rig track in Sequencer.

    This connects the Control Rig that was selected to the FKControlRig, which allows for manipulation of the Control Rig to populate down to the FKControlRig. Selecting controls in the Animation Mode window highlights the FKControlRig tracks that it affects.

    image alt text

Tags
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss