アニメーションパラメーターは Animator Controller 内で定義され、スクリプトからアクセスしたり値を割り当てることができる変数です。スクリプトをどのように制御するか、もしくはどのようにステートマシンの一連の流れに作用するかを定義します。
例えば、パラメーターの値は アニメーションカーブ と、サウンドエフェクトのピッチを変更するためにスクリプトからアクセスすることができます。同様に、スクリプトは Mecanim によってピックアップされるパラメーターの値も設定することができます。スクリプトは ブレンドツリー を制御するパラメーターを設定することができます。
デフォルトのパラメーター値は、アニメーターウィンドウのパラメーター項目の右上にある + ボタンを使って設定を行うことができます。基本的には 4 つのパラメーターがあります。
パラメーターはアニメータークラスの関数を使用してスクリプトから値を割り当てることができます。 SetFloat、SetInt、SetBool、SetTrigger、ResetTrigger
以下は、ユーザー入力に基づいてパラメーターを変更するスクリプトの例です。
using UnityEngine;
using System.Collections;
public class SimplePlayer : MonoBehaviour {
Animator animator;
// 初期化に使用します
void Start () {
animator = GetComponent<Animator>();
}
//Update は各フレームに 1 度ずつ呼び出されます
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
bool fire = Input.GetButtonDown("Fire1");
animator.SetFloat("Forward",v);
animator.SetFloat("Strafe",h);
animator.SetBool("Fire", fire);
}
void OnCollisionEnter(Collision col) {
if (col.gameObject.CompareTag("Enemy"))
{
animator.SetTrigger("Die");
}
}
}