애니메이션 종료 후 이벤트 발생 시키는 방법
아래와 같이 애니메이션이 끝나는 부분에 마우스 우클릭 > Add Animation Event 하여 이벤트를 추가한다.
애니메이션 종료 후 발생할 이벤트 관련 함수가 포함된 handler 작성
Animator가 있는 GameObject에 작성한 Handler를 할당한다.
(알아보기 쉽게 Handler라고 이름을 정한 것이고 마음대로 적어도 상관없다.)
아래의 사진은 제대로 컴포넌트를 할당했을 때의 모습.
1번에서 만든 애니메이션 이벤트를 클릭 후 Inspector 창의 Function 항목에 발생시킬 함수를 할당
제대로 Animator가 들어있는 오브젝트에 Handler를 할당했으면 알아서 스크립트를 감지하여 함수들을 보여줄 것이다.
이벤트에 사용하고 싶은 모든 함수들은 Public 형태로 되어있어야 한다.
①번의 빨간색 동그라미를 자세히 보면은 위 아래로 IDLE 막대와 Mining 0 막대가 겹쳐있고 파란색이 빈 곳 없이비스듬하게 내려오는 것을 볼 수 있다.
②번의 빨간색 동그라미를 자세히 보면은 ①번과 다른 부분이 존재한다. 파란색이 IDLE의 모든 부분에 겹쳐있지 않고 Mining으로 향한 것을 볼 수 있다.
이런 경우에 위의 사진처럼 애니메이션 간에 매끄러운 진행을 위해 IDLE 애니메이션을 95%만 진행하고 Mining의 20% 지점부터 시작한다는 소리이다.
그렇기에 IDLE의 마지막 5%는 없는 거와 마찬가지이기에 애니메이션의 마지막 지점인 60프레임에 생성한 이벤트는 발생하지 않는다.
애니메이션의 처음과 끝을 버리지 않고 모두 사용하고 싶다면 아래의 사진 처럼 수치와 막대를 조정해서 변경해주거나
Transition을 이은 상태에서 아무것도 건드리지 않고 아래의 사진 처럼 Has Exit Time만 끄는 방법이 있다.