Version: Unity 6.0 (6000.0)
언어 : 한국어
애니메이션 상태
상태 머신 전환

애니메이션 파라미터

애니메이션 파라미터는 Animator 컨트롤러 내에 정의된 변수로, 스크립트에서 액세스하고 값을 할당할 수 있습니다. 이는 스크립트가 상태 머신 흐름을 제어하거나 영향을 줄 수 있는 방법입니다.

예를 들어, 파라미터의 값이 애니메이션 커브에 의해 업데이트되고, 스크립트에서 액세스할 수 있으므로 마치 애니메이션의 한 부분인 것처럼 음향 효과의 피치를 변화시킬 수 있습니다. 마찬가지로 스크립트는 메카님이 가져올 파라미터 값을 설정할 수 있습니다. 예를 들어 스크립트는 블렌드 트리를 제어하는 파라미터를 설정할 수 있습니다.

기본 파라미터 값은 Animator 창의 우측 상단에서 선택할 수 있는 Parameters 섹션에서 설정할 수 있습니다. 파라미터 값에는 다음 네 가지 기본 유형이 있습니다.

  • Integer - 범자연수
  • Float - 소수점 숫자
  • Bool - 참 또는 거짓 값(체크박스로 표시됨)
  • Trigger - 전환에 의해 사용될 때 컨트롤러에 의해 초기화되는 부울 파라미터(원형 버튼으로 표시됨)

파라미터는 다음 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");
        }
    }
}


애니메이션 상태
상태 머신 전환