애니메이션 파라미터는 Animator 컨트롤러 내에 정의된 변수로, 스크립트에서 액세스하고 값을 할당할 수 있습니다. 이는 스크립트가 상태 머신 흐름을 제어하거나 영향을 줄 수 있는 방법입니다.
예를 들어, 파라미터의 값이 애니메이션 커브에 의해 업데이트되고, 스크립트에서 액세스할 수 있으므로 마치 애니메이션의 한 부분인 것처럼 음향 효과의 피치를 변화시킬 수 있습니다. 마찬가지로 스크립트는 메카님이 가져올 파라미터 값을 설정할 수 있습니다. 예를 들어 스크립트는 블렌드 트리를 제어하는 파라미터를 설정할 수 있습니다.
기본 파라미터 값은 Animator 창의 우측 상단에서 선택할 수 있는 Parameters 섹션에서 설정할 수 있습니다. 파라미터 값에는 다음 네 가지 기본 유형이 있습니다.
파라미터는 다음 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");
}
}
}