Curve Editor User Guide
Overview
The Curve Editor in Unreal Engine 3 allows fine control over properties that change over time, e.g. properties which make use of Distributions. It is currently used in both Matinee and the Cascade particle system editor.
The Curve Editor, as it is currently used, is not a standalone editor as you would find with most other editors in Unreal Editor. It is used as a dockable pane inside of other editor. As such, opening the Curve Editor is done through the interface of the editor window it is found within, such as the Matinee or Cascade editor windows.
Layout
The Curve Editor is comprised of the following areas:
- Tool Bar
- Track List
- Graph
Tool bar
| Fit the graph to the current visible tracks horizontally. |
| Fit the graph to the current visible tracks vertically. |
| Fit the graph horizontally and vertically to all points of the current visible tracks. |
| Fit the graph horizontally and vertically to the selected points of the current visible tracks. |
| Puts Curve Editor into Pan/Edit mode. |
| Puts Curve Editor into Zoom mode. |
| Sets InterpMode for selected keys to Auto-curve mode. Locked, flattened tangents. |
| Sets InterpMode for selected keys to User curve mode. Locked, user-modified tangents. |
| Sets InterpMode for selected keys to Curve Break mode. Separate in and out tangents |
| Sets InterpMode for selected keys to Linear mode. |
| Sets InterpMode for selected keys to Constant mode. |
| Set selected keys' tangents flattened horizontally. |
| Straightens selected keys' tangents, when broken. |
| Creates a new tab. |
| Lists and allows selection of available tabs. |
| Deletes current tab. |
Track List
The Track List displays all of the curve tracks currently loaded into the current tab. Tracks are normally loaded external to the Curve Editor by pressing a button associated with a Track in Matinee or a Module in Cascade.
Each track in the Track list displays the name of the property associated with the track along with visibility toggle buttons for each individual curve in the track and an overall visibility toggle button. The individual curve visibility toggle buttons are color-coded to correspond to the components of a vector, with red being X, green being Y, and blue being Z. Red is also the color used for a single scalar float value. In the case of a VectorUniformDistribution, there are two sets of curves with each color having a lighter and darker version.
Right-clicking on a track in the Track List brings up the track list context menu.
- Remove Curve - Removes the current track from the Curve Editor.
- Remove All Curves - Clears all tracks loaded in the Curve Editor from all tabs.
- Preset Curve - Replaces the current track's curves with a preset curve.
- Save Preset Curve - Saves the current track's curves to a preset curve.
Graph
The Graph takes up the majority of the Curve Editor interface. It is a graphical representation of the curve with time (input value) along the horizontal axis and the property value (output value) along the vertical axis. Keys along the curve are displayed as points which can be selected and manipulated to visually edit the curve.
Right-clicking on the Graph brings up the graph context menu:
- Scale Times - Scales the time values all points of all visible tracks, e.g. scales horizontally.
- Scale Values - Scales the values of all points of all visible tracks, e.g. scales vertically.
Right-clicking on a point on a curve brings up the point context menu:
- Set Time - Allows the Time of the point to be manually set.
- Set Value - Allows the value of the point to be manually set.
- Delete - Deletes the selected point(s).
Controls
Mouse Controls
In Pan/Edit mode:
LMB + Drag on background | Pan view around |
Mouse Scroll | Zoom in and out |
LMB on Key | Select point |
Ctrl + LMB on point | Toggle selection of point |
Ctrl + LMB on curve | Add new key at clicked location |
Ctrl + LMB + Drag | Move current selection |
Ctrl + Alt + LMB Drag | Box select |
Ctrl + Alt + Shift + LMB + Drag | Box select (add to current selection) |
In Zoom mode:
LMB + Drag | Zoom Y axis |
RMB + Drag | Zoom X axis |
LMB + RMB + Drag | Zoom X and Y axes |
Keyboard Controls
In Pan/Edit mode:
Delete | Delete selected points |
Z | Puts you into Zoom mode while held. |
Note: Some tools and actions in the Curve Editor may not support Undo/Redo.
Hot Keys
Ctrl + Z | Undo |
Ctrl + Y | Redo |
Tabs
Tabs in the curve editor allow for organization of tracks. New Tabs can be created easily by pressing the
button. The new tab can be named which can hold any number of tracks.
This can be useful when working with a particle system made up of multiple emitters. Sending the curve data for multiple Lifetime modules to the Curve Editor could become extremely confusing since there is no real distinction between them other than possibly coloration if one module is selected or the modules' colors are different.
Adding and removing tracks over and over to keep this from happening would be extremely inefficient. By creating a tab for each emitter, the tracks can be kept separate and identified easily keeping any mistaken editing of the wrong track for the wrong emitter.
Interpolation Modes
The interpolation mode buttons 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 that you can click and drag to give you more control over the curve between points. If you select a key that is in Auto curve mode and adjust its tangents using the white handles, it will automatically convert to User curve mode.
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:
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 (horizontal) 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:
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:
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 Content Browser and selecting "New CurveEdPresetCurve" and entering a Package, Group (Optional), and Name for the new preset curve.
Once this is done, you can save a curve to this object by right-clicking the track that you wish to save in the Track List and selecting "Save Preset Curve". This will also open the Preset Curve 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:
Select the curve in the Content Browser you wish to save the curve to, and click the
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.
USAGE NOTE 3: 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 cannot be used to 'share' a curve between several objects.
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.