アニメーションパラメーターは Animator Controller 内で定義され、スクリプトからアクセスしたり値を割り当てることができる変数です。スクリプトをどのように制御するか、もしくはどのようにステートマシンの一連の流れに作用するかを定義します。
例えば、パラメーターの値は アニメーションカーブ と、サウンドエフェクトのピッチを変更するためにスクリプトからアクセスすることができます。同様に、スクリプトは Mecanim によってピックアップされるパラメーターの値も設定することができます。スクリプトは ブレンドツリー を制御するパラメーターを設定することができます。
デフォルトのパラメーター値は、アニメーターウィンドウのパラメーター項目の右上にある + ボタンを使って設定を行うことができます。基本的には 4 つのパラメーターがあります。
パラメーターはアニメータークラスの関数を使用してスクリプトから値を割り当てることができます。 SetFloat、SetInt、SetBool、SetTrigger、ResetTrigger
以下は、ユーザー入力に基づいてパラメーターを変更するスクリプトの例です。
using UnityEngine;
using System.Collections;
public class SimplePlayer : MonoBehaviour {
Animator animator;
// Use this for initialization
void Start () {
animator = GetComponent<Animator>();
}
// Update is called once per frame
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");
}
}
}