mcpField
G
game-development

game-development

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

game-development について

ゲームアニメーションの制作者向けに、ディズニーの 12 原則をゲームエンジンやプレイヤーへのフィードバックへ応用する方法を解説します。Unity と Unreal の実装パターンや動作のフレーム数も扱います。

主な機能

  1. 0112 のアニメーション原則の応用
  2. 02キャラクター動作とプレイヤーへのフィードバック
  3. 03Unity と Unreal の実装パターン
  4. 04動作のフレームデータ参照

活用シーン

  1. 01読み取りやすい攻撃の予備動作の設計
  2. 02ヒットストップや画面揺れによる衝撃の強調
  3. 03ジャンプ、弾道、回避の軌道設計

インストール

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

$npx skills add https://github.com/dylantarre/animation-principles --skill game-development

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

詳細

ゲーム開発アニメーション

ディズニーのアニメーション12原則をゲームエンジン、プレイヤーへのフィードバック、インタラクティブエンターテインメントに応用します。

クイックリファレンス

原則ゲームでの実装
つぶしと伸ばしキャラクターの変形、インパクトフレーム
予備動作溜めアニメーション、チャージインジケーター
演出カメラの注目点、環境による手がかり
ストレートアヘッドとポーズ・トゥ・ポーズプロシージャルアニメーションとキーフレームアニメーション
後追いとオーバーラップマント、髪、武器の軌跡
スローインとスローアウトアニメーションカーブ、攻撃と回復
運動曲線飛翔体の軌道、ジャンプの軌跡
副次動作パーティクル、画面の揺れ、音声との同期
タイミングフレームデータ、ヒットストップ、反応可能時間
誇張スタイライズされた動き、被弾リアクション
立体感一貫したシルエット、遠距離での見やすさ
魅力キャラクターの個性、満足感のあるフィードバック

原則の応用

つぶしと伸ばし:着地時の衝撃に合わせてキャラクターを変形させます。素早い移動中は伸ばします。インパクトフレームでは動きを止め、つぶして力強さを表現します。変形中も体積を一貫させます。

予備動作:攻撃の溜め動作でプレイヤーに予告します。ジャンプでは地面を離れる前にしゃがみます。チャージ攻撃では溜めを見せます。敵の予備動作で、迫りくるダメージを警告します。

演出:重要なアクションをカメラで捉えます。環境照明で視線を誘導します。敵の配置によって、状況を把握しやすい戦闘シーンを作ります。UIが重要なゲームプレイを覆わないようにします。

ストレートアヘッドとポーズ・トゥ・ポーズ:プロシージャルアニメーション(ラグドール、物理演算)はストレートアヘッドです。キーフレームによる攻撃コンボはポーズ・トゥ・ポーズです。キーフレームを基本にプロシージャルな二次動作を加え、両方を組み合わせます。

後追いとオーバーラップ:髪、布、尻尾などの二次要素は、体が止まった後も動き続けます。武器の軌跡は振り終わった後も残ります。着地後の回復動作は、最初の衝撃の後まで続きます。

スローインとスローアウト:アニメーションカーブを使い、キャラクターの動きに直線的な変化を使わないようにします。攻撃の立ち上がりは速く、回復はゆっくりにします。ジャンプの頂点では動きを緩め、滞空感を調整します。

運動曲線:ジャンプは放物線を描きます。剣の振りは曲線を描きます。ヒットスキャンでない限り、飛翔体は自然な弧を描きます。回避ローリングは直線移動ではなく、曲線を描きます。

副次動作:衝撃時に画面を揺らします。命中時にパーティクルを発生させます。アクションに合わせてコントローラーを振動させます。サウンドデザインで視覚的なタイミングを強調します。

タイミング:ヒットストップ(フレーム単位の停止)で衝撃を強調します。一般的には2〜5フレームです。攻撃の立ち上がり/有効時間/回復のフレームデータは、ゲームの手応えを左右します。入力への反応は100ms未満にします。

誇張:ゲームアニメーションは、遠距離でも高速でも見やすくする必要があります。ポーズは現実的な表現より20〜30%誇張します。被弾リアクションは物理的に想定されるよりも大げさにします。明瞭さを優先してスタイライズします。

立体感:どのズームレベルでもシルエットを判別できるようにします。アニメーションを通じてキャラクターのプロポーションを一貫させます。キーフレームで力強いポーズを作ります。形状を分かりにくくする接線を避けます。

魅力:キャラクターの個性を待機アニメーションで表現します。ゲームの仕組みとは関係なく、動きに満足感を持たせます。プレイヤーが自分のキャラクターの動きを見て楽しめるようにします。

エンジンのパターン

Unity
// Squash and stretch on landing
IEnumerator LandingSquash() {
    transform.localScale = new Vector3(1.2f, 0.8f, 1.2f);
    yield return new WaitForSeconds(0.05f);
    // Ease back to normal
    float t = 0;
    while (t < 1) {
        t += Time.deltaTime * 8f;
        transform.localScale = Vector3.Lerp(
            new Vector3(1.2f, 0.8f, 1.2f),
            Vector3.one,
            EaseOutElastic(t));
        yield return null;
    }
}

// Hit-stop for impact
IEnumerator HitStop(int frames) {
    Time.timeScale = 0f;
    for (int i = 0; i < frames; i++)
        yield return null;
    Time.timeScale = 1f;
}
Unreal
// Animation curve for easing
UPROPERTY(EditAnywhere)
UCurveFloat* JumpArcCurve;

// Apply curve to movement
float CurveValue = JumpArcCurve->GetFloatValue(NormalizedTime);

タイミングの目安

アクションの種類立ち上がり有効時間回復
弱攻撃3-6f2-4f8-12f
強攻撃12-20f4-8f16-24f
ジャンプ3-4f--4-6f
回避2-4f8-12f6-10f

フレームデータは60fpsの場合です。対象のフレームレートに合わせて調整してください。

コメント