Communitygithub.com

AE GSAP モーション翻訳

GreenSock/GSAP のアニメーション思考を Adobe After Effects のキーフレーム、コントローラー用ヌル、テキストアニメーター、エクスプレッション、ExtendScript に変換します。ユーザーが GSAP 風のプロフェッショナルアニメーションや GreenSock スタイルのシーケンス、タイムライン/ステガー/イーズ/スクラブ/Flip/SplitText パターンを AE で求めたり、GSAP モーションのアイデアを AE 実装に変換するよう依頼した場合に、AEMotion の後に使用します。

AE GSAP モーション翻訳 とは?

このスキルは、GSAP(GreenSock Animation Platform)のアニメーション文法を Adobe After Effects のネイティブ機能に翻訳するための専門的なガイドです。GSAP そのものは AE では動作しませんが、その概念(トゥイーン、タイムライン、イーズ、スクラブ、プラグインなど)を AE のキーフレーム、エクスプレッション、コントローラーヌル、テキストアニメーター、シェイプレイヤー、カメラ、スクリプトにマッピングする方法を詳細に説明します。主な翻訳ルールとして、gsap.to は終了キーフレーム、gsap.from は開始キーフレーム、gsap.fromTo は両方のキーフレームを設定します。さらに、ScrollTrigger のスクラブやピン、Flip/MorphSVG/DrawSVG などのプラグイン、SplitText や CustomEase といったユーティリティの AE での代替実装パターンを提供します。また、ES3 互換の ExtendScript を作成するためのワークフローやパフォーマンスルールも含まれています。このスキルは、公式の GSAP スキル群(gsap-core, gsap-timeline, gsap-scrolltrigger, gsap-plugins, gsap-utils, gsap-performance)を補完するもので、正確な意味が必要な場合には参照するよう指示されています。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/itswenxin/motion-agent/tree/HEAD/agent-skills/ae-gsap-motion

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AE GSAP モーション翻訳 は何をしますか?

After Effects の作業において、GreenSock/GSAP のモーション文法を活用する場合、skills/AEMotion/SKILL.md の後に使用してください。GSAP 自体は AE では動作しません。その概念を、AE ネイティブのキーフレーム、エクスプレッション、コントローラーヌル、テキストアニメーター、タイムリマップ、マスク、カメラ、スクリプトに変換します。

公式ソーススキルはローカルにインストールされています(Codex スキルのルートが異なる場合は調整してください):

  • $CODEX_HOME/skills/gsap-core/SKILL.md
  • $CODEX_HOME/skills/gsap-timeline/SKILL.md
  • $CODEX_HOME/skills/gsap-scrolltrigger/SKILL.md
  • $CODEX_HOME/skills/gsap-plugins/SKILL.md
  • $CODEX_HOME/skills/gsap-utils/SKILL.md
  • $CODEX_HOME/skills/gsap-performance/SKILL.md

正確なセマンティクスが必要な場合にのみ、関連する公式 GSAP スキルを参照してください。AE スクリプトは AEMotion で要求される ES3 セーフに保ってください。

コア変換

GSAP の概念AE での翻訳
gsap.to(target, vars)現在の値を開始値として保持し、start + duration に終了キーフレームを設定します。
gsap.from(target, vars)vars から明示的な開始キーフレームを設定し、現在/最終のデザイン値にアニメーションします。後で確定した状態を上書きしないように、「immediateRender」を避けます。
gsap.fromTo(target, from, to)開始キーフレームと終了キーフレームの両方を明示的に設定します。信頼性の高いスクリプトによる AE 構築に最適です。
gsap.set(target, vars)現在の時間に値を設定するか、後続のアニメーションが依存する場合はホールドキーフレームを作成します。
duration, delay秒をコンポ時間に変換します。30fps の場合、1 フレーム = 1/30。
easeキーフレームに時間的イーズを適用するか、エクスプレッションカーブを使用します。厳密なブラウザの計算ではなく、感覚を一致させます。
staggerレイヤー/キーフレームの開始時間をフレーム単位でオフセットします。テキストの場合は、テキストアニメーターセレクターまたは「テキストを分解」を使用します。
repeat / yoyoループエクスプレッション、タイムリマップ、または複製されたキーフレームサイクルを使用します。エクスプレッションが不安定になった場合はベイク処理します。
autoAlpha不透明度のキーフレーム。必要に応じて、表示範囲外でのハードカットのためにレイヤーの有効/無効を切り替えます。
相対値 +=, -=現在の AE プロパティを読み取り、新しいキーを書き込む前に差分を加算します。
関数ベースの値JSX またはエクスプレッションセレクターでインデックスベースの計算を使用します。
gsap.defaults()JSX での共有コンフィグオブジェクト、または duration/ease/spread 用のスライダーを持つコントローラーヌル。
matchMedia() / モーション軽減代替のスケール/スライダープリセット(例:「モーション量」)を作成します。モーション軽減には、より短い距離、低い回転、または不透明度のみを使用します。

タイムライン文法

AE キーを作成する前に、コンパクトなタイムライン仕様を記述します:

label intro @ 0.00
S06_Card_Demo.fromTo position [x0,y0,z0] -> [x1,y1,z1] dur .55 ease power3.out @ intro
S06_Card02.to scale 70 -> 100 dur .35 ease back.out @ <+.08
cards.stagger orientation += [0,18,-8] dur .6 ease power2.inOut each .04 from center

次に、AE のテーブルに変換します:

フィールド意味
layer正確な AE レイヤー名またはパターン。
propertyAE プロパティパス:位置、スケール、方向、不透明度、マスクパス、タイムリマップなど。
from/toAE 単位での明示的な値。
start/duration秒またはフレーム。
easeGSAP スタイル名を AE の時間的イーズにマッピングしたもの。
offset絶対時間、ラベル、前の開始 <、前の終了 >、またはステガーオフセット。
controller値を駆動するオプションのヌル/スライダー。

遅延計算を分散させるよりも、タイムラインラベルを優先します。複雑なセクションでは、シーケンスごとに 1 つのコントローラーヌル(例:CTRL_S06_CARDS)を作成し、「モーション量」、「ステガーフレーム」、「奥行きスプレッド」、「進行度」などのスライダーを配置します。

イーズマッピング

これらを開始点として使用し、キャプチャで視覚的に調整します:

GSAP イーズAE の感覚
none線形補間。スクラブ/プログレス駆動のモーションに使用。
power1.out緩やかなイーズアウト。低い影響。
power2.out標準的な UI イーズアウト。
power3.out速い開始、強い収束。カードやタイトルに最適。
power3.inOut対称的な滑らかな移動。カメラやグループの動きに最適。
expo.out非常に速い到着後、ゆっくり収束。控えめに使用。
back.out(1.7)終点を超えるオーバーシュートキーを追加し、その後収束。
elastic.out()エクスプレッションスプリング、または 3〜5 の減衰オーバーシュートキーを使用。
bounce.out段階的なインパクトキーを使用。1 つの Easy Ease で偽装しない。

正確なタイミングが重要な場合は、ピーク速度と着地の瞬間のフレームをサンプリングします。AE のキーフレーム補間は GSAP と数値的に同一にはなりません。成果物はモーションの知覚を一致させることです。

AE における ScrollTrigger の概念

AE には DOM スクロールはありません。ScrollTrigger を進行度ドライバーとして変換します:

ScrollTrigger の概念AE パターン
trigger/start/endタイムラインラベル範囲またはワークエリア範囲。
scrub: trueスライダー/ヌル「進行度 0..100」、タイムリマップ、または時間を進行度にマッピングするエクスプレッション。リニアイーズを使用。
数値 scrub の遅れ進行度の値に対するローパス/スプリングエクスプレッション、または遅延した複製キーフレーム。
pin子をアニメーション中はカメラまたは親ヌルをホールド。子が独立したモーションを必要とする場合、ピン留めされた親はアニメーションしない。
snapホールド/スナップキーフレーム、または Math.round(progress / step) * step エクスプレッション。
markers一時的なガイドレイヤー、ラベル、またはテキストオーバーレイ。最終納品前に削除。
containerAnimation1 つのマスターヌルまたはカメラパスで制御される水平/3D カルーセル。ネストされた要素は同じ進行度を参照。

AE での「スクロール風」リールでは、CTRL_PROGRESS でマスタータイムラインを駆動し、進行度をカード、カメラ Z、不透明度、ブラーにマッピングします。進行度駆動のモーションはリニアに保ち、イーズは視覚的な改善になる場合にのみ、ネストされた視覚応答に適用します。

プラグインパターンの同等物

GSAP プラグインAE の同等物
Flip最初と最後のレイヤートランスフォームを記録し、逆オフセットまたは親ヌルでアニメーション。レイアウトの並べ替えやカードスワップに使用。
Draggable / ObserverAE レンダリングはインタラクティブではありません。ジェスチャーはコントローラースライダーまたは記録されたキーフレームで表現。
Inertia速度ベースのエクスプレッション、スプリングエクスプレッション、または減衰オーバーシュートキー。
SplitTextAE テキストアニメーター、エクスプレッションセレクター、またはテキストを単語/文字ごとに分解。
ScrambleTextソーステキストのホールドキー、文字マップエクスプレッション、またはテキストアニメーターの不透明度/文字オフセット。
DrawSVGシェイプレイヤーのトリムパス。
MorphSVGマスク/パスキーフレーム、またはシェイプパス補間。頂点数と順序が一致していることを確認。
MotionPathAE マスクパス+レイヤーパスペアレンティング、またはベジェに沿ったサンプリング位置キー。
CustomEase / CustomWiggle / CustomBounceAE グラフエディターカーブ、時間的イーズ値、またはカスタムエクスプレッション関数。
GSDevTools一時的なコントロールヌル、ガイドレイヤー、フレームキャプチャ、および監査 JSX レポート。

ユーティリティ関数の同等物

GSAP ユーティリティを JSX/エクスプレッションでの数学の語彙として使用:

function clamp(v, lo, hi) { return Math.max(lo, Math.min(hi, v)); }
function mapRange(in0, in1, out0, out1, v) {
  var p = (v - in0) / (in1 - in0);
  return out0 + (out1 - out0) * p;
}
function lerp(a, b, p) { return a + (b - a) * p; }
function snap(step, v) { return Math.round(v / step) * step; }

AE での一般的な使用例:

  • normalize/mapRange: 時間、オーディオ振幅、またはスライダー進行度を位置/スケール/不透明度にマッピング。
  • random: JSX で決定論的なレイヤーごとのオフセットを生成。ランダムなジッターが意図的でない限り、非決定的なエクスプレッションのランダム性は避ける。
  • snap: ステップタイプライター、フレームスキップモーション、グリッド/カードスナッピング。
  • distribute: カードの扇形配置、テキストのステガー、中央から外への表示。

AE のパフォーマンスルール

  • トランスフォーム、不透明度、タイムリマップ、カメラ/ヌルの移動を、負荷の高いフレーム単位のエフェクトよりも優先する。
  • 高コストなエフェクトがすべて同時にアニメーションする多数のレイヤーは避け、ルックが承認されたらプリコンポーズまたはベイクする。
  • 制御と反復にはエクスプレッションを使用し、エクスプレッションが遅くなったり脆くなったりしたらキーフレームにベイクする。
  • モーションブラーは知覚品質を向上させるが、レイアウトのミスを隠す可能性がある。診断時にはありとなしの両方で確認する。
  • 繰り返しのカードには、すべてのプロパティを独立してキー設定する代わりに、親ヌルと共有コントローラーを使用する。
  • マスクとメッシュワープは、視覚的に許容される限りシンプルに保つ。マスク変更後は正確なフレームをキャプチャする。

AE 構築ワークフロー

  1. ユーザーが GSAP の概念を指定した場合、AEMotion と関連する公式 GSAP スキルを読む。
  2. 編集前に AE コンポ/レイヤーを検査する。レイヤー名を推測しない。
  3. ラベル、継続時間、イーズ、ステガー、ターゲットレイヤーを含む GSAP スタイルのタイムライン仕様をドラフトする。
  4. AE 実装テーブルに変換する。
  5. キーフレーム/イーズ/コントローラー用の ES3 セーフな JSX ヘルパーを記述する。
  6. スクリプトごとに 1 つの論理シーケンスを適用する。
  7. 開始、ピーク速度、着地、最終ホールドの正確なフレームをキャプチャする。
  8. 視覚的なエビデンスから値を調整し、保存する。

やってはいけないこと

  • GSAP のブラウザコードを AE に貼り付けない。
  • ExtendScript でモダンな JavaScript 構文を使用しない。
  • 重複を監査せずに、同じ AE プロパティを複数の無関係なリグでアニメーションしない。
  • 複雑なセクションに delay スタイルの分散タイミングを使用しない。代わりにラベル/コントローラータイミングを使用する。
  • ユーザーが要求しない限り、最終レンダリングで一時的なガイド/マーカーレイヤーを表示したままにしない。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

関連スキル