루트 모션 적용은 게임 오브젝트의 위치와 회전을 애니메이션이 제어하도록 허용한다
앞으로 움직이는 애니메이션이 있다고 가정해보자, 루트 모션을 체크하면 캐릭터가 앞으로 움직이면 게임오브젝트의 위치가 이전보다 앞쪽으로 변경되게 된다
루트 모션을 적용하지 않으면 제자리에서 걷는 애니메이션이 나오게 된다
종료 시점(Exit Time)을 활성화 하는 옵션이다
종료 시점이 존재하게 되어 전이의 조건을 만족해도 다음 상태로 전이하지 않게된다
전이 조건을 만족하는 즉시 전이가 실행된다
Run -> Jump 전이에서 Has Exit Time이 활성화되어 있고,
종료 시점이 0.5(50%)로 설정된 경우,
전이 조건을 만족해도 Run 애니메이션 클립이 최소 절반은 재생되어야 전이가 이루어진다
파라미터는 Animator 클래스의 SetFloat, SetInt, SetBool, SetTrigger 및 ResetTrigger 등의 함수를 사용하여 스크립트로 부터 값을 할당 받을 수 있다
애니메이션을 그룹 단위로 묶어서 정리하는 기능
Clamp란 ?
최소 / 최대값을 설정하여 float 값이 범위 이외의 값을 넘지 않도록 한다
애니메이션이 현재 어느 상태에 있든지 조건 만족시 해당 애니메이션으로 전환
collider가 설정된 오브젝트는 다른 오브젝트와 충돌 시 서로 관통하지 못한다
하지만 is trigger을 설정하면 서로 관통을 하면서 관통한 오브젝트의 정보도 얻을 수 있다
사용하고자 하는 모션을 지정하고 새로운 이벤트를 만들어 apply한다이곳에서 작성해서 호출이 가능한 함수는
해당 애니메이션을 재생하는 애니메이터 컴포넌트와 같은 오브젝트에 포함된 컴포넌트의 퍼블릭 함수만 가능하다예를들어 현재 공격은 플레이어가 사용하고 있고,
플레이어의 공격 애니메이션을 재생하는것은 Toko_Sum 오브젝트에 애니메이터 컴포넌트가 하고있다
여기서
공격함수에 애니메이션의 이벤트 함수를 등록하려면 Toko_Sum 오브젝트에 있는 컴포넌트여야한다OnAttackCollision 함수는 Toko_Sum 오브젝트의 컴포넌트로 등록되어있는 플레이어 애니메이터 클래스의 퍼블릭 함수이기 때문에 호출이 가능하다