-
애니메이션 간단 비교Unity 2023. 3. 28. 17:23
애니메이션을 구현하는 방법은 2가지로 나뉜다.
레거시 애니메이션 (Legacy Animation)
애니메이터 컴포넌트가 아닌 애니메이션 컴포넌트로 구현한다.
조금 오래된 애니메이션 구현 방법이지만 할 줄 아는 게 당연히 좋다.
보통 스크립트에서 애니메이션을 지시한다.
구현할 애니메이션의 인스펙터 우클릭 → Debug 클릭 → Lecacy 체크 → 다시 Normal 로 변경
이렇게 애니메이션을 레거시로 속성을 변경시킬 수 있는데,
이럴 경우에는 메카님 애니메이션 방법으로는 구현할 수 없다.
(뭐 어거지로 넣으면 되긴 된다고는 하지만 검증되지 않은 방법이긴 함)
스크립트에서 간단하게 실행하는 함수가 있다.
void Start() { anim = torchLight.GetComponent<Animation>(); anim.Play("TorchLight01"); }
이렇게 애니메이션 컴포넌트를 받아서 실행할 애니메이션 이름을 string 형식으로 넣고
Play 메서드를 사용하면 된다.
메카님 애니메이션 (Mecanim Animation)
보통 대부분 애니메이션을 구현할 때 많이 쓰는 방법이다.
왜냐하면 제일 최신의 기능을 가지고 있기 때문에
레거시가 구현해내는 것들을 메카님도 다 구현할 수 있기 때문이다. (구현 범위가 넓다.)
매카님은 애니메이터 컴포넌트를 사용한다.
그리고 애니메이터 컨트롤러에서 직접 트레지션을 생성하여 구현한다.
애니메이터 컨트롤러 애니메이터 컨트롤러의 상태를 잠깐 살펴보자면..
New State
애니메이션의 상태를 나타낸다. (애니메이션 자체가 아니다! 헷갈림 주의)
빈 창에 마우스 우클릭 → Create State → Empty 클릭 하여 새 스테이트를 생성할 수 있다.
새로 생긴 스테이트의 인스펙터 창 Motion에 애니메이션을 드래그해서 넣으면 되는데
이때 레거시 속성의 애니메이션은 넣을 수 없다!
(그냥 바로 애니메이션을 빈 창에 드래그해서 가져다 놔도 state가 생성된다.)
Entry
플레이 할 때 디폴트값이 되는 애니메이션을 지정한다.
Entry 우클릭 → Set StateMachine Default State 클릭 하면 화살표가 나오는데
이 때 디폴트로 지정할 스테이트를 클릭하면 주황색으로 활성화가 된다.
주황색으로 지정된 스테이트가 첫 플레이 할 때 디폴트로 나오는 애니메이션이 된다.
Transition
애니메이션 상태 간의 전환이 이루어지는 것을 나타낸다.
애니메이션 상태 변환은 좌측에 있는 Parameters 파라미터를 통해서 변경해줄 수 있다.
레거시에서 스크립트를 작성한 것 처럼 메카님은 파라미터 이름과 값을 세팅하여 애니메이션을 지시한다.
'Unity' 카테고리의 다른 글
Physics.Raycast 함수 (0) 2023.03.28 Collision 과 Trigger 의 간단 설명 (1) 2023.03.25 마우스 커서(Cursor) 숨기기 (0) 2023.03.24 InvokeRepeating 함수 (0) 2023.03.24 Mathf.Sqrt( ) 함수 (0) 2023.03.23