Unity Mecanimの基礎と使用法

UnityのMecanimは、3Dキャラクターアニメーションの作成と制御を行うためのシステムです。この資料では、Mecanimの基本的な概念や、実際のプロジェクトでの使い方を紹介します。


Mecanimの基本構造

1. Animatorコンポーネント

Animatorコンポーネントは、オブジェクトにアニメーションを適用するためのコンポーネントです。Mecanimシステムを使用する際は、必ずこのコンポーネントをオブジェクトに追加します。

  • 使い方: 3Dキャラクターにアタッチし、Animator Controllerをリンクします。

2. Animator Controller

Animator Controllerは、アニメーションの遷移や条件を定義するための「ステートマシン」です。これを使用して、異なるアニメーション間の切り替えを制御します。

  • : キャラクターが「Idle」から「Run」に遷移する条件を設定します。

3. アニメーションステート

各アニメーションは「ステート」として定義され、Animator Controller内で管理されます。ステート同士を接続して遷移を設定することで、キャラクターの動作を制御します。

  • : 「Idle」ステートから「Walk」ステートに遷移する流れを設定します。

4. パラメーター

アニメーションの遷移を制御するために使用される変数です。パラメーターにはfloatintbooltriggerなどがあり、これらを条件として遷移が行われます。

  • isRunningというパラメーターを使用して、キャラクターが走っているかどうかを制御します。

5. ブレンドツリー

複数のアニメーションをブレンドして、自然な動作を実現するための機能です。例えば、キャラクターがゆっくり歩き始め、徐々に走る場合にブレンドツリーを使います。


Mecanimの設定方法

ステップ 1: Animator Controllerを作成する

  1. Animator Controllerの作成
    Projectウィンドウで右クリック → Create → Animator Controllerを選択します。
  2. アニメーションステートの追加
    Animatorウィンドウを開き、ステートを追加します。各ステートにアニメーションをドラッグ&ドロップします。

ステップ 2: パラメーターの設定

  1. パラメーターの作成
    Animatorウィンドウのパラメータータブで、Add Parameterをクリックしてパラメーターを追加します。
  2. 遷移条件の設定
    ステート間に遷移を設定し、遷移条件として追加したパラメーターを設定します。

ステップ 3: アニメーションの制御

Animator animator;

void Start() 
{
    animator = GetComponent<Animator>();
}

void Update() 
{
    float speed = Input.GetAxis("Vertical");
    animator.SetFloat("Speed", speed);

    if (Input.GetButtonDown("Jump")) 
    {
        animator.SetTrigger("Jump");
    }
}

このコードでは、Vertical軸の入力に応じてキャラクターの速度を変更し、Jumpボタンが押されたときにジャンプアニメーションを再生します。


応用: ブレンドツリーの設定

  1. ブレンドツリーの作成
    Animatorウィンドウで新しいブレンドツリーを作成し、Speedのようなパラメーターに基づいてアニメーションをブレンドします。
  2. ブレンド曲線の設定
    ブレンドツリー内で、アニメーション間の遷移をスムーズにするためのブレンド曲線を調整します。

まとめ

UnityのMecanimは、キャラクターの複雑な動作を管理するために非常に強力なツールです。アニメーションステートやパラメーター、ブレンドツリーを使用して、さまざまな動作を簡単に作成できます。この技術資料を基に、Mecanimを使ったアニメーション制御に挑戦してみてください。


Unity

Posted by hidepon