본문 바로가기

유니티/뱀서라이크

뱀서라이크 따라하기 - 3강 셀 애니메이션 제작 3번째

저번 글에 이어서, 이번에는 파라미터가 자동으로 변하게 하여 애니메이션이 변하게 만들어 보겠습니다

 

    Animator anim;

Player 클래스 안에 Animator 변수 하나를 선언해줍니다

그리고 Awake 안에서 변수를 초기화 해줍니다

    void Awake()
    {
        rigid = GetComponent<Rigidbody2D>();
        spriter = GetComponent<SpriteRenderer>();
        anim = GetComponent<Animator>();
    }

그 뒤 아래쪽 LateUpdate 쪽에 코드를 추가해줍니다

    void LateUpdate(){
        anim.SetFloat("Speed",inputVec.magnitude);
        if (inputVec.x != 0){
            spriter.flipX = inputVec.x < 0;
        }  
    }
}

magnitude의 경우 크기만 주는것이기 때문에, speed는 크기만 나타나게 됩니다

이런식으로 캐릭터의 이동을 완성했습니다!

이제 이 캐릭터의 다른 모습들의 애니메이션도 같이 사용할 수 있도록 animation overwriter를 사용해보도록 하겠습니다

다른 캐릭터의 run, dead, stand를 복사하여 오브젝트에 드래그하여 애니메이션을 만들어줍니다.

그 뒤 애니메이터 창에 들어가, 추가된 애니메이션들을 지워 아래와 같은 상태로 만들어 줍니다

그런 뒤, 애니메이션이 있는 폴더에 animator override controller를 만들어 줍니다. 

각 override부분에 넣고싶은 애니메이션을 넣어주면 다른 캐릭터로도 같은 동작을 수행할 수 있도록 만들 수 있습니다!

이런식으로 다른 4마리의 캐릭터들도 오버라이드를 이용해서 만들어 주시면 됩니다. 

 

이번 글에서는 , 애니메이션 적용을 하는 법에 대해서 알아보았습니다. 이런식으로 애니메이션을 하나만 만들어 놓으면 그 애니메이션을 다양한 곳에 적용할 수 있는 점을 알 수 있어서 유익했던 시간이였습니다. 그 다음 글에서는 맵을 무한으로 움직일 수 있게 만들어 보도록 하겠습니다!

 

이 글은 아래의 글을 따라하는 과정을 기록하기 위한 글 입니다. 위 글에서 빠진거같거나 궁금한 점이 있다면 아래의 영상을 참고해주시면 감사하겠습니다!

https://www.youtube.com/watch?v=vizfd1TeRMI&list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x&index=5&ab_channel=%EA%B3%A8%EB%93%9C%EB%A9%94%ED%83%88 

7월 23일