01 플레이어 오브젝트와 이미지 분할
우선 플레이어 오브젝트를 생성하고 사용할 이미지를 넣어준 후, Sprite 모드를 Multiple로 변경한다.
이후 Sprite Editor View에서 Slice를 해주는데 이때, 타입은 Grid By Cell Count로 설정한 후 Column을 3으로 변경하고 Slice 버튼을 누르면 아래와 같이 3개로 분할된 것을 확인할 수 있다.
그럼 아래와 같이 이미지가 3장으로 나뉜 것을 확인할 수 있다.
3개의 이미지 중 Player_Idle_0을 플레이어 오브젝트의 모습으로 보일 수 있도록 넣어준다.
02 애니메이션 재생 설정
먼저 플레이어 오브젝트에 Animator 컴포넌트를 추가한다. 이후, 프로젝트 뷰에서 애니메이터 컨트롤러를 추가할 수 있다.
이후 Player 오브젝트에 Animator 컴포넌트 부분의 Controller 변수에 애니메이터 컨트롤러를 추가할 수 있는 부분이 있다.
그럼 아래 이미지와 같이 추가되는 것을 볼 수 있다.
03 대기 애니메이션 등록
프로젝트 뷰에서 애니메이션 오브젝트를 하나 생성한 후, 애니메이션 오브젝트를 추가해주었다.
이후 에니메이터 컨트롤러에 대한 수정 작업은 Animator 뷰에서 할 수 있다. 이때, Animator View, Animation View의 내용을 수정할 때는 Project View에 있는 Animator Controller, Animation 에셋을 선택하는 것이 아니라 그 에셋들이 등록되어 있는 게임 오브젝트, 프리팹을 선택해야 한다.
기존에 기본적으로 생성되어 있는 노드들에 대한 배치를 해주고, 이후에 만든 PlayerIdle이라고 하는 에니메이션을 등록한다.
다음으로 애니메이션 뷰에서 편집을 진행해주어야 하는데, 앞서 애니메이터 뷰와 동일하게 애니메이션이 오브젝트에 포함이 되어있을 때 오브젝트를 선택하면 편집이 가능하게 된다.
플레이어가 날개짓하는 애니메이션이 재생될 수 있도록 Player_Idle의 0, 1, 2, 1, 0 순으로 아래와 같이 애니메이션을 삽입해주었다.
이대로 게임을 실행하면 속도가 굉장히 빠르기 때문에 Samples의 값을 설정해주어야 한다.
📂 Samples : 2D 애니메이션의 프레임 재생 속도
→ 값이 낮을수록 재생이 느리게 된다.
→ Show Sample Rate를 체크해야 보이는 옵션
아래와 같이 Samples의 값을 6으로 설정한 후 게임을 실행하니 확실히 전보다는 느려진 애니메이션 재생 속도를 볼 수 있었다.
04 사망 애니메이션 등록
Player_Die 이미지 에셋에서 Sprite 모드를 Multiple로 바꿔서 저장하고 Sprite Editor에서 타입을 Automatic으로 바꾸고 슬라이스 버튼을 클릭하면 아래와 같이 분할된 것을 확인할 수 있다.
그렇다면 아래와 같이, 분할된 것을 확인할 수 있다.
이후, PlayerDie 애니메이션 asset을 하나 생성하고 Animator 뷰로 가서 PlayerDie 즉, 사망 애니메이션을 추가할 수 있다.
그렇다면 이제 사망 애니메이션의 애니메이션 설정을 해주어야 한다. 따라서 Player 오브젝트를 선택하고 기존에 진행한 PlyerIdle이 아닌 PlayerDie를 선택해야 한다.
이후, Samples는 마찬가지로 6이라고 작성하고 애니메이션을 위한 각각의 이미지를 넣을 수 있다.
▶ 현재 상태로 게임을 실행할 경우, 기본 애니메이션이 Idle이기 때문에 사망 애니메이션을 재생할 수 없다. 따라서 이를 확인해보고자 애니메이터 뷰에서 마우스 오른쪽 클릭을 하여 'Set as Layer Default State'를 누르면 엔트리에서 이어지는 상태가 Die로 변경되는 것을 확인할 수 있다.
▶ 이와 같이 수정했을 경우 사망 애니메이션이 잘 적용되어 바로 게임을 실행하자마자 사망 애니메이션이 실행되는 것을 볼 수 있었다.
05 상태전이를 이용한 애니메이션 전환
우선, Make Transaction을 마우스 우클릭을 통해 설정한 후, 이는 애니메이션이 전환될 수 있는 길을 열어주는 역할을 한다고 볼 수 있다.
추가적으로, 반대의 경우에도 애니메이션이 전환될 수 있도록 트랜젝션을 이어줄 수 있다. ▶ 이렇게 설정된 게임을 실행할 경우, Idle 애니메이션을 한번 재생한 후, Die 애니메이션이 재생되는 것을 확인할 수 있다.
'Study > Unity' 카테고리의 다른 글
[Unity 2D Basic] 2D Tilemap - Extras (0) | 2024.05.08 |
---|---|
[Unity 2D Basic] 2D Tilemap Editor (0) | 2024.05.08 |
[Unity 2D Basic] 2D Sprite / Animation (0) | 2024.05.01 |
[Unity 2D Basic] 플랫폼 게임에서의 플레이어 이동, 점프 구현 (0) | 2024.05.01 |
[Unity 2D Basic] 게임오브젝트 삭제 함수 (0) | 2024.04.16 |