Animation Import Settings 의 애니메이션 탭에서 애니메이션 이벤트를 임포트한 애니메이션 클립에 적용할 수 있습니다.
이러한 이벤트는 애니메이션에 맞춰서 특정 행위가 언제 발생할지 결정하는 추가 정보를 임포트한 클립에 추가할 수 있도록 합니다. 예를 들어, 애니메이션화된 캐릭터에 대해서 걷거나 뛰는 동작에 이벤트를 추가해서, 발자국 소리가 언제 재생될지 표시할 수 있습니다.
임포트된 애니메이션에 이벤트를 추가하려면, 우선 프로젝트 뷰에서 임포트된 애니메이션 파일을 선택하고, 인스펙터의 임포트 설정에서 애니메이션 버튼을 클릭합니다.
인스펙터의 맨 아래까지 스크롤하면 아래와 같이 네 개의 드롭다운 항목이 나오며, 여기에 이벤트 항목이 있습니다.
이벤트 항목을 확장하여 현재 임포트된 애니메이션 클립에 대한 이벤트 타임라인을 표시합니다.
재생 헤드를 타임라인의 다른 위치로 이동하려면, 미리보기 창에 있는 타임라인을 사용합니다.
재생 헤드를 이벤트를 추가하고자 하는 곳에 위치시킨 후 Add Event 를 클릭합니다. 새 이벤트가 생성되며, 이는 타임라인에서 하얀 작은 마커로 표시됩니다. Function 영역에 해당 시점에서 호출할 함수의 이름을 입력합니다.
해당 애니메이터에서 이 애니메이션을 사용하는 모든 게임 오브젝트에 해당하는 이벤트 이름과 이름이 같은 함수를 포함하는 스크립트가 있는지 확인합니다.
아래의 예제는 플레이어 게임 오브젝트의 스크립트에 존재하는 Footstep
함수를 호출하는 이벤트를 설정하는 방법을 보여줍니다. 이렇게 하면 AudioSource와 같이 사용되어 애니메이션과 동기화된 발자국 소리를 재생할 수 있습니다.
또한, 이벤트에 의해 호출된 함수로 보내는 파라미터를 특정할 수도 있습니다. 파라미터는 Float, Int, String, Object 의 네 가지 타입이 있습니다.
이들 영역 중 하나에 값을 입력하고, 함수에 해당 파라미터를 사용하도록 구현하면 이벤트에 특정된 값을 스크립트 안에 함수로 전달할 수 있습니다.
예를 들어 서로 다른 동작에 대해 발자국 소리의 크기를 정하기 위해 float 값을 전달할 수 있습니다. 걷는 구간에서는 조용한 발자국 소리 이벤트를, 달리는 구간에서는 큰 발자국 소리 이벤트를 설정할 수 있습니다. 또한 효과 프리팹의 레퍼런스 값을 넘겨 애니메이션의 특정 지점에서 다양한 효과를 스크립트에서 인스턴스화할 수 있습니다.