# Animation Curves

Animate Material Parameters, Morph Targets, and other properties synchronized to your animations using Animation Curves.

As you play Animation Sequences on your Skeletal Mesh, you may find it necessary to animate additional properties and values synchronized to that animation. You can accomplish this using Animation Curves (also called anim curves, or curves), which are float-type values you can add and keyframe within an Animation Sequence. Curves can be useful for augmenting your animations with additional animatable properties, such as animating Material Parameters, Morph Targets, and other attributes.

This document provides an overview of Animation Curves, and the various ways you can use them.

#### Prerequisites

- Your project contains a Skeletal Mesh and Animation Sequences.
- If you are using anim curves to affect Material Parameters, you need a basic understanding of Material Instancing.
- If you are using anim curves to affect Morph Targets, you need a basic understanding of setting up Morph Targets on your Skeletal Mesh.

## Creating Animation Curves

Animation Curves can be created in the following ways:

1. When viewing an Animation Sequence in the Animation Sequence Editor, click the Curves track dropdown menu and select Add Curve… > Create Curve. Type in the name of the new curve and press Enter to create it.

2. In the Anim Curves panel, right-click in the curve list area and select Add Curve. Type in the name of the new curve and press Enter to create it.

3. If your skeleton already has curves, you can select them from the Curves > Add Curve… dropdown menu.

Animation Curves are stored on the Skeleton Asset. Therefore, when you are creating curves, you are also editing the Skeleton, which will require you to save it.

### Importing Animation Curves

Custom attributes can also be created externally in animation software like Autodesk Maya, and then imported as curves along with your Animation Sequence.

To do this, first create a custom attribute on any bone in your skeleton and keyframe it. You must ensure that it is a float-type attribute, as that is the only compatible data type with curves. Once finished, export your animation.

Your custom attribute must be keyframed in order for curve data to correctly import.

Next, import your Animation Sequence containing the custom attributes. When importing the FBX, ensure that Import Custom Attribute is enabled.

Once imported, your curves should appear in your Animation Sequence. In this example, two attributes were created on different bones and then imported.

## Creating Curve Animation

Once you have created an Animation Curve and added it to your Animation Sequence, you can animate its value. Select the Curve dropdown menu on the Animation Curve track and click Edit Curve. This will open the Curve Editor.

You can also open the Curve Editor by double-clicking the timeline region for the specific curve track.

Once the Curve Editor is open, you can create keyframes by pressing Enter. This creates a keyframe at the Playhead location, which can be moved by dragging it to set keyframes at different times along the sequence. You can click and drag keyframes to change their time and value.

Refer to the Curve Editor page for more information on navigation, keyframes, and tangent editing using the Curve Editor.

Curve Editor

Tweak your keyframes and curves by using the Curve Editor and tools within it.

## Anim Curves Panel

Your created and stored curves can be viewed and managed from the Anim Curves panel. To view this panel, navigate to the main editor menu and enable Window > Anim Curves. The Anim Curve panel can only be viewed from the Skeleton Editor, Animation Sequence Editor, or Animation Blueprints Editor.

### Curve Management

Several settings and features can be adjusted on your curve entries within the Anim Curve panel.

Name | Description
--- | ---
Curve Name | The name of the curve. You can rename curves by right-clicking one in the Anim Curve panel and selecting Rename Curve.
Type | Enables this curve to either be used for Morph Targets or Materials.
Weight | The current value of the curve.
Auto | Enabling this causes the Weight value to change automatically according to its keyframed values if the curve is being animated in this sequence. If disabled, it ignores its animated values. Disabling this can be useful for testing how the curve value affects the character without keyframing it.
Bones | The number of bones connected to this curve.

### Curve Filtering

You can filter the list of curves in the Anim Curves panel to display only the actively-used curves, or only certain types of curves.

- Disabling All Curves causes only the currently-used curves for this Animation Sequence to be displayed.
- Disabling Morph Target, Attribute, and Material curves disables those curve types from being displayed.

### Curve Details

Selecting a curve reveals the following properties in the Details panel.

Name | Description
--- | ---
Curve Name | The name of the curve.
Connected Bones | An array of bones that you can connect to this curve. This is useful if you want certain curves to be active depending on if a bone is being used or not. Bones can be active or inactive depending on if different skeletons are merged, or bones are being reduced for different LODs.
Max LOD | The maximum LOD to use before this curve no longer evaluates. For example, setting this value to 1 will cause this curve to evaluate for LODs 0 and 1, but not for 2 and beyond.

## Using Animation Curves

Once you have created and animated your curve, there are a variety of ways you can use it to affect your character.

### Materials

You can use Animation Curves to automatically affect Scalar Material Parameters. This requires you to do the following:

1. Match the curve name to the name of the Material Parameter in the Material.

2. Enable the Material curve type in the Anim Curves panel.

Once this is done, the curve value starts to affect the Material Parameter.

Material Animation Curves affect all Materials (and their parameters) assigned to a Skeletal Mesh. Therefore, you may need to adjust your content appropriately if you want your anim curve to only affect a parameter from a single Material. This can happen if your Skeletal Mesh has multiple assigned Materials deriving from a single parent, which will cause parameter names to share between all assigned Materials.

### Morph Targets

Similarly to Materials, you can use Animation Curves to automatically affect Morph Targets on your Skeletal Mesh. This requires you to do the following:

1. Match the curve name to the name of the Morph Target found in the Morph Target Previewer

2. Enable the Morph Target curve type in the Anim Curves panel.

Once this is done, the curve value starts to affect the Morph Target.

### Animation Blueprints

You can use Animation Curves to affect arbitrary values in Animation Blueprints. In most cases, you can use them to affect the alpha values of certain Anim Graph nodes, such as IK, in order to change IK states during animation playback.

The following curve-related functions are available in both the Animation Blueprint Anim Graph, and Event Graph:

Name | Image | Description
--- | --- | ---
Get Active Curve Names |  | This targets an Anim Instance and returns the last up-to-date list of active curve names for the specified curve type.
Get All Curve Names |  | This targets an Anim Instance and returns all Curve Names into a string array.
Get Curve Value |  | This targets an Anim Instance and returns the value of a specified Curve Name.

## Metadata Curves

Metadata Curves are Animation Curves that output a static curve value of 1.0 when added to an Animation Sequence. They can work conversely with normal Animation Curves, which by default (with no keyframes) output a static curve value of 0.0. If no curve is added to a sequence, the anim curve value also falls back to a value of 0.0.

This behavior can be useful in larger projects that contain many Animation Sequences. In these projects, many of those animations may require constant 1.0 curve values throughout them. Therefore, you can use Metadata Curves to expedite this process, rather than manually adding normal curves and keyframing them to 1.0. In other words, large projects that are using anim curves can structure their usage in Animation Sequences in the following way:

- A small number of Animation Sequences may require explicit curve animation on them. Therefore, add Animation Curves to those animations and keyframe them accordingly.
- A larger number of Animation Sequences may require curve values set constantly to 1.0, in order to maintain a property value. Therefore, add Metadata Curves to those animations.
- The remainder of all Animation Sequences may not require curve value considerations, or require curve values set constantly to 0.0. No action is required.

To create a Metadata Curve, click the Curves track dropdown menu and select Add Curve… > Create Curve. You can either select a currently-existing curve, or click Create New to create a new curve.

Alternatively, a currently-existing anim curve can be converted to a Metadata Curve by clicking the Curve drop down menu on a curve track and selecting Convert To Metadata.

Once created, Metadata Curves are read-only and output a constant curve value of 1.0.

- animation

Ask questions and help your peers Developer Forums

Write your own tutorials or read those from others Learning Library

On this page

- Prerequisites
- Creating Animation Curves
- Importing Animation Curves
- Creating Curve Animation
- Anim Curves Panel
- Curve Management
- Curve Filtering
- Curve Details
- Using Animation Curves
- Materials
- Morph Targets
- Animation Blueprints
- Metadata Curves

## Privacy Preference Center

### Your Privacy

When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information

- ### Strictly Necessary Cookies

  Always Active
  Strictly Necessary Cookies

  These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

  Cookies Details‎

- ### Performance Cookies

  Performance Cookies

  These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

  Cookies Details‎

- ### Functional Cookies

  Functional Cookies

  These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.

  Cookies Details‎

Consent Leg.Interest
Select All Vendors
Select All Vendors
Select All Hosts

Select All

- REPLACE-WITH-DYANMIC-HOST-ID

  ### 33Across

  View Third Party Cookies
  - Name
    cookie name

- REPLACE-WITH-DYANMIC-VENDOR-ID

  ### 33Across

  3 Purposes

  View Privacy Notice

  ### 33Across

  3 Purposes

  View Privacy Notice
  REPLACE-WITH-DYANMIC-VENDOR-ID

  Consent Purposes

  Location Based Ads

  Consent Allowed

  Legitimate Interest Purposes

  Personalize

  Require Opt-Out

  Special Purposes

  Location Based Ads

  Features

  Location Based Ads

  Special Features

  Location Based Ads

Clear Filters

Information storage and access

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and personalize content.Privacy Policy