ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 애니메이션 간단 비교
    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
Designed by Tistory.