Unity でのランタイム アニメーター コントローラーの使用

Unity では、アニメーションはゲームのキャラクターやオブジェクトに命を吹き込む上で重要な役割を果たします。RuntimeAnimatorController は、実行時にゲーム オブジェクトのアニメーションを制御する重要なコンポーネントです。このチュートリアルでは、RuntimeAnimatorController の概要を説明し、Unity のコード例を使用してその使用方法を示します。

RuntimeAnimatorControllerとは何ですか?

RuntimeAnimatorController は、Animator コンポーネントのアニメーション、トランジション、パラメータを定義する Unity のスクリプト可能オブジェクトです。これにより、ゲームプレイ中にアニメーションを動的に管理および制御できます。RuntimeAnimatorControllers を作成、変更し、ゲーム オブジェクトに割り当てて、複雑なアニメーション動作を実現できます。

コード例

RuntimeAnimatorController の使用法を示す簡単な例を作成してみましょう。

  1. アニメーション クリップの作成: まず、ゲーム オブジェクト用のアニメーション クリップをいくつか作成します。これを行うには、アニメーションをインポートするか、Unity のアニメーション ツールを使用してアニメーションを作成します。
  2. アニメーター コントローラー の作成: [プロジェクト] ウィンドウを右クリックし、[作成] -> [アニメーター コントローラー] を選択して、プロジェクトに新しい RuntimeAnimatorController アセットを作成します。
  3. アニメーション クリップの追加: 新しく作成したアニメーター コントローラー アセットをダブルクリックして、Animator ウィンドウで開きます。手順 1 で作成したアニメーション クリップを Animator ウィンドウにドラッグ アンド ドロップします。必要に応じてアニメーション間のトランジションを調整します。
  4. Animator Controller の割り当て: RuntimeAnimatorController をゲーム オブジェクトの Animator コンポーネントにアタッチします。これは、「インスペクター」ウィンドウを介して行うことも、スクリプトを使用してプログラム的に行うこともできます。
  5. アニメーションの制御: コードを使用して、実行時にアニメーションを制御します。ゲーム イベントやユーザー入力に基づいて、アニメーションをトリガーしたり、パラメーターを設定したり、トランジションを管理したりできます。

RuntimeAnimatorController を使用してアニメーションを制御する方法を示すコード例を次に示します。

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private Animator animator;

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

    void Update()
    {
        // Example: Triggering animation based on player input
        float move = Input.GetAxis("Horizontal");
        animator.SetFloat("Speed", Mathf.Abs(move)); // Set 'Speed' parameter based on player's horizontal movement

        if (Input.GetKeyDown(KeyCode.Space))
        {
            animator.SetTrigger("Jump"); // Trigger 'Jump' animation when Space key is pressed
        }
    }
}

この例では:

  • ゲーム オブジェクトにアタッチされている Animator コンポーネントを取得します。
  • Update メソッドでは、アニメーションを動的に制御するためにプレーヤー入力をチェックします。
  • プレイヤーの水平方向の動きに基づいて 'Speed' パラメータを設定し、歩行アニメーションを再生します。
  • プレイヤーがスペースキーを押したときに、'Jump' アニメーションをトリガーします。

結論

このチュートリアルでは、Unity の RuntimeAnimatorController を調べ、それを使用してゲームプレイ中にアニメーションを動的に制御する方法を学びました。概念を理解し、提供されているコード例を適用することで、Unity ゲームでよりインタラクティブで魅力的なエクスペリエンスを作成できます。さまざまなアニメーション、トランジション、パラメータを試して、目的のアニメーション動作を実現します。

おすすめの記事
Unity のステートマシンの概要
Poppy Playtime からインスピレーションを得て Unity で GrabPack を作成する
Unity でバレットタイムエフェクトを作成する
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装
Unity で特定のキーを使用して引き出しや食器棚を開ける
Unity のインベントリを使用しないピック アンド ドロップ システム