From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Editing NLA Strips

NLA strips example.

In this page we are going to talk only about action strips’ edition, not the keyframes’ one: even though you do can re-time them in the NLA Editor, it’s not very easy, and much less “featureful” than the Action Editor. And anyway, their edition is nearly the same as the Action Editor’s one

Exclamation mark.png
There is one important thing to understand about actions strips in the NLA: they are sorts of semi-proxies of the real action. So, when you edit them as a whole (re-timing, or making them shorter/longer (i.e. quicker/slower), etc.), you do not modify the underlying action, as you can see by activating the mid-level channel which represents its keyframes. But when you edit their keyframes (either in the NLA, action or Ipo curve editors), you affect all action strips using the underlying action.

So you should avoid to edit keyframes in the NLA editor, and more widely in the action and Ipo curve editors as well when an action strip is active in the NLA: even though you might think you edit this action strip, you would in fact affect all the strips that use this action…

Selecting

The selection tools are available through the Select menu, and of course through their own shortcuts.

There are four different selectable elements:

  • The keyframes (gray/yellow diamonds) and action strips (pink/yellow strips).
  • The channels (in their left list).
  • The markers.
Select/Deselect All Channels (A), Select/Deselect All Markers (CtrlA), Select/Deselect All Keys (A)
These three entries (de)select respectively all the channels, all the markers, and all the keyframes/action strips.
Note that the same shortcut (A) is used for channels and keyframes/action strips, the affected elements depend on where is the mouse cursor…
Border Select Markers (CtrlB), Border Select (B)
These two entries start the border-select tool, respectively for the markers and for the keyframes/action strips.
As usual with border-select tools, the LMB Template-LMB.png click-and-drag adds to the current selection, whereas the RMB Template-RMB.png (or AltLMB Template-LMB.png) click-and-drag removes from the current selection.


Adding

You have four ways to add an action strip to an object in the NLA (which will also always add a new track, as there can be only one strip per track…):

From an existing action
Using ⇧ ShiftA (or Strip » Add Action Strip), you can add any action datablock existing in the current Blender file – an Add Action Strip to: <object_name> menu will pops-up, with all available actions. The new action strip will be added so that it starts at the current frame (green cursor), and is as long as its underlying action.
A brand new (and empty) action
The NLA can also create for you new empty actions, using ⇧ ShiftN (or Strip » Add Blank Action Strip). As this new action has obviously no keyframes yet, its properties are set so that it starts at the current frame, and is as long as necessary to end at the end frame of your animation.
Convert an action into a NLA strip
C (or Strip » Convert Action to NLA Strip) will “convert” the current active action (as shown in the mid-level track) into a new action strip. The difference with the first option is that this strip is synchronized with the action, i.e. it starts and ends at the same frames.
Duplicating an existing action strip
⇧ ShiftD (or Strip » Duplicate) will make copies of the selected action strips, which allows you to keep their redefined properties (like length, etc.). As usual, the copies remain the only selected strips, and are placed in grab mode…

Whatever method you choose, note that new strips are always added at the bottom of their stack (see below for details).

Editing

There is one very important thing you must know about strip actions: the last (i.e. bottom-most) ones override the previous ones. This means that, excepted during cross-fading, see below, if several strips affecting a same Ipo curve are superposed, the bottom-most strip action will always be the effective, “played” one. Keeping this in mind while editing your strips will avoid you many problems…

Transformations

You can move and scale the selected strips with the usual grab (G) and scale (S) tools. Note that the scaling is done using the current frame (green cursor) as center “point” – so if you want e.g. to scale a strip without modifying its starting point, place the current frame at its start. And even though it might seem that you can get a negative scaling this way (i.e. a reversed action), you won’t – the strip (i.e. start and end points) will appear to be mirrored around the green line, but if you look at the keyframes in the mid-level channel, you’ll see that they are still in the “straight” order…

There is also one more transformation specific to this window (inherited from the Action Editor one), also available through the Strip » Transform sub-menu:

Grab/Extend from Frame (E)
This will start a standard “grab” operation, but only with the selected strips that are “on the same side” of the current frame as the mouse cursor. Selected strips that are “crossing” the current frame green line will not be moved, but rather scaled, as if you only moved their “good-side” ends (i.e. the other end, on the “wrong side” of the frame cursor, wont move at all, unlike in standard scaling…

As usual, you also have some transform (or auto) snapping options, available both through modifier keys or the Auto-Snap Strips/Keyframes drop-down list to the right of the window’s header:

No Snap
Default behavior, no modifier.
Frame Step (Ctrl)
Transformations are constrained on whole-frame steps (i.e. integer step values).
Nearest Frame (⇧ Shift)
Transformations are constrained so that both ends of the affected strips always exactly lay on (the nearest) frames (i.e. integer frame values).
Nearest Marker (Alt)
Transformations are constrained so that both ends of the affected strips always exactly lay on (the nearest) markers (note that as markers always lay on whole frames, this implies the previous behavior as well).

Apart from the “time” transformations (X-axis), you can also move up and down the action strips (inside their own stack), using CtrlPageUp/CtrlPageDown (or Strip » Move Up/Move Down entries). Remember that the last (bottom-most) strips are the highest-priority ones!

Finally, you also have standard, non-interactive snapping options (⇧ ShiftS, or Strip » Snap » ), either to:

  • The nearest frame (⇧ ShiftS1 NumPad or Nearest Frame entry).
  • The current frame (⇧ ShiftS2 NumPad or Current Frame entry).

Strips Properties

Mode: all modes

Hotkey: N

The Transform Properties panel of a strip.

The Transform Properties panel of the action strips is a very important place, as this is here that nearly all advanced NLA features are available – and it also gives you a precise way to control the basic strips timing properties.

Exclamation mark.png
The strip which properties are shown in this panel is always the top-most selected one, and not, quite oddly, the active or last-selected one…
Timeline Range
This set of controls manage the timing of your action strip, as well as what part of the underlying action is used.
  • The first two numeric fields, Strip Start and Strip End, control the first and last frame of the strip in the NLA timeline (i.e. its position and length), and hence also the speed at which the action is played (as the selected piece of action is “stretched” to fill the strip’s length). Note that a strip’s “speed” is the same thing as its “scale”, which means that these settings also indirectly control (and are controlled by) the Scale value.
  • The small “lock” button, to the left of the second row, is enabled by default. This means that the strip will always contain all the keyframes of its action – Blender will automatically update its length if you add/remove extremity-keyframes in the action, so that the strip keeps its current speed/scale.
  • The rest of the second row is used by two numeric fields, Action Start and Action End, which represent the part of the action used by the strip. Obviously, when the “lock” button is enabled, they are not editable, only informative. Note that Action End is not allowed to be less than Action Start, which means you cannot reverse an action in the NLA timeline…
Blending
These three controls allow you to fade in or out the strip’s effects. You can either manually enter the fade in/out lengths (in frames) in the In/Out numeric fields, or enable the Auto-Blending button, which will adjust the In and Out values to match the immediate upper/lower strips.
The fading parts of a strip are materialized as increasing/decreasing slopes at their ends (the third strip in NLA strips example is fade-out over five frames).
Mute
This button has the same effect as the “eye” one in the channels’ headers: it mutes the strips!
The first strip in (NLA strips example) is muted.
Repeat
The number of times the Action range should repeat.
Note that:
  • You can specify a non-integer value (e.g. 1.5 will repeat just the first half of the strip once).
  • This setting implicitly affects the length of the strip (and hence its Strip End value).
  • It is ignored if Stride Path is enabled (see below).
Repeated strips are materialized as multiple strips one after the other, as the first strip in NLA strips example (repeated “three” times).
Scale
This might as well have been called “speed” – it represents the ratio between the original (selected part of the) action’s length, and the actual strip’s length. So values higher than '1.0 results in slowed-down action, and lower ones, in fasten-up actions!
The Transform Properties panel of a Pose action strip repeated three times, and using an offset bone.
OffsBone
This is an armature/pose specific setting. When a valid bone’s name is entered here, its translation from start and end of the strip is used as a translation offset to all root bones of the armature when repeating this action.
This only concerns one or more of the Loc… properties of the root bones, depending on whether you enable one or more of the Use… buttons that appear once you have entered a valid bone name:
  • Without any button enabled, Blender makes its best guess to find one and only one of the X/Y/Z location to offset (I suppose it chooses the channel having the highest delta between start and end…).
  • If you enable one or more of these three buttons, the corresponding location components will be offset.
So you get a sort of “cyclic extrapolation” of the translation over the repetitions of the action, affecting all root bones (i.e. bones not parented to another bone), whether they are keyed or not, but without affecting the armature object itself.
This setting is only useful when Repeat is higher that 1.0, and Stride Path is not used! It’s a sort of simplified “stride bone” stuff which allows you to quickly and easily setup walk cycles, for example. Note however that as the offset is done inside the armature, at the bone’s level, and not on the whole object, you should avoid to use it in most cases (it’s better to move the armature object as a whole, rather than all the bones inside it!).
Hold
By default, once the end of an action strip is reached, it has no more effect on the NLA animation. If you enable this button, the last “frame” (i.e. end values) of the action strip will be “played” forever, unless it is overridden by another (lower) strip. This is a way to have a sort of “background” state to which the animated object always returns when there is no other lower (i.e. higher priority) strip present…
“Held” strips are materialized as “ghosts” strips from their en point to infinity, as the second strip in NLA strips example.
Add
Specifies that the effects of this strip should add to any existing animation data, instead of overriding it – this is the only “mix” possibility between different strips.
Stride Path
This tool, dedicated to armatures, allows you to repeat the strip along a path (for example, to make a walk cycle). See this page for details.
Add Modifier
Yes, NLA strips can have modifiers… Well, in fact, this seems not to be a key feature, but at least one modifier is implemented – see this page for details.

Strip Scaling Tools

Mode: all modes

Hotkey: AltS

You have a few commands to apply/revert the scaling done to a strip to/from the underlying action, available either in the Strip menu, or the Action Strip Scale pop-up menu (AltS):

  • Reset Strip Scale will expand/shrink the strip so that its scale goes back to 1.0 (i.e. action and strip speeds are the same). It won’t touch to the part of the action used by the strip, unlike the next option.
  • Remap Action Start/End (or Reset Action Start/End…) will “put back” the whole action in the strip, exactly as if the “lock” button in the second row of Time Range settings (strip’s Transform Properties panel, N) was enabled again – see above. Hence, this command has obviously only an effect if you disabled the “lock” and modified the part of the action the strip uses!
  • Apply Scale (or Apply Strip Scaling…) will apply the current strip’s scale to the underlying action. Warning: this will affect all strips using this action, whatever object they belong to…

Deleting

Mode: all modes

Hotkey: X

As usual in Blender, you can delete the selected strips by hitting X (or Strip » Delete), and confirming the pop-up message. This will obviously not delete the underlying action!

Exclamation mark.png
However, if you delete keyframes, it will of course affect the underlying action and Ipo curves…



Introduction
What is Blender?
Introduction
Blender’s History
License
Blender’s Community
About this Manual
What's changed with Blender 2.4
Installing Blender
Introduction
Python
Installing on Windows
Installing on GNU/Linux
Installing on Mac
Installing on other Operating Systems
Configuring Blender
Directory Layout
Starting
The Interface
Introduction
Keyboard and Mouse
Window System
Arranging frames
Headers
Console window
Window Types
Screens (Workspace Layouts)
Scenes
Configuration
Modes
Contexts
Menus
Panels
Buttons and Controls
Internationalization
Your First Animation
1/2: A static Gingerbread Man
2/2: Animating the Gingerbread Man
The Vital Functions
Quick render
Undo and Redo
Default scene
Screenshots
Help!
Setting Preferences
Configuring Preferences
Interface
Editing
Themes
File
System
Interaction in 3D
Introduction
Introduction
Navigation
Introduction
3D View
3D View Options
3D View Usage
Camera View
Layers
Local or Global View
Sketch in 3D Space
Introduction to Grease Pencil
Drawing sketches
Layers and Animation
Converting sketches to geometry
Transformations
Introduction
Basics
- Grab/Move
- Rotate
- Scale
- Gestures
Advanced
- Mirror
- To Sphere
- Shear
- Warp
- Push/Pull
Transform Control
Introduction
Precision of Transformations
Numeric Transformations
Transform Properties
Reset Object Transforms
Manipulators
Transform Orientations
Axis Locking
Pivot Point
- Active object
- Individual Centers
- 3D Cursor
- Median Point
- Bounding Box Center
Snapping
Snap to Mesh
Proportional Edit
Data System and Files
Blender's Data System
Blender's Library and Data System
Blender's Datablocks
Scenes
Working with Scenes
The Outliner Window
Appending and Linking
File operations
Introduction
Opening blender files
Saving blender files
Modeling
Introduction
Introduction
Objects
Objects
Selecting Objects
Editing Objects
Groups and Parenting
Tracking
Duplication
- DupliVerts
- DupliFaces
- DupliGroup
- DupliFrames
Mesh Objects
Meshes
- Mesh Structures
- Mesh Primitives
Selecting
- Selectable Elements
- Selection Basics
- Advanced Selecting
- Selecting Edges
- Selecting Faces
Editing
Basic Editing
- Translation, Rotation, Scale
- Adding Elements
- Deleting Elements
- Creating Faces and Edges
- Mirror editing
Vertex Editing
Edge Editing
Face Editing
Deforming Tools
- Mirror
- Shrink/Fatten Along Normals
- Smooth
- Noise
Duplicating Tools
- Duplicate
- Extrude
- Extrude Dup
- Spin
- Spin Dup
- Screw
Subdividing Tools
- Subdivide
- Subdivide fractal
- Subdivide smooth
- Loop Subdivide
- Knife Subdivide
- Bevel
Miscellaneous Tools
Retopo Tool
Sculpt Mode
Multi Resolution Mesh
Vertex Groups
Weight Paint
Mesh Smoothing
Curve Objects
Curves
Selecting
Editing
Advanced Editing
Surface Objects
Surfaces
Selecting
Editing
Text Objects
Texts
Editing
Meta Objects
Metas
Editing
Empty Objects
Empties
Group Objects
Groups
Scripts
Modeling Scripts
Modifiers and Deformation
Introduction
Introduction
Modifiers Stack
Modify
UVProject
Generate
Array
Bevel
Booleans
Build
Decimate
EdgeSplit
Mask
Mirror
Subsurf
Deform
Armature
Cast
Curve
Displace
Hooks
Lattice
MeshDeform
Shrinkwrap
SimpleDeform
Smooth
Wave
Simulate
Cloth
Collision
Explode
Fluid
Particle Instance
Particle System
Soft Body
Lighting
Introduction
Introduction
Lights
Introduction
Light Properties
Light Attenuation
Light Textures
What Light Affects
Lights In Other Contexts
Shadows
Introduction
Shadow Properties
Raytraced Shadow Properties
Volumetric Lights
Introduction
Lamps
Introduction
Lamp Light
- Raytraced Shadows
Spot Light
- Raytraced Shadows
- Buffered Shadows
- Halos
Area Light
- Raytraced Shadows
Hemi Light
Sun Light
- Raytraced Shadows
- Sky & Atmosphere
Lighting Rigs
Radiosity
Introduction
Rendering
Baking
Scene Light
Ambient Light
Ambient Occlusion
Exposure
Exposure
Materials
Introduction
Introduction to Shading
Materials Introduction
Usage
Assigning a material
Material Preview
Material Options
Multiple Materials
Properties
Diffuse Shaders
Specular Shaders
Ambient Light Effect
Color Ramps
Raytraced Reflections
Raytraced Transparency
Subsurface Scattering (SSS)
Strands
Node Materials
Material Nodes
Nodes Editor
Node Controls
Nodes usage
Nodes Groups
Material Node Types
- Input Nodes
- Output
- Color
- Vector
- Convertor
- Dynamic
Vertex Paint
Using Vertex Paint
Halos
Halos
Textures
Introduction
Introduction
UV/Image Editor
Common Options
Texture Stack
Texture Types
Texture Types
Procedural Textures
Image Textures
Video Textures
Texture Nodes
- Nodes Editor
- Node Controls
- Nodes usage
- Nodes Groups
-- Textures Input Nodes
-- Textures Output Nodes
-- Textures Color Nodes
-- Textures Patterns Nodes
-- Textures Textures Nodes
-- Textures Convertor Nodes
-- Textures Distort Nodes
Texture Plugins
Texture Painting
Painting the Texture
- Projection Paint
Mapping
Mapping
Environment Maps
UV Unwrapping Explained
- Unwrapping a Mesh
- Managing the UV Layout
- Editing the UV Layout
- Applying an Image
Influence
Influence
- Material
-- Bump and Normal
-- Displacement
- Particles
- World
World and Ambient Effects
World
Introduction
World Background
Ambient Effects
Mist
Stars
Rigging
Introduction
Introduction to Rigging
Armatures
Armature Objects
Panels overview
Bones
Visualization
Structure
Selecting
Editing
- Bones
- Properties
- Sketching
- Templating
Skinning
Introduction
Linking Objects to Bones
Skinning to Objects’ Shapes
Retargeting
Posing
Introduction
Visualization
Editing Poses
Pose Library
Using Constraints
Inverse Kinematics
Constraints
Introduction
Introduction
Constraints Common Interface
Constraints’ Stack
Transform Constraints
Copy Location
Copy Rotation
Copy Scale
Limit Distance
Limit Location
Limit Rotation
Limit Scale
Transformation
Tracking Constraints
Clamp To
IK Solver
Locked Track
Stretch To
Track To
Relationship Constraints
Action
Child Of
Floor
Follow Path
Null
Rigid Body Joint
Script
Shrinkwrap
Animation
Introduction
Introduction
The Timeline
Markers
3D Views
Animation Editors
Animation Editors
Ipo Editor
Ipo Curves and Keyframes
Ipo Datablocks
Ipo Types
Ipo Editor Interface
Editing
- Ipo Curves
- Keyframes
Ipo Drivers
Action Editor
Editing Action Channels
NLA Editor
Editing NLA Strips
Strip Modifiers
Animation Techniques
Introduction
Animating Objects
- Using Constraints
- Moving Objects on a Path
Animating Shapes
- Shape Keys
- Editing Shape Keys
- Animating Shape Keys
- Shape Keys Examples
Indirect Shape Animation
Animating Armatures
- Stride
Animating Lamps
Animating Cameras
Animating Materials
Animating Textures
Animating World
Physical Simulation
Introduction
Introduction
Dynamics
Force Fields
Collisions
Particles
Particles
Types
Physics
- Newtonian
- Keyed
- Boids
Visualization
Controlling Emission, Interaction and Time
Cache & Bake
Hair
Children
Vertex Groups
Particle Mode
Soft Body
Introduction
Exterior Forces
Interior Forces
Collisions
Simple Examples
Combination with Armatures
Combination with Hair Particles
Reference
Cloth
Introduction
Fluids
Fluid
Using the Game Engine
Using the Game Engine
Rendering
Introduction
Introduction
Camera
The Camera
Perspective (Vanishing points)
Depth Of Field
Render
Displaying Renders
Basic Options
Antialiasing (Oversampling)
Rendering Animations
Panoramic
Render Baking
Using the Command Line
Output
Output
Video Output
Effects and Post Processing
Introduction
Render Layers
Render Passes
Edges & Toon
Stamp
Color Management & Exposure
Depth Of Field
Motion Blur
Render Performance
Rendering Performance
Distributed Rendering
External Render Engines
Introduction
YafRay
Compositing with nodes
Composite Nodes
Introduction
Nodes Editor
Node Controls
Nodes usage
Nodes Groups
Composite Node types
Composite Node types
Input Nodes
Output Nodes
Color Nodes
Vector Nodes
Filter Nodes
Convertor Nodes
Matte Nodes
Distortion Nodes
Editing Sequences
Introduction
Introduction
The sequencer
Usage
Sequencer Modes
Sequence Screen Layout
Effects
Built-in Effects
Plugin Effects
Audio
Audio Sequences
Extending Blender
Introduction
Introduction
Python Scripting
Python Scripting in Blender
Setting up Python
The Text Editor
A working example
References
Python Scripts
Script Catalog
Bundled Scripts
Plugins
Blender's Plugins System
Texture plugins specifications
Sequence plugins specifications
Game Engine
Introduction
Introduction
The Logic Editor
Usage
Game Properties
Sensors
Introduction
Sensor Types
Controllers
Introduction
Expressions
Actuators
Introduction
Action
Camera
CD
Constraint
Edit Object
Ipo
2D Filters
Game
Message
Motion
Parent
Property
Random
Scene
Shape Action
Sound
State
Visibility
Cameras
Cameras
Dome Camera
Physics
Physics Engine
Material Physics
Object Types
- Static
- No Collision
- Dynamic
- Rigid Body
- Soft Body
- Occluder
- Sensor
Python API
Bullet physics
VideoTexture
Various resources
List of Features
External resources
Game Engine Basics (BSoD Tutorial)
FAQ