mcpField
V
video-motion-graphics

video-motion-graphics

github.com/dylantarreCreative & media1322.4k installsUpdated 43w ago
Repository

About video-motion-graphics

video-motion-graphics is a skill for applying Disney’s 12 animation principles to video motion design in After Effects, Premiere Pro, and related workflows. It covers keyframes, expressions, timing, and export checks.

Key features

  1. 01Apply animation principles to motion graphics
  2. 02Provide After Effects expression examples
  3. 03Cover keyframes and easing curves
  4. 04Reference frame rates and durations
  5. 05List export checks

Use cases

  1. 01Create elastic overshoot in graphic animation
  2. 02Use delayed layers for follow-through
  3. 03Check animation timing at the target frame rate

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dylantarre/animation-principles --skill video-motion-graphics

After installing, type/video-motion-graphicsin Claude Code to confirm it loaded.

Details

From the project README

Video Motion Graphics

Apply Disney's 12 animation principles to After Effects, Premiere Pro, and video motion design.

Quick Reference

PrincipleMotion Graphics Implementation
Squash & StretchOvershoot expressions, elastic motion
AnticipationPre-movement, wind-up keyframes
StagingComposition, depth, focus pulls
Straight Ahead / Pose to PoseFrame-by-frame vs keyframe animation
Follow Through / OverlappingDelayed layers, expression lag
Slow In / Slow OutGraph editor curves, easing
ArcMotion paths, rotation follows path
Secondary ActionEnvironment response, particle systems
Timing24/30/60fps considerations
ExaggerationScale beyond reality, dramatic motion
Solid DrawingZ-space, 3D consistency, parallax
AppealSmooth, professional, emotionally resonant

Principle Applications

Squash & Stretch: Use scale property with different X/Y values. Overshoot expressions create elastic motion. Shape layers deform more naturally than pre-comps for organic squash.

Anticipation: Add 2-4 frames of reverse motion before primary action. Wind-up for reveals—slight scale down before scale up. Position anticipation: move opposite direction first.

Staging: Use depth of field to direct focus. Vignettes frame important content. Motion blur on secondary elements. Composition leads eye to focal point.

Straight Ahead vs Pose to Pose: Traditional frame-by-frame for character animation. Keyframe-based for graphic animation. Most motion graphics are pose-to-pose with expression refinement.

Follow Through & Overlapping: Use valueAtTime() expressions for lag. Stagger layer animation with offset. Secondary elements continue 4-8 frames past primary stop. Parent/child relationships with delayed response.

Slow In / Slow Out: Master the Graph Editor—never use linear keyframes. Easy Ease is starting point, customize curves. Bezier handles control acceleration. Speed graph shows velocity.

Arc: Enable motion path editing. Auto-orient rotation to path. Add roving keyframes for smooth arcs. Natural motion rarely travels in straight lines.

Secondary Action: Particles respond to primary motion. Shadows and reflections follow. Background elements shift with parallax. Audio waveforms drive visual elements.

Timing: 24fps: Cinematic feel, motion blur essential. 30fps: Broadcast standard, smoother. 60fps: Digital-first, very smooth. Hold frames (2s, 3s) for stylized timing.

Exaggeration: Motion graphics can push further than reality. Scale overshoots to 120-150%. Rotation extends past final. Color and effects can punctuate exaggeration.

Solid Drawing: 3D layers maintain spatial consistency. Parallax creates depth hierarchy. Consistent light direction across elements. Z-positioning creates believable space.

Appeal: Smooth interpolation, no jarring cuts. Color grading unifies composition. Typography has weight and personality. Motion feels intentional and professional.

After Effects Techniques

Overshoot Expression
// Apply to any property for elastic overshoot
freq = 3;
decay = 5;
n = 0;
if (numKeys > 0) {
    n = nearestKey(time).index;
    if (key(n).time > time) n--;
}
if (n > 0) {
    t = time - key(n).time;
    amp = velocityAtTime(key(n).time - .001);
    w = freq * Math.PI * 2;
    value + amp * (Math.sin(t * w) / Math.exp(decay * t) / w);
} else {
    value;
}
Stagger Expression
// Apply delay based on layer index
delay = 0.1;
d = delay * (index - 1);
time - d;

Timing Reference

ElementDurationEasing
Text reveal15-25 framesEase out
Logo animation30-60 framesCustom curve
Transition10-20 framesEase in-out
Lower third in12-18 framesEase out
Lower third out8-12 framesEase in

Export Considerations

  • Preview at final framerate
  • Enable motion blur for fast motion
  • Check timing at 1x speed, not RAM preview
  • Account for broadcast safe areas
  • Test on target display format

Comments

Markdown supported