Unity 애니메이션 파라미터
애니메이션 파라미터란?
애니메이션 파라미터는 애니메이터 컨트롤러에서 정의되는 변수로, 스크립트에서 접근 가능하며 값 할당이 가능합니다. 이러한 파라미터를 통해 애니메이션의 상태 머신을 제어하고 영향력을 미칠 수 있습니다.
파라미터 종류
애니메이션 파라미터는 기본적으로 네 가지 타입으로 나눌 수 있습니다:
| 타입 | 설명 |
|---|---|
| Integer | 범자연수 |
| Float | 소수점 숫자 |
| Bool | 참(True) 또는 거짓(False) 값 |
| Trigger | 전환이 되었을 때 초기화되는 boolean 값 |
각 타입의 사용 목적은 다음과 같습니다: - Integer: 정수 값을 필요로 할 때 - Float: 부동소수점 수치가 필요한 상황 - Bool: 단순한 TRUE/FALSE 상황 - Trigger: 특정 이벤트 발생을 제어
파라미터 값 설정
기본 파라미터 값은 애니메이터 창의 오른쪽 상단 구역에서 설정할 수 있습니다. 이후 스크립트를 통해 만들어진 애니메이션의 동작을 자유롭게 제어할 수 있습니다.
애니메이션 파라미터 수정 예제
다음은 사용자 입력에 따라 애니메이션 파라미터를 조정하는 간단한 C# 스크립트 예제입니다.
using UnityEngine;
using System.Collections;
public class SimplePlayer : MonoBehaviour {
Animator animator;
// 초기화 시 호출
void Start () {
animator = GetComponent<Animator>();
}
// 매 프레임 호출
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");
}
}
}
위의 스크립트는 플레이어의 움직임을 감지하고, 해당 값에 따라 Animator의 파라미터를 수정합니다. 사용자의 입력에 따라 애니메이션 상태를 동적으로 변화시킬 수 있습니다.
활용 및 응용 예제
- 스포츠 게임: 플레이어의 이동에 따라 애니메이션을 바꾸어 경기의 생동감을 더할 수 있습니다.
- 플랫포머 게임: 점프 시
Trigger를 사용하여 점프 애니메이션을 실행할 수 있습니다. - RPG 게임: 캐릭터의 상태에 따라 특정 기술을 사용할 때의 애니메이션을 제어할 수 있습니다.
이와 같이 애니메이션 파라미터를 잘 활용하면 게임의 몰입감과 재미를 향상시킬 수 있습니다. Unity의 애니메이션 시스템을 최대한 활용하여 매력적인 게임을 만들어 보세요!