Disney Animation Rule Skill

vibe-motion/skills/disney-animation-rule-skill

作者 vibe-motion4c86c0d016a3ba22ee673428a494f3c44f84111f无许可证收录于 2026年10月9日更新于 2026年10月9日

Apply Disney's 12 principles as practical design and engineering rules for procedural animation. Use when creating, improving, reviewing, or debugging code-driven motion in web, SVG, canvas, React, Remotion, game, UI, character, camera, or 3D scenes; especially when motion feels stiff, weightless, mechanical, unclear, or physically correct but visually weak.

AI 生成的概览

将迪士尼 12 条动画原则作为实用规则,用于设计、审查和调试由代码驱动的程序化动画。

功能
指导智能体设计和审查程序化动画,把物理模拟和插值视为输入而非最终结果。它定义了工作流程:分块动作阶段、构建运动层级、实现确定性的状态求值、按感知调整时间和间距,并运行审查清单。它还列出了应避免的常见默认做法,例如对所有属性使用同一个线性进度值,或在未确定力和支点的情况下添加通用弹跳。交付物是改进后的运动设计及审查指导,而不是生成的文件。
适用场景
适用于创建、改进、审查或调试 web、SVG、canvas、React、Remotion、游戏、UI、角色、摄像机或 3D 场景中由代码驱动的运动。尤其适用于运动显得僵硬、失重、机械、不清晰,或物理上正确但视觉上薄弱的情况。它并不要求每个镜头都套用全部 12 条原则;应选择能解决感知问题的最小原则集合。
运行要求
无需脚本或软件包,仅为说明性内容。它引用三个随附的 markdown 文件(references/twelve-principles.md、references/implementation-patterns.md、references/clawd-jump-case-study.md)。它假定可以访问正在审查的动画代码和渲染器,例如 web、SVG、canvas、React、Remotion、游戏、UI 或 3D 场景。

Disney Animation Rules for Procedural Animation

Design motion for readable intent, weight, rhythm, and personality. Treat physical simulation and interpolation as inputs, not as the final animation.

Do not force all 12 principles into every shot. Select the smallest set that fixes the perceptual problem.

Workflow

  1. Inspect the scene, code, inputs, renderer, and project constraints before changing motion.
  2. State the action in one sentence: subject, intention, force, destination, and desired feeling.
  3. Identify the primary action and rank all secondary actions beneath it.
  4. Block semantic phases and event poses before selecting easing curves.
  5. Select relevant principles from references/twelve-principles.md.
  6. Define one deterministic state evaluator from frame or time plus explicit inputs.
  7. Derive deformation, overlap, accents, and effects from primary motion or semantic events.
  8. Tune timing and spacing at representative frames, then review the full motion.
  9. Remove effects that hide weak posing, unclear timing, broken contacts, or poor silhouettes.

For detailed engineering patterns, read references/implementation-patterns.md. For the motivating jump comparison, read references/clawd-jump-case-study.md.

Block the Action

Define event poses such as:

  • Rest or setup
  • Anticipation
  • Commitment or launch
  • Passing pose
  • Apex, hold, or decision point
  • Contact or impact
  • Overshoot
  • Settle or recovery

Adapt the vocabulary to the action. A button press may use rest, press, contact, overshoot, and settle. A camera move may use establish, accelerate, reveal, brake, and settle.

For each phase, specify:

  • Duration or duration ratio
  • Position and path
  • Velocity at each boundary
  • Scale, rotation, and pivot
  • Contact constraints
  • Silhouette or readability goal
  • Secondary-action lag
  • Optional accent such as smear, blink, particles, or camera shake

Prefer a phase table or explicit constants over one opaque easing expression.

Build the Motion Hierarchy

Build in this order:

  1. Preserve functional constraints, contacts, bounds, and input behavior.
  2. Make the primary path and timing readable with the subject rendered as a simple shape.
  3. Add pose changes and deformation around force and contact events.
  4. Add follow-through and overlap with controlled phase offsets.
  5. Add secondary action that reinforces, never competes with, the main action.
  6. Add accents only where speed, impact, or clarity justify them.

Make the primary motion work without motion blur, particles, trails, or sound.

Engineer Deterministically

  • Compute animation state as state = f(frameOrTime, inputs, parameters).
  • Keep evaluation independent of previous renders and render order.
  • Preserve fractional frames through interpolation and derivative calculations.
  • Seed procedural variation from stable identifiers; never use unseeded randomness during rendering.
  • Derive velocity and acceleration analytically or by sampling the pure state function.
  • Snapshot interactive inputs at an intentional commitment event when later changes would break the action.
  • Keep contact anchors fixed during squash, stretch, recoil, or settle unless sliding is intentional.
  • Preserve position and velocity continuity across phase boundaries unless a deliberate hit, cut, or snap requires discontinuity.
  • Normalize thresholds and amplitudes by subject size, travel distance, viewport, or scene scale.
  • Clamp exaggeration to protect legibility, geometry, and interaction constraints.

For Remotion, make every frame independently calculable because frames may render in parallel and out of order. For browser-based 3D work in environments that prohibit Remotion for 3D, use the project's Puppeteer capture workflow.

Tune by Perception

Judge spacing, not just curves:

  • More distance between samples reads as more speed.
  • A short preparation followed by a large spacing change reads as force.
  • Closely spaced samples near an apex or decision point create emphasis.
  • Fast contact followed by compression and recovery creates weight.
  • Delayed extremities create flexibility and momentum.
  • A clean silhouette creates clarity before detail does.

Use asymmetry deliberately. Equal ascent and descent, identical easing on every channel, and synchronized body parts often read as mechanical.

Review Checklist

  • Read the action correctly from a few still frames.
  • Confirm anticipation points in the direction of the coming action.
  • Confirm the path, orientation, and deformation agree with velocity and force.
  • Confirm impact intensity responds to incoming speed or force.
  • Confirm secondary action starts later and settles later than the primary action.
  • Confirm holds are intentional and do not freeze every channel.
  • Confirm responsive layouts preserve the same action logic at different scales and endpoints.
  • Confirm no effect compensates for a weak pose or broken transition.
  • Confirm each rendered frame is deterministic for identical inputs.

Avoid These Defaults

  • Do not use one linear progress value for every property.
  • Do not assume a symmetric parabola automatically creates a convincing jump.
  • Do not add generic bounce or elastic easing without identifying the force and pivot.
  • Do not apply squash and stretch continuously; concentrate it around acceleration and contact.
  • Do not let secondary motion lead the primary action.
  • Do not preserve physical realism at the cost of readability.
  • Do not exaggerate every channel at once.
  • Do not introduce stateful frame-to-frame simulation into an out-of-order renderer.

来源与署名

来源:vibe-motion/skills位于disney-animation-rule-skill提交4c86c0d

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架