게임 개발 중 Unity 공부도 진행하고 항상 뱀파이어 서바이버 류 의 로그라이크 게임을 한 번 개발해보고 싶어서 강의 영상을 찾던 중 "골드 메탈" 채널의 유니티 뱀서라이크 개발 강의 영상을 접하게되었다. 위 강의 영상을 토대로 로그라이크 게임을 개발하기 시작했다.
단순히 영상을 따라서 제작하면 튜토리얼의 지옥에 스스로 빠지는 것과 다름 없기에 마침 개발 블로그도 있겠다 블로그에 원리를 하나하나 적으며 따라가면서 정확히 이해하고 제작하는 것에 목적을 두었다. 따라서 영상을 보고 원리를 이해하고 제작하고 블로그에 원리나 그렇게 설정하는 이유를 작성하는 방식으로 개발을 진행해나갈 예정이다.
2D(URP)로 프로젝트 생성후 gitHub 연동까지 모두 완료한 상태에서 개발을 시작했다.
골드 메탈 스튜디오에서 게임 제작에 필요한 에셋 패키지를 제공하고 있어 해당 패키지를 다운받아 import 시켜주었다.
스프라이트에 아틀라스에 자세한 내용 이 문서를 참고하자
위와 같이 픽셀아트로 그려진 스프라이트를 사용하기 위해선 사전 설정이 몇가지 필요하고 해당 사전 설정은 Inspector 창에서 할 수 있다.
자세한 픽셀 아트 설정은 이 문서를 참고한다.
Sprite Editor로 해당 파일을 열어 Multiple Mode 스프라이트를 슬라이싱 해줄 수 있다. 위의 Slice 메뉴를 열어 다음과 같이 x = 18, y = 20, padding x = 1, padding y = 1로 설정해준다. 이 뜻은 캐릭터의 사이즈가 18*20 이라는 뜻이고 각 스프라이트 별 사이에 1픽셀의 여유공간이 존재한다를 명시해주는 것이다. 설정이 끝나면 slice를 눌러 슬라이싱을 진행한다.
추가적으로 슬라이싱 된 스프라이트마다 오른쪽 아래의 Sprite 창을 통해 이름을 지정해줄 수 있다.
오른쪽 위의 RGB 버튼을 눌러 슬라이싱이 잘 됐는지를 확인할 수 있다.
Proejct 창의 스프라이트 옆의 화살표를 눌렀을때 완료된 결과를 확인할 수 있다.
아까 슬라이싱한 Stand 0을 Scene에 끌어와 오브젝트를 생성하고 이름을 Player, 위치 Positon을 0,0으로 설정한다.
3D 아이콘이 Player 오브젝트를 가릴 텐데 Scene창의 기즈모 버튼에서 조절 가능하다.
유니티는 컴포넌트 기반의 엔진으로 게임 오브젝트는 역할에 맞는 컴포넌트로 구성해줘야 한다. (레고를 조립하듯이 컴포넌트를 추가할 수 있다.)
Player 오브젝트에 아래와 같은 컴포넌트를 추가한다.
이름 | 설명 | 설정 |
---|---|---|
RigidBody 2D | 물리(중력, 속도) 영향을 받는 컴포넌트 | Gravity Scale을 0으로 조정 |
Capsule Collider 2D | 물리적인 충돌 면(캡슐 모양)을 결정하는 컴포넌트로 추후 피격 판정에 이용됨 | Size를 (x , y) = (0.6 , 0.9)로 조정 |
Rigidbody 2D 를 추가하면 중력의 영향을 받아서 오브젝트가 아래로 떨어지는데 Rigidbody 2D의 Gravity Scale을 0으로 바꾸면 된다.
- 실제 프로젝트의 중력은 Edit > Project Settings > Physics 2D 에 가보면 Gravity를 확인할 수 있다.
Props의 Shadow 스프라이트를 Player에 끌어다가 자식 오브 젝트로 추가해준다. 위치를 y = -0.45로 절정한다.
이 후에 Player 오브젝트의 Order in Layer 를 5로 설정한다.
Order in Layer : 우선적으로 그리는 순서
배경색은 Main Camera의 background의 색을 통해 설정할 수 있다.