アニメーションパラメーターは Animator Controller (アニメーターコントローラー) 内で定義され、スクリプトからアクセスしたり値を割り当てることができる変数です。スクリプトをどのように制御するか、もしくはどのようにステートマシンの一連の流れに作用するかを定義します。
例えば、パラメーターの値は アニメーションカーブ によって更新され、その後でスクリプトからアクセスできます。例えば、サウンドエフェクトのピッチを、アニメーションの一片のように、変更することができます。同様に、スクリプトは Mecanim によってピックアップされるパラメーターの値も設定することができます。例えば、スクリプトは ブレンドツリー を制御するパラメーターを設定することができます。
デフォルトのパラメーター値は、Animator ウィンドウの Parameters セクションの、右上にある + ボタンを使って設定を行うことができます。基本的には 4 つの型のパラメーターがあります。
パラメーターは Animator クラスの次の関数を使用してスクリプトから値を割り当てることができます。SetFloat、SetInteger、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");
}
}
}