1) Interpolation Shapes Spacing (Even When Timing Stays the Same)
In a graph editor, you are not “drawing motion,” you are defining how values change over time. The key idea: interpolation changes spacing between frames without changing where the keys are placed in time. Two keys at frame 1 and frame 25 can feel snappy, floaty, or robotic depending on the curve between them.
Common interpolation behaviors
- Stepped (hold): value stays constant until the next key. Spacing is zero, then a jump. Useful for blocking and for intentional pop/teleport-style changes.
- Linear: value changes at a constant rate. Spacing is even between frames. Useful for mechanical motion, constant-speed moves, and debugging.
- Spline/Bezier (smooth): value eases in/out depending on tangents. Spacing is non-uniform: smaller near eased sections, larger in the middle.
Practical example: same keys, different feel
Animate a control’s X translate from 0 to 10 over 24 frames.
- Linear: each frame advances ~0.416 units. The object reads like a conveyor belt.
- Spline with eased tangents: early frames move less than 0.416, mid frames move more, then slow again. The object reads like it “decides” to move and “settles” at the end.
- Stepped: it stays at 0 until frame 24, then snaps to 10. Great for blocking poses without in-betweens.
When motion feels wrong, don’t immediately add keys. First ask: Is the interpolation creating the spacing I intend?
2) Reading Curves: Slope = Speed, Curvature = Acceleration
Graph editor fluency comes from reading curves as motion, not as abstract lines.
Slope as speed (first derivative intuition)
For a value-vs-time curve (typical animation channel graph):
Continue in our app.
You can listen to the audiobook with the screen off, receive a free certificate for this course, and also have access to 5,000 other free online courses.
Or continue reading below...Download the app
- Steeper slope = faster change = faster motion (more spacing per frame).
- Flatter slope = slower change = slower motion (less spacing per frame).
- Perfectly flat segment = no change = a hold (zero speed).
Example: If a translate curve is steep between frames 10–15, the object will cover more distance per frame there. If it’s flat near frame 24, it will “settle” into the pose.
Curvature as acceleration (second derivative intuition)
Acceleration is about how the speed changes. In the graph editor, that’s reflected by how the slope changes over time.
- Curve bending upward (slope increasing): accelerating.
- Curve bending downward (slope decreasing): decelerating.
- Sudden change in slope (a corner/kink): abrupt acceleration change, often reads as a jerk or pop.
Quick reading checklist
- Does the curve have kinks where you expect smooth motion? That’s a likely jerk.
- Does the curve get too flat too early near a stop? That often reads as mushy easing.
- Does the curve cross past the target value before returning? That’s overshoot (intentional or accidental).
3) Tangent Types for Predictable Outcomes
Tangents define how the curve enters and exits a key. Choosing tangent types intentionally prevents “fighting the graph.” Below are common tangent behaviors and what they’re best for.
| Tangent type | What it does | When to use | Common pitfall |
|---|---|---|---|
| Auto (clamped/auto) | Smooths through keys; may clamp to reduce overshoot depending on software | General smoothing after blocking; quick polish | Can create unexpected easing or subtle drift if it tries to be “helpful” |
| Spline/Bezier (manual) | Smooth curve with editable handles | Precise control of ease, speed changes, and accents | Easy to introduce overshoot or uneven spacing if handles are extreme |
| Linear | Straight line between keys; constant rate | Mechanical motion; constant-speed moves; debugging spacing | Can look robotic if used where organic easing is expected |
| Flat | Forces tangent slope to 0 at the key (horizontal) | Hard stops, holds, or “settle” moments without bounce | Can cause a visible stall if applied too early (mushy stop) |
| Stepped | No interpolation; holds value until next key | Blocking poses; preventing unwanted in-betweens | Forgetting to convert later leads to popping playback |
Two practical tangent rules
- Rule A: Use linear to diagnose. If the motion still feels wrong on linear, the issue is likely key values/timing, not tangents.
- Rule B: Use flat to stop overshoot. If a channel overshoots at a stop, flatten the arriving tangent at the stop key (or clamp/auto-clamp) and reduce handle length.
4) Workflow: Block Stepped → Convert to Spline → Stabilize → Polish
This workflow keeps you in control and reduces curve chaos.
Step 1: Block in stepped keys (clarity first)
Set your animated channels to stepped while you establish poses and timing decisions. The goal is to evaluate intent without interpolation inventing motion between poses.
- Key only what you need for the shot/beat.
- Keep keys readable: avoid “fix keys” sprinkled everywhere.
- Check silhouettes and pose-to-pose changes in stepped playback.
Step 2: Convert to spline (introduce motion)
Once the stepped block reads, convert keys to spline/auto (or Bezier). Expect the motion to change immediately—this is normal because spacing is now being generated between keys.
Immediately after conversion:
- Identify which channels matter most to the read (often major translates/rotates).
- Temporarily set less important channels to simpler tangents (linear or restrained auto) to reduce noise.
Step 3: Stabilize curves (remove surprises)
Stabilizing means making curves predictable before you add nuance.
- Remove unintended overshoot: look for curves crossing past key values. Clamp/flatten tangents at stops or reduce handle length.
- Reduce micro-wiggles: if a curve oscillates between keys, it will create jitter. Delete unnecessary keys or smooth tangents so the curve has a clear intent.
- Unify tangent intent: if one key is linear and the next is auto, you may get a sudden change in slope. Make tangent choices consistent across a phrase of motion.
Step 4: Polish (shape accents with slope control)
Polish is where you sculpt speed changes intentionally.
- To add snap: increase slope earlier (steepen the curve) and reduce slope later (flatten near the target). Do this by adjusting tangent angles/weights rather than adding extra keys.
- To add settle without bounce: approach the final key with a decreasing slope and use a flatter arriving tangent.
- To add a controlled overshoot: add a dedicated overshoot key past the target, then return. Keep tangents clean so the overshoot is a single, readable event—not a wobble.
Mini exercise: one channel, three versions
Pick a single rotate channel (e.g., Z rotation) with two keys: 0° at frame 1 and 30° at frame 21.
- Version 1 (linear): confirm constant speed.
- Version 2 (smooth ease): auto/spline tangents; ensure the curve is clean with no overshoot.
- Version 3 (accent): keep the same keys, but shape tangents so the slope ramps up quickly (fast mid) and flattens late (soft landing). Compare spacing feel in playback.
5) Troubleshooting: Pops, Drift, Mushy Easing, Unintended Overshoot
Pops (sudden jumps or jerks)
Symptoms: a visible snap in position/rotation, often at or near a key.
Likely causes in the graph:
- A stepped tangent left on a channel after converting others to spline.
- A broken slope (kink) where tangents create a sharp corner.
- Two keys extremely close together with conflicting tangents.
Fix steps:
- Check tangent type on the popping channel(s): ensure it isn’t stepped.
- Make the curve continuous: set tangents to spline/auto, then manually soften the kink by aligning tangent directions.
- If the pop is at a key, try linearizing the segment around it to confirm whether tangents are the culprit; then re-smooth with controlled handles.
Drift (unwanted motion during a hold)
Symptoms: the control slowly creeps even though it should feel still.
Likely causes:
- A “hold” is implied but not keyed: the curve is slightly sloped.
- Auto tangents create a gentle arc through what should be a flat section.
Fix steps:
- Add an explicit key to define the hold (same value) at the start and end of the hold range.
- Set tangents on the hold keys to flat (or clamp) to enforce zero slope.
- Zoom in and verify the curve is truly horizontal across the hold frames.
Easing that feels mushy (slow too early, no clear intent)
Symptoms: motion seems to “float,” taking too long to get going or to arrive, with weak accents.
Likely causes:
- Tangents are too flat for too long near the start or end.
- Auto tangents created symmetrical easing where you wanted an asymmetrical accent.
Fix steps:
- Increase slope sooner: rotate the outgoing tangent at the start key to be steeper.
- Delay the flattening: keep more slope until closer to the stop, then flatten near the final key.
- Prefer adjusting tangents over adding extra keys; extra keys often create more mush by spreading the change across more time.
Unintended overshoot (value goes past target and comes back)
Symptoms: the control passes the intended value briefly, creating a bounce you didn’t plan.
Likely causes:
- Bezier handles extend in a way that forces the curve beyond the key value.
- Auto/spline tangents try to smooth through a sharp change, producing overshoot.
Fix steps:
- At the target key, set the arriving tangent to flat or use clamped auto if available.
- Shorten tangent handles near the stop to reduce the curve’s “momentum.”
- If you actually want overshoot, make it explicit: add a dedicated overshoot key and keep tangents clean so the overshoot is controlled and readable.
Channel fighting (one curve looks right, the motion looks wrong)
Symptoms: individual curves seem smooth, but the object’s motion feels inconsistent.
Likely causes:
- Different channels have mismatched easing (e.g., X eases early while Y stays linear), creating a strange composite motion.
- Rotation channels ease differently, causing an unintended wobble.
Fix steps:
- Compare slopes across related channels over the same frame range; align their acceleration patterns when they should feel unified.
- Temporarily set related channels to linear to see the raw combined motion, then reintroduce easing consistently.