Timing Calibration

dylantarre/animation-principles/skills/12-by-problem-type/timing-calibration

作者 dylantarre83597134ba8f無授權條款99 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫9 個月前更新

Use when animation speed feels wrong—too fast, too slow, or inconsistent

僅含說明Design & Creative
AI 產生的概覽

依迪士尼動畫時間原則診斷並修正動畫速度,提供時長刻度、緩動建議與 CSS 變數。

功能
引導代理診斷動畫速度問題,例如時長過快、過慢或不一致。它會把每個問題對應到一項原則(時間、慢入慢出、弧線、場面調度、次要動作)並提出修正方式。此外也提供時長刻度表、快速修正建議、排查清單,以及用於時長與緩動的 CSS 自訂屬性程式碼範例。
適用情境
適用於動畫速度感覺不對的情況,例如回饋指出動作太慢或太快、相似動作速度不一致、使用者需要等待動畫結束,或動態效果顯得機械不自然。它適合調整介面動態節奏,而非從零打造動畫系統。
執行需求
不需要指令碼或工具,僅為說明性內容。其中的 CSS 範例假定專案使用 CSS 自訂屬性。

Timing Calibration

Get animation speed right using Disney's timing principles.

Problem Indicators

  • "Too slow" or "too fast" feedback
  • Animations feel inconsistent
  • Similar actions have different speeds
  • Users wait for animations
  • Motion feels robotic or unnatural

Diagnosis by Principle

Timing

Issue: Duration doesn't match action type Fix: Micro-interactions: 100-150ms. Transitions: 200-400ms. Complex reveals: 400-600ms. Never exceed 1s for UI.

Slow In and Slow Out

Issue: Linear timing feels mechanical Fix: Use easing. Ease-out for entrances (fast start, soft landing). Ease-in for exits (soft start, quick finish).

Arcs

Issue: Straight-line motion at wrong speed Fix: Curved paths need more time than straight paths. Increase duration for arc motion.

Staging

Issue: Multiple speeds compete Fix: Similar elements should animate at similar speeds. Create timing harmony.

Secondary Action

Issue: Secondary animations at wrong relative speed Fix: Secondary actions should be slightly slower than primary. Creates natural hierarchy.

Timing Scale

CategoryDurationUse For
Instant0-100msHover states, micro-feedback
Fast100-200msButtons, toggles, small elements
Normal200-300msCards, modals, most transitions
Slow300-400msPage transitions, large elements
Deliberate400-600msComplex reveals, onboarding

Quick Fixes

  1. Start with 200ms - Adjust from there
  2. Larger elements = longer duration - Size affects perceived speed
  3. Distance affects timing - Longer travel = longer duration
  4. Create a timing scale - Use 3-4 consistent values
  5. Test at 2x speed - If too slow works, use it

Troubleshooting Checklist

  • Is duration under 400ms for most UI?
  • Do similar elements have similar timing?
  • Is easing applied (not linear)?
  • Does larger movement have longer duration?
  • Test: Speed up by 30%—still readable?
  • Test: Slow down by 30%—feels sluggish?
  • Are users waiting for animations?
  • Compare to platform conventions (iOS/Android/Web)

Code Pattern

css
:root {  /* Timing scale */  --duration-instant: 50ms;  --duration-fast: 150ms;  --duration-normal: 250ms;  --duration-slow: 350ms;  --duration-deliberate: 500ms;
  /* Easing */  --ease-out: cubic-bezier(0, 0, 0.2, 1);  --ease-in: cubic-bezier(0.4, 0, 1, 1);  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);}
/* Size-aware timing */.small-element { transition-duration: var(--duration-fast); }.medium-element { transition-duration: var(--duration-normal); }.large-element { transition-duration: var(--duration-slow); }

來源與署名

來源:dylantarre/animation-principles位於skills/12-by-problem-type/timing-calibration提交8359713

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架