Tutorial: Creating Animations
Learn how to create animations using ASCII Motion's layer-based composition system — layers, content frames, keyframe transforms, and playback.
What You'll Learn
- Layer-based animation workflow
- Content frames and timeline positioning
- Keyframe transforms (position, scale, rotation)
- Easing curves for natural motion
- Playback and looping
Prerequisites
- Complete Pixel Art Basics
- Read the Animation Overview
Animation Fundamentals
ASCII Motion animates in two complementary ways:
- Frame-by-frame — Draw different content on separate content frames
- Keyframe transforms — Animate position, scale, and rotation of layer content over time
Most animations combine both approaches.
Frame Rate
| FPS | Feel |
|---|---|
| 8–12 | Standard ASCII animation |
| 15–24 | Smooth motion |
| 30+ | Professional, fast action |
Set frame rate in the timeline toolbar. Default is 12 FPS. Higher FPS requires more content frames or finer keyframe spacing for the same duration.
Your First Animation: Bouncing Ball
Step 1: Set Up
O) near the top of the canvasStep 2: Animate with Keyframes
Step 3: Preview
Press Space to play. The ball bounces up and down with natural easing.
Step 4: Add Squash and Stretch
Multi-Layer Composition
Adding Layers
Layer Organization
- Use visibility (eye icon) to isolate layers while working
- Use solo (S) to preview a single layer
- Use lock to prevent accidental edits to finished layers
- Rename layers (double-click) for clarity in complex projects
Frame-by-Frame on a Layer
For traditional frame-by-frame animation within a layer:
Using Onion Skinning
Press Shift+O to toggle onion skinning:
- Blue overlay = previous frame content
- Red overlay = next frame content
- Helps maintain consistent motion between frames
- Automatically disables during playback
Working with Content Frames
Timing
Content frames have a start frame and duration. They cannot overlap on the same layer. Gaps between frames show empty canvas.
Operations
| Operation | How |
|---|---|
| Add | Ctrl+N or + button |
| Duplicate | Ctrl+D |
| Delete | Ctrl+Delete |
| Split | Ctrl+X at playhead |
| Resize | Drag left/right edges |
| Reposition | Drag block on timeline |
| Move to layer | Drag to another layer's track |
| Hide | Right-click → Hide (skips during playback) |
| Label color | Right-click → set color for visual organization |
Easing for Natural Motion
Keyframe easing controls acceleration between values:
| Easing | Use Case |
|---|---|
| Linear | Constant speed, mechanical motion |
| Ease In | Starts slow, accelerates (falling objects) |
| Ease Out | Starts fast, decelerates (landing, settling) |
| Ease In-Out | Smooth start and stop |
| Ease Out Back | Overshoots then settles |
| Bounce | Slight bounce at destination |
| Hold | Jumps to next value (no interpolation) |
Select a keyframe to open the easing editor in the properties panel. Choose a preset or drag control points for a custom cubic bezier curve.
Creating Loops
For seamless loops:
- Ensure the first and last keyframe values match
- Enable Loop Keyframes on the property track
- Test the loop transition point by watching playback
For content-based loops, the last content frame's end should connect visually to the first frame's start.
Layer Groups
For complex scenes:
Common Mistakes
| Mistake | Fix |
|---|---|
| Motion feels robotic | Add Ease In/Out instead of Linear |
| Overlapping content frames | Resize or reposition — frames can't overlap on one layer |
| Wrong layer selected | Check the active layer highlight before drawing |
| Keyframes not visible | Expand the layer in the timeline (click expand arrow or press U) |
Quick Reference
| Action | Shortcut |
|---|---|
| Play/Pause | Space |
| Prev/Next frame | , / . |
| Prev/Next keyframe | J / K |
| Add content frame | Ctrl+N |
| Add layer | Shift+N |
| Duplicate frame | Ctrl+D |
| Delete frame | Ctrl+Delete |
| Split frame | Ctrl+X |
| Group layers | Ctrl+G |
| Onion skinning | Shift+O |
| Expand/collapse tracks | U |