[UNITY] 유니티로 2D 액션 게임 만들기 2 (플레이어 캐릭터 만들기 1)

2024. 9. 5. 16:45유니티 Unity/액션게임만들기

반응형

 

 

 

유니티로 2D 액션 게임 만들기

플레이어 캐릭터 만들기

 

이번에는 플레이어 캐릭터 만들기에 대한 글이다.

단순히 스프라이트 하나 만들고 스크립트를 붙여서 캐릭터를 움직이는 게 아니라, kenney 에서 받은 캐릭터 스프라이트를 활용할 수 있도록 에디트 기능(?) 비슷하게 만들어볼 예정이다.

 

Kenney 캐릭터 스프라이트를 보면...

 

캐릭터가 완성된 스프라이트가 있고,

나머지는 몸(얼굴 포함), 상의, 하의, 신발, 헤어(머리카락), 모자, 방패, 무기의 8가지로 구성된 스프라이트들이 있다.

 

이렇게 구성된 스프라이트들을 활용해서 다양한 캐릭터를 만들어보도록 하자.

 

플레이어 캐릭터 만들기

 

먼저 빈 게임오브젝트를 하나 생성하고 Player 라고 이름 짖자.

보통은 Player 게임오브젝트 아래에 2D Sprite 오브젝트를 하나 만들고 거기에 이미지 스프라이트를 넣고, 스크립트도 붙여서 캐릭터를 움직이고 할테지만, 앞서 언급한 것처럼 캐릭터를 꾸밀 수 있도록 할 것이기 때문에 아래와 같이 진행한다.

 

  • Player 게임오브젝트의 자식오브젝트로 2D Sprite 를 8개 만들어준다.
  • 각각 몸, 상의, 하의, 신발, 헤어, 모자, 방패, 무기 스프라이트를 할당할 것이다

 

플레이어 캐릭터를 꾸밀 수 있게 하기 위해서 Player 게임오브젝트의 부모로 PlayerEditor 라는 빈 게임오브젝트도 만들어두었다.

 

 

스프라이트 할당

Kenney 사이트에서 "Roguelike Characters" 파일을 다운로드 받자.

 

다운로드 받은 파일에서

"roguelikeChar_transparent.png" 파일을 유니티로 옮기고, Sprite Editor 를 통해 스프라이트를 잘라주자.

 

 

스프라이트는 앞서 언급했던 각 부위별로 여러가지가 준비되어 있다.

방금 자른 건 각각의 부위별로 구분해서 사용하기 위한 준비였다.

 

아까 Player 게임오브젝트 하위에 만들었던 2D Sprite 게임오브젝트 8개에 각 부위에 맞는 스프라이트를 할당해주자.

 

 

대충 이것저것 꽂아넣었더니 사진과 같은 모습이 되었다.

이것으로 캐릭터 만들기는 끝났다(?).

 

끝난 건 아니고, 일단 게임을 실행해보자.

 

 

게임을 실행하고 맵을 생성해보면 플레이어 캐릭터가 맵에 가려져 보이지 않는다.

 

이유는,

Player 게임오브젝트 하위의 2D Sprite 들의 Order In Layer 때문이다.

 

 

 

Apple 2023 맥북 프로 16 M3 - 노트북 | 쿠팡

현재 별점 4.8점, 리뷰 431개를 가진 Apple 2023 맥북 프로 16 M3! 지금 쿠팡에서 더 저렴하고 다양한 노트북 제품들을 확인해보세요.

www.coupang.com

 

 

 

Order In Layer

화면에 출력되는 2D Sprite 의 렌더링 우선 순위를 결정하는 단위.

 

유니티 홈페이지에서는 아래와 같이 설명하고 있다.

 

===========================================================================================

정렬 그룹

정렬 그룹은 스프라이트 렌더러의 렌더링 순서를 변경하는 컴포넌트입니다. 공통 루트를 공유하는 렌더러 그룹을 함께 정렬할 수 있게 해줍니다. Unity의 렌더러는 레이어에서의 순서나 카메라와의 거리와 같은 여러 조건으로 정렬됩니다.

===========================================================================================

 

이전 포스팅의 맵 만들기에서 Tile 게임오브젝트의 Order In Layer 를 1로 설정했었다.

 

그런데 방금 만든 Player 게임오브젝트 하위의 2D Sprite 들의 Order In Layer 는 모두 0 이었기 때문에, Tile 오브젝트의 Sprite 보다 렌더링 우선 순위가 낮아서 Tile 만 화면에 보이고 캐릭터는 보이지 않았던 것이다.

 

Body 의 Order In Layer 는 0
Tile 의 자식오브젝트의 Order In Layer 는 1

 

그래서, Player 게임오브젝트 하위의 2D Sprite 게임오브젝트 8개의 Sprite Renderer 컴포넌트에 있는 Order In Layer 를 2~9까지로 설정해주자.

(몸, 상의, 하의, 신발, 헤어, 모자, 방패, 무기 순)

 


 

 

이제는 플레이어 캐릭터가 맵 위로 정상 출력되는 것을 확인할 수 있다.

 

그리고 사진에서는 캐릭터가 크게 보이는데, 실제로는 매우 작다.

원본 Sprite의 사이즈 자체가 16x16 픽셀의 사이즈이기 때문인데, 이것을 Player 게임오브젝트의 Scale 을 xyz : 7 로 변경해줘서 크기를 키웠으니 참고하자.

 

 

이번 포스팅은 여기까지.

다음 포스팅에서는 이렇게 만든 캐릭터를 방향키를 이용해 움직이는 것을 해볼 것이다.

 

끝.

 

 

 

 

Apple 2023 맥북 프로 16 M3 - 노트북 | 쿠팡

현재 별점 4.8점, 리뷰 431개를 가진 Apple 2023 맥북 프로 16 M3! 지금 쿠팡에서 더 저렴하고 다양한 노트북 제품들을 확인해보세요.

www.coupang.com

* 쿠팡파트너스 활동을 통해 일정 수수료를 받을 수 있음

반응형