Doc:2.6/Manual/Animation/Editors/NLA
Non-Linear Action Editor
The NLA editor (Non-Linear Animation Editor) can manipulate and repurpose actions, without the tedium of keyframe handling. Its often used to make broad, significant changes to a scene's animation, with relative ease. It can also repurpose, and 'layer' actions, which make it easier to organize, and version-control your animation.
The NLA Editor interacts with the Graph Editor and the DopeSheet. So, in a way, you will take into account all three simultaneously.
Interface
Since other animation editor, NLA Editor is divided in three parts:
Track Region or NLA-stack is the stack of animation layers (these are more akin to GIMP/Photoshop Layers than Blender 3D-View "Layers"). These "layers" are officially known as "NLA Tracks". Order of evaluation the NLA-stack is from "bottom up", with the active action being the last thing evaluated on top of the NLA-stack results.
Strip Edit Area — the main edit area of the NLA Editor where is occur the action strips editing.
Header — the menu and controls bar. Its content largely is similar to header other animation editors, like Graph Editor, Dope Sheet Editor and Timeline window.
View, Select and Marker menus, in particular, have a same items that ones in the editors described above.
Edit and Add menus are specific for NLA Editors and is described in this section below.
Tracks
Tracks are the layering system of the NLA. At its most basic level, it can help organize strips. It layers motion much like how an image editor layers pixels---the bottom layer first, to the top, last. Sometimes the top information completely dominating, or sometimes with them blending in transparently.
Initial Setup
The first step in using the NLA is creating one or more Actions. By default, the Action Editor automatically stores the keyframes you create through the 3D View by storing them into an action based on the name as the object you are working on.
First, get your views set up so you can see what is going on. Load the Default Scene (CtrlN), and switch layouts either by hitting Ctrl←← or by clicking the dropdown:
Now, since we are interested in the NLA Editor, load that instead of the Graph Editor:
You will probably want to do some re-sizing so you can see the NLA Editor better.
And now to use the tools you have open. Here are the steps to make a simple CubeAction:
- Load the Default Scene
- Select the Default Cube, and hit IL to keyframe its location. With this single pair of keystrokes what you actually did was:
- Create the CubeAction and give it three channels: X, Y, and Z Location. You can see this if you look in the DopeSheet/Action Editor window (See first image, below).
- Place that Action into the orange "DopeSheet Track" in the NLA Editor. (See second image, below.)
- Now, to complete the animation, go to Frame 11 by hitting ⇧ Shift↑
- In the 3D View hit G⇧ ShiftZ and scoot the default Cube to some random location.
- Hit IL to save the location channel data to a new set of keyframes. (Remember, "Go to the frame, make the change, insert the keyframe.")
- Test it out with AltA (Esc to stop).
The animation windows should now look something like this:
Track Controls
Several features are packed into a small space near the Track names.
To the left of each track's name is the star icon. Clicking this is a "Solo Track" feature, causing only this track's effects to be visible when animating. This is very useful for debugging complex animations. As the name implies, you can only have one "Solo" track enabled at a time. Clicking the star (which is now orange) a second time returns to normal operation.
To the right of the track's name is the speaker icon, which is the opposite of the star---it "mutes" the track and keeps it from having an effect on the animation. You can click as many or as few of these as you like.
The lock prevents changes from being made to this layer. This is useful, for example, if you want to select several strips and move them — but you want to keep a few tracks excluded from the change.
Creating and deleting tracks
Creating new tracks is making with two items Add Tracks and Add Tracks Above Selected from Add menu NLA Editor header.
Tracks can be to move in the NLA-stack after their selecting with submenu items Track Ordering... from Edit menu.
Tracks removing is making after their selecting by default hotkey X.
Strips
Strip is a container for action instances.
Strip Types
There are three kinds of strips - Action, Transition, and Meta.
- An Action Strip is a container of keyframe data of an action (though they may be shortened, scaled, repeated, et cetera).
- Transitions perform calculations between Actions. They must be placed sandwiched between other strips.
- Meta groups strips together as a whole, so you can move them as one. If you find yourself moving a lot of strips together, it would help to organize them into Meta strips.
Creating Strips
Creating Action Strips
Now that you have some Actions, there are two ways to create Action Strips.
The first is by making an Action Strip out of the currently-loaded keyframes that are in the DopeSheet by clicking the pushdown action button () next to the Track name in the NLA Editor. Once you do this, you might have to zoom in with your scroll wheel or with ↖ Home to see it better.
The second way to add Action Strips is by adding them manually with ⇧ ShiftA. Alternatively, you can to use menu item:
Menu: Add → Add Action Strip
Note that it must have at least one track to be created on, so you might have to first go to the Add menu and Add Tracks.
Creating Transition Strips
Select two or more strips on the same track, and go to
Menu: Add → Add Transition
Grouping and ungrouping Strips into/from Meta Strips
If you find yourself moving a lot of strips together, you can group them into a Meta strip. A meta strip can be moved and duplicated like a normal strip.
Hotkey: ⇧ ShiftG
Menu: Add → Add Meta-Strips
A meta strip still contains the underlying strips. You can ungroup a Meta strip.
Hotkey: AltG
Menu: Add → Remove Meta-Strips
Deleting Strips
Strips can be delete after their selecting by default hotkey X or Delete Strips item in Edit menu of NLA Editor header.
Editing Strips
The contents of Action strips can be edited, but you must be in 'Tweak Mode' to do so.
Hotkey: ⇆ Tab
Menu: Edit → Start Tweaking Strip Actions
As soon as you hit ⇆ Tab on an Action, it throws that Action's keyframes into the DopeSheet for manipulation.
If you try moving the strip, while in edit mode, you'll notice that the keys will go along with it. On occasion, you'll prefer the keys to remain on their original frames, regardless of where the strip is. To do so, hit the 'unpin' icon, next to the strip.
When your finished editing the strip, simply exit Tweak mode with ⇆ Tab.
Strip ordering
- Move Strips Down
- Move selected strips down a track if there’s room.
- Move Strips Up
- Move selected strips up a track if there’s room.
- Swap Strips
- Swap order of selected strips within tracks.
Basic Editing
Once you have created it, you can perform some manipulations on it, such as G to move, S to scale (and by fiddling with the controls in the N Properties Panel, but more on that later).
- Transform
- Grab/Move
- Extend
- Scale
- Apply Scale
- Apply scaling of selected strips to their referenced Actions.
- Clear Scale
- Reset scaling of selected strips.
- Sync Action Lenght
- Synchronize the length of the referenced Action with the length used in the strip.
- Snap
- Current Frame
- Nearest Frame
- Nearest Second
- Nearest Marker
Spliting Strips
Strips can be spliting in two ones by Edit item menu:
- Split Strips
- Split selected strips at their midpoints.
Re-Instancing and duplicating Strips
The contents' of one Action strip can be instanced multiple times. To instance another strip, select a strip, and
Hotkey: AltD
Menu: Edit→ Linded Duplicate
Now, when any strip is tweaked, the others will change too. If a strip other than the original is tweaked, the original will turn to red.
Another duplicating command:
- Duplicate ⇧ ShiftD
- Just duplicate selected NLA-Strips, adding the new strips in new tracks above the originals.
Strip Properties
Strip properties can be made visible by:
Hotkey: N
Menu: View→ Properties
Note that, like most things in Blender, these values themselves can be keyframed and animated. This means you could have a repeating action whose rate slows down over time, for example.
Animation Data
The first box is the same as what you see in the Action Editor window. It allows you to choose, create, copy, and unlink actions based on the contents of the Orange track.
- Action Extrapolation - Action to take for gaps past the strip extents. Can be either
- Hold (Affects both sides of the strip)
- Hold Forward (Affects the region after the clip, only)
- Nothing (Neither).
- Action Blending - Affects the behavior when two tracks simultaneously have a curve affecting the same property. The default, Replace, causes the top strip to take precedence according to the parameters of the Blend In/Out (see next option, below). It can also be Multiply, Subtract, or Add.
Active Track
Here is one simple control which gives you the ability to rename tracks something other than NLATrack*.
Active Strip
- Name - Rename a strip (defaults to being named the same as the Action it contains).
- Type - Will either say "Action Clip", "Transition", or "Meta", according to the three types of strips.
- Strip Extents - The boundaries of the strip itself. Note that this will stretch the duration of the Action, it will not cause greater or fewer keyframes from the Actions to play (see below for that option).
- Extrapolation - (See Action Extrapolation, above.)
- Blending - (See Action Blending, above.)
- Auto Blend In/Out -- Creates a ramp starting at the overlap of the strips. The first strip has full control, and it ramps linearly giving the second strip full control by the end of the overlapping time period.
- Blend In - Set the frame that represents when this strip will have full influence.
- Blend Out - Set the last frame of this strip's full influence.
- Muted - Mute a single strip (like muting the track, above). Causes the track outline to be dashed.
- Reversed - Cause this strip to be played completely backwards.
Action Clip
- Action - A reference to the Action contained within the strip. Can be changed to replace the current strip's value with another Action.
- Action Extents - How much of the Action to use.
- For instance, it is common to set the first and last keyframe of an Action to be the same keyframes. The problem with this is if you loop the animation, there is a slight hitch where the same keyframes are played twice. To fix this, simply bump the "End Frame" down by one.
- Note: If you select values that are above or below the actual keyframe count of the Action, then the F-Curve Extrapolation will be consulted. (Which can be changed in the Graph Editor, under Channel > Extrapolation Mode.
- Sync Action Lenth - Causes the "Start" and "End" Frames, above, to be reset to the first and last keyframed frames of the Action.
- Playback Settings
- Scale - Stretches strip, another way of increasing the Strip Extents: End Frame, above.
- Repeat - Also expands the strip, but by looping from the first keyframe and going forward.
Evaluation
- Animated Influence - Enabling alteration of the degree of influence this strip has as a keyframable value. If influence isn't animated, the strips will fade linearly, during the overlap.
- Animated Strip - Same as Animated Influence, but with Strip Time.
- Cyclic Strip Time - Cycle the animated time within the action start and end.
Modifiers
The NLA Editor allows, like for a single F-curve, also add F-Curves Modifiers to the selected NLA-Strips (sets of multiply F-curves):
- Generator
- Generate a curve using a factorized or expanded polynomial.
- Built-In Function
- Generate a curve using standard math functions such as sin and cos.
- Envelope
- Reshape F-Curve values - e.g. change amplitude of movements.
- Cycles
- Cyclic extend/repeat keyframe sequence.
- Noise
- Add pseudo-random noise on top of F-Curves.
- Python
- Use Python script to generate values over time that are relayed to the parameter they are assigned to
- Limits
- Restrict maximum and minimum values of F-Curve.
- Stepped Interpolation
- Snap values to nearest grid-step - e.g. for a stop-motion look.
See more detail in corresponding section about F-Curves Modifiers.