Unity 애니메이션 이벤트 사용 가이드
이 문서는 Unity에서 애니메이션 이벤트를 사용하여 특정 지점에서 함수를 호출하는 방법에 대해 설명합니다. 이 방법은 이벤트가 발생하는 정확한 시점에 다양한 작업을 실행할 수 있게 도와줍니다.
애니메이션 이벤트란?
애니메이션 이벤트는 애니메이션 타임라인의 특정 지점에서 호출할 수 있는 함수를 설정하는 기능입니다. 이를 통해 게임 오브젝트에 첨부된 모든 스크립트에서 함수 호출을 쉽게 관리할 수 있습니다. 함수 호출 시 필요하다면 추가적인 파라미터도 전달할 수 있습니다.
지원하는 파라미터 타입
- float
- string
- int
- object 레퍼런스
- AnimationEvent 객체
AnimationEvent 객체는 플로트, 문자열, 정수 및 오브젝트 참조를 함수로 동시에 전달할 수 있는 정보를 제공합니다.
애니메이션 이벤트 추가 방법
- 이벤트 버튼 클릭: 클립에서 현재 재생 헤드 위치에 애니메이션 이벤트를 추가합니다.
- 이벤트 라인 더블 클릭: 애니메이션 중 원하는 시점에서 이벤트를 추가할 수 있습니다.
- 이벤트 조절: 이벤트를 추가한 후, 마우스를 드래그하여 위치를 조정할 수 있습니다.
- 이벤트 삭제: 삭제할 이벤트를 선택한 다음 Delete 키를 누르거나 오른쪽 클릭 후 Delete Event를 선택합니다.
애니메이션 이벤트 인스펙터 창
이벤트를 추가할 때, 인스펙터 창에서 함수의 이름과 전달할 파라미터를 설정할 수 있는 필드가 표시됩니다. 추가된 이벤트는 이벤트 라인에서 마커로 표시됩니다. 마커에 마우스를 올리면 함수 이름과 파라미터 값이 안내 툴팁으로 표시됩니다.
예제 코드
애니메이션 이벤트를 사용한 간단한 게임 오브젝트의 예제를 통해 배워보겠습니다. 이 예제에서는 큐브가 x축을 따라 애니메이션화되며, 1초마다 이벤트 메시지가 콘솔에 표시됩니다.
예제 스크립트
다음의 스크립트를 생성하고 Unity 프로젝트 폴더에 추가하세요.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public void PrintEvent(string s)
{
Debug.Log("PrintEvent: " + s + " called at: " + Time.time);
}
}
예제 단계
- 스크립트 파일 생성: 위의 코드를 복사하여 새 C# 스크립트 파일에 붙여넣기 한 후 저장합니다.
- 큐브 오브젝트 생성:
GameObject > 3D Object > Cube
로 큐브 생성. - 스크립트 할당: 프로젝트 창에서 큐브 오브젝트로 스크립트를 드래그하여 추가합니다.
- 애니메이션 창 열기:
Window > Animation > Animation
메뉴로 애니메이션 창을 엽니다. - x 위치 애니메이션 설정: x 위치의 애니메이션을 0.4로 1초 뒤에 0으로 설정하고 약 0.8초에 애니메이션 이벤트를 추가합니다.
- 애니메이션 실행: 플레이 버튼을 눌러 애니메이션을 실행합니다.
결론
위의 단계들을 따르면 큐브가 x축을 따라 앞으로 뒤로 애니메이션을 하면서, 콘솔에 이벤트 메시지를 출력하는 방법을 배우게 됩니다. 이 예제는 Unity에서 애니메이션 이벤트를 사용하는 기본적인 방법을 보여줍니다.
추가 참고 자료
- Unity 공식 홈페이지
- Unity 커뮤니티 포럼
- Unity 에셋 스토어
이 문서를 통해 Unity에서 애니메이션 이벤트를 보다 효과적으로 활용할 수 있기를 바랍니다. 다양한 애니메이션 및 기능을 추가하여 게임을 더욱 풍부하게 만들어 보세요!