UDN
Search public documentation

CurveEditorUserGuide
Licensees can log in.

Red links require licensee log in.

Interested in the Unreal engine?
Check out the licensing page.

Questions about UDN itself?
Contact the UDN Staff

Curve Editor User Guide

Document Summary: Guide to using the Unreal Curve Editor.

Created by James Golding. Maintained by Richard Nalezynski.

Introduction

UnrealEngine 3 uses its curve editor to allow fine control over properties that change over time. It is currently used in both the Matinee? and Cascade? tools.

Using the Curve Editor

The Curve Editor can be open from either Matinee? or Cascade?.

Curve Editor Overview

Curve Editor Layout

Here is a shot of the Curve Editor in action:

curveed_overview.jpg

1 Fit visible tracks horizontally.
2 Fit visible tracks vertically.
3 Pan/Edit mode.
4 Zoom mode.
5 Auto-curve mode.
6 User curve mode.
7 Curve break mode (corner).
8 Linear mode.
9 Constant mode.
10 Curve name key.
11 Show/Hide Curve button.
12 Curve tangent handle.

Controls

The controls for using the Curve Editor are similar to other tools in UnrealEngine 3:

Mouse Controls

In Pan/Edit mode:

Click-drag on background Pan view around
Mouse wheel Zoom in and out
Click on key Select point
Ctrl-click on point Toggle selection of point
Ctrl-click on curve Add new key at clicked location
Ctrl-drag Move current selection
Ctrl-Alt-drag Box select
Ctrl-Alt-Shift-drag Box select (add to current selection)

In Zoom mode:

Left-click, drag vertically Zoom Y axis (output)
Right-click, drag horizontally Zoom X axis (input)

Keyboard Controls

In Pan/Edit mode:

Delete Delete selected points
Ctrl-Z Undo
Ctrl-Y Redo
Z Puts you into Zoom mode while held.

Note that not all tools using the Curve Editor may support Undo/Redo.

Hot Keys

Working with Curves

Interpolation Modes

The interpolation mode buttons (numbers 5 thru 9 in diagram) control the method each point on the curve will use to reach the next point. If you are using one of the curve modes (Auto, User or Break), you will see white handles (number 12 in diagram) that you can click and drag to give you more control over the curve between points. If you select a key the is in Auto curve mode and adjust its tangents using the white handles (number 12), it will automatically convert to Manual curve mode.

Preset Curves

The curve editor now supports preset curves - both a set of simple auto-generated curves, as well as the ability to save and reuse user-created curves.

NOTE: Be aware that preset-curves simply provide a template for curves to be used in the CurveEditor. They are provided as a time-saver to eliminate the need to recreate the same curves over-and-over. CurveEdPresetCurve is a simple holder object for storing the data associated with a user-saved preset curve. They can not be used to 'share' a curve between several objects.

Auto-generated Curves

To utilize the auto-generated curves supplied with the engine, simply right-click the curve you wish to fill in on the left-hand column of the curve editor and select `Preset Curves'. The following dialog will be displayed, with the available sub-curves enabled according to the distribution type that the curve represents:

PresetCurveDialog.jpg

Figure 1: The PresetCurve Dialog

The following choices will be available in the preset drop-down combo boxes:

  • Do Not Preset - Leaves the curve that is present as-is.
  • Cos Wave - Generates a curve using the time (horizontal) value as the input to the Cosine function (the vertical value).
  • Sine Wave - Generates a curve using the time (horiztonal) value as the input to the Sine function (the vertical value).
  • Linear Decay - Generates a curve featuring a linear decay.
  • User-Set - Allows for loading and using a user-defined curve that was previously saved.

When the Cos Wave or Sine Wave preset are selected, the following setup parameters are displayed:

  • Frequency - the frequency of the wave over the time period (currently pinned to [0.0..1.0]).
  • Scale - the scale factor to multiple the calculated value by. Allows for sizing the curve to the users wishes.
  • Offset - the offset to apply to the value (after it is scaled). This allows for ensuring all values are positive, etc.

An example of a Cos Wave generated with a frequency of 2.0, a scale of 0.5, and an offset of 1.0 is shown below:

GeneratedCosWave.jpg

Figure 2: A generated Cos Wave example

When the Linear Decay preset is selected, the following setup parameters are displayed:

  • StartDecay - the time to start the decay.
  • StartValue - the value to start the curve at.
  • EndDecay - the time to stop the decay.
  • EndValue - the value to end the decay at.

An example of a Linear Decay generated with the start decay value of 0.2, start value of 0.9, an end decay value of 0.8, and an end value of 0.25 is shown below:

GeneratedLinearDecay.jpg

Figure 3: A generated Linear Decay example

Note that the curve in this case will require some tweaking. By default, all the auto-generated curves use the AutoSet curve interpolation method. In the Linear Decay case, selecting each point and setting the interpolation method to linear will `correct' the curve.

User-Set Curves

To utilize user-set curves, you must first create a CurveEdPresetCurve instance in a package. This is done by right-clicking the generic browser and selecting "New CurveEdPresetCurve". You can name the curve if you like, but this is not used at the current time. Otherwise, no parameters are publicly displayed by the object.

Once this is done, you can save a curve to this object by right-clicking the curve label that you wish to save in the left-hand column of the curve editor and selecting "Save Preset Curve". This will also open the PresetCurve dialog, but this time, the only options available are the following:

  • Do Not Preset ** Do not save this curve.
  • User-Set ** Save this curve.

When User-Set is selected, the following dialog is displayed:

UserSetPropertyWindow.jpg

Figure 4: The User-Set Property Window

Select the curve in the generic browser you wish to save the curve to, and click the "Use Current Object" button on the property window. Hit the OK button, and you will save the curve to the contents of the selected Curve object.

This curve can now be used when presetting curves simply by selecting the User-Set option and selecting the curve to utilize from the generic browser.

USAGE NOTE 1: Occasionally, when you select an option via mouse-clicking in the Preset combo box, it doesn't properly update the dialog. When this occurs, simply select the combo box, and use the up and down arrows to select a preset curve option.

USAGE NOTE 2: Currently, preset curves are not available for VectorUniformCurve distributions. This will be remedied as soon as possible.