mcpField
A
after-effects

after-effects

github.com/dylantarreクリエイティブ・メディア134907 回インストール43 週間前に更新
リポジトリ

after-effects について

キーフレーム、エクスプレッション、コンポジション技法でディズニーのアニメーション12原則を実践する、After Effects向けスキルです。モーションデザイナーがアニメーション素材を作り、Lottie、GIF、動画、スプライトシートに書き出す用途に向いています。

主な機能

  1. 01エクスプレッションによるスクワッシュ&ストレッチ
  2. 02キーフレームとグラフエディターの手順
  3. 03モーションパスとレイヤーの時間差
  4. 04タイミングと誇張表現の技法
  5. 05Lottie、GIF、動画、スプライトシートへの書き出し

活用シーン

  1. 01エクスプレッションでスクワッシュ&ストレッチを作成
  2. 02段階的なキーフレームシーケンスの構築
  3. 03レイヤー分けした動きにフォロースルーを追加
  4. 04記載された形式でアニメーションを書き出し

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dylantarre/animation-principles --skill after-effects

インストール後、Claude Code で/after-effectsを入力して読み込まれたか確認します。

詳細

After Effects のアニメーション原則

After Effects の強力なアニメーションツールを使って、ディズニーのアニメーションにおける12の原則をすべて実装します。

1. 伸縮

// Expression for automatic squash/stretch
s = transform.scale[1];
x = 100 + (100 - s) * 0.5;
[x, s]

または手動で行います:

  • X と Y のスケールに逆方向のキーフレームを設定します
  • Y が縮むとき、X を広げます
  • 体積を維持します(X * Y ≈ constant)

2. 予備動作

タイムラインの構成:

  • 0-10f:溜め(しゃがむ、引き戻す)
  • 10-12f:移行
  • 12-30f:メインアクション
  • 30-40f:落ち着き

予備動作のキーフレームにイージーイーズを適用して、滑らかな溜めを作ります。

3. 演出

テクニック:

  • 被写界深度を使用します(Camera > Depth of Field)
  • 背景レイヤーにぼかしを適用します
  • ビネットを使って注目を誘導します
  • 二次要素の不透明度を調整します
  • メインの被写体をより明るく照らします

4. ストレートアヘッド/ポーズ・トゥ・ポーズ

ポーズ・トゥ・ポーズ(推奨):

  1. 重要なポーズにキーフレームを設定します
  2. ブレークダウンを補完します
  3. グラフエディターでタイミングを調整します

ストレートアヘッド:

  • 1フレームずつアニメーションさせます
  • オニオンスキンを使用します(Layer > Onion Skin)

5. 後追いとオーバーラッピングアクション

// Delay expression for child layers
thisComp.layer("Parent").transform.position.valueAtTime(time - 0.05)

または:

  • 子のキーフレームを2~5フレームずらします
  • 遅延ウィグルを使った親子付けを使用します
  • 終点の値にスプリング式を適用します

6. スローインとスローアウト

  • キーフレームを選択し、F9(イージーイーズ)を押します
  • グラフエディターでベジェハンドルを調整します
  • カーブが急なほど、動きが速くなります
  • カーブが平坦なほど、動きが遅くなります
// Custom ease expression
ease(time, inPoint, outPoint, startValue, endValue)

7. アーク

テクニック:

  • ペンツールでモーションパスを描きます
  • Position プロパティのベジェハンドルを使用します
  • Layer > Transform > Auto-Orient を選択します
  • シェイプレイヤーから位置にパスを適用します

8. 二次動作

  • まずメインアクションをアニメーションさせます
  • 別のレイヤー/プロパティに二次動作を追加します
  • タイミングを少しずらします
  • 二次動作はメインの動作を補完し、競合しないようにします

例:キャラクターが手を振る → 髪が追従する → 服が揺れる

9. タイミング

フレーム数印象
2-4キビキビ、瞬間的
6-8速く、活気がある
12-15通常のペース
20-30ゆっくり、重々しい
40+劇的、重みがある

全体の印象に合わせてコンポジションのフレームレートを調整します(映画風なら24fps、滑らかさを重視するなら30fps)。

10. 誇張

// Overshoot expression
amp = 15;
freq = 3;
decay = 5;
t = time - key(numKeys).time;
if (t > 0) {
  value + amp * Math.sin(t * freq * Math.PI * 2) / Math.exp(t * decay);
} else {
  value;
}

現実的な値より20~50%大きくします:

  • スケールを大きくする
  • 回転角度を広げる
  • タイミングをより劇的にする

11. 立体感のある描画

  • 奥行きを出すために3Dレイヤーを使用します
  • パースを付けてカメラを適用します
  • Z位置をアニメーションさせます
  • 光と影を使用します
  • すべてのポーズでボリュームを考慮します

12. 魅力

デザインの原則:

  • どのポーズでもシルエットを明確にします
  • 鋭い角度より滑らかなカーブを使います
  • キャラクターのプロポーションを一貫させます
  • 心地よいタイミングのパターンを作ります
  • 動きの軌跡をすっきりと見やすくします

必須のエクスプレッション

// Wiggle
wiggle(frequency, amplitude)

// Loop
loopOut("cycle")

// Time remap
timeRemap = linear(time, 0, duration, 0, 1)

// Bounce
n = 0;
if (numKeys > 0) {
  n = nearestKey(time).index;
  if (key(n).time > time) n--;
}
if (n == 0) t = 0;
else t = time - key(n).time;
amp = 80; freq = 3; decay = 8;
value + amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

書き出しオプション

  • Lottie:Bodymovin プラグイン → JSON
  • GIF:Media Encoder
  • 動画:H.264、ProRes
  • スプライトシート:Scripts > Render Sprite Sheet

コメント