Curve Driven Animation

Illustrates how you can use a Pose Asset and Curve Data to create a new Animation Sequence driven by animation curve data.

Choose your operating system:

Windows

macOS

Linux

On this page

In this How-to we create a new walking animation that relies purely on curve data to drive the animation. By using a Pose Asset based on an existing Animation Sequence , we take two of the poses from the animation and blend between them to create our new walking motion. While this is a Full Body example used to create locomotion, you can take these same concepts and apply them to a facial animation to create Additive facial animation that is driven by curve data.

For this How-to, we are using the Blueprint Thirdperson Template project.

  1. Inside the Content Browser under the Content/Mannequin/Animations folder, Right-click on the ThirdPersonWalk and select Create PoseAsset .

    CreatePoseAsset_01.png

  2. Use the default name for the new Pose Asset , then Double-click to open it.

    Click for full view.

    When creating a Pose Asset , the Pose Names will be automatically generated by default (as long as the curves exist in the animation). A pose will be created for each frame of the animation in which the Pose Asset was created from. You can adjust the curve weights for each pose to see the resulting pose when weight influence is applied. For example, above we adjusted the weight of Pose_6 and our character moves their right foot forward.

    By default, all Pose Assets are set to Full Body and are not Additive which means the weight values are either 0 (no influence) or 1 (full influence). Setting a weight value in this case to 0.2 for example is the same as setting it to 1. For more granularity, you can set the Pose Asset to Additive however doing so to an animation that is applied to the full body of a character (such as a walk or run) may cause your character to become compacted or scaled undesirably.

  3. Right-click on Pose_6 and Rename it to r_foot_fwd .

    CreatePoseAsset_3.png

  4. Right-click on Pose_24 and Rename it to l_foot_fwd .

    CreatePoseAsset_Add01.png

  5. From the Main Toolbar , click Create Asset and select Create Animation / From Reference Pose .

    CreatePoseAsset_4.png

  6. Choose a save locaiton and save name (we called ours CurveWalk ).

  7. Inside the new animation, Right-click in the timeline and select Append at the End and add 30 frames.

    CreatePoseAsset_5.png

  8. Under Curves , click the Add button, then under Add Variable Curve.. select l_foot_fwd to add it then add r_foot_fwd .

    AddLeftCurve.png

    We now have the two poses that we want to drive with curve data.

  9. Click the Expand Window checkboxes for both the l_foot_fwd and r_foot_fwd curves.

    Checkboxes.png

  10. Move the timeline to 0 , then in the l_foot_fwd curve, hold Shift + Left Click to create a key and set Time and Value to 0 .

    1stKey.png

  11. Shift + Left Click and add keys for Time 0.5 and Value 1.0 , then Time 1.0 and Value 0.0 resepectively.

    2ndKey.png

    This will pose our character's left foot foward midway through the animation.

  12. In the r_foot_fwd curve, Shift + Left Click and add keys for: ( Time 0, Value 1 ), ( Time 0.5, Value 0 ), and ( Time 1, Value 1 ).

    3rdKey.png

    At the start of our animation our character's right foot will be forward and midway through we switch to the left foot forward. As the animation nears the end, we use the curve data to drive the right foot forward pose again and when looped we generate our walk cycle.

  13. To preview the animation with the Pose Asset, in the Asset Details panel, set the current Preview Pose Asset to use the ThirdPersonWalk_PoseAsset .

    CreatePoseAsset_7.png

End Result

We can now play the animation to see the two poses being blended together with our curve data.

To play this animation at runtime, you will need to use one of the Pose Nodes within an Animation Blueprint.

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