본문 바로가기
게임 프로그래밍/게임개발 중급

게임개발 중급(33) - 3D 밤송이 게임 만들기(1)

by jyppro 2023. 5. 24.

3D 밤송이 게임 만들기(1)

저번에는 유용하게 쓸 수 있는 무료에셋과 유료에셋, 에셋스토어를 활용법 그리고 라이더에 대해서 알아보았습니다. 오늘부터는 3D밤송이 예제게임을 만들어보겠습니다. 해당 게임은 <유니티 교과서> 라는 책에 등장하는 예제게임입니다.

 

해당 예제에서 사용되는 리소스들은 길벗 출판사의 깃허브에서 가져와 사용가능합니다. 링크는 따로 적지 않겠습니다.

 

사용될-리소스
사용될 리소스

두 개의 리소스를 사용해서 밤송이 게임을 만들어보겠습니다. 저희가 목표로 하는 것은 타겟에 밤송이를 클릭을 통해 던지고, 맞추면 점수가 오르고, 못 맞추면 오르지않는 간단한 시스템 입니다. 그러나 저희는 3D 환경에서 게임을 제작해야 합니다. 그러니 우선 게임을 진행할 게임환경부터 만들어 보겠습니다.

 

Terrain(터레인)

3D 환경에서 넓은 지형을 제작하는 데 사용되는 툴입니다. 아주 손쉽게 지형을 만들수가 있고, 다양한 형태로 조작할 수 있습니다. 월드 제작에 주로 사용됩니다.

터레인-생성
터레인 생성

터레인은 하이어라키에서 우클릭 -> 3D 오브젝트에 들어가시면 있습니다. 클릭해서 생성하면 위 사진과 같이 크고 평평한 지형이 생성됩니다. 저희는 이 터레인으로 간단한 환경만 구성할 것입니다.

 

터레인의 인스펙터 창을 보시면 터레인과 터레인 콜라이더가 있습니다. 그 중에서 터레인 컴포넌트를 살펴보면, 다섯가지의 버튼이 있습니다.

터레인-인스펙터-창
터레인 인스펙터 창

저 다섯가지의 버튼은 터레인을 조작하는 데에 사용됩니다. 순서대로 Create Neighbor Terrain, Paint Terrain, Paint Trees, Paint Details, Terrain Settings로 생성한 터레인과 붙어있는 양옆에 터레인을 생성하는 기능, 터레인에 색을 입히거나, 높이를 다루는 기능, 나무를 배치하는 기능, 디테일을 꾸미는 기능, 터레인의 설정 입니다.

 

Paint Terrain

 

페인트-터레인-기능
각종 기능들

Paint Terrain을 선택하면 위 사진처럼 생긴 창이 뜨는데, 콤보박스를 내려보면 또 다른 종류의 기능들이 존재합니다. 우선 저희는 맵의 모양새를 바꿔줄 것이기 때문에 Raise or Lower Terrain 옵션을 사용해 맵의 높이를 조절해 주겠습니다.

 

해당 옵션을 클릭 후, 씬에서 사용할 브러쉬 모양과 크기, 강도를 조정하여 사용할 수 있습니다. 이제 설정된 브러쉬로 씬에 만든 터레인에 사용하면 높이맵이 만들어집니다.

높이맵-생성
높이맵 생성

이런식으로 자유자재로 지형을 변형시킬 수 있습니다. 하지만 맵의 색깔이 자연의 색이라고는 찾아볼 수 없습니다. 그래서 저희는 위에 옵션 중에 Paint Texture를 사용하여 색상, 정확히는 텍스쳐를 입혀줄 것입니다.

 

Paint Texture

Paint Texture를 누르면, Terrain Layers와 그 밑에 Edit Terrain Layers가 뜹니다.

터레인-레이어
터레인-레이어

저희는 처음 만드는 것이기 때문에 만들어둔 레이어가 없습니다. 그러니 Edit Terrain Layers 버튼을 클릭하여 Create Layer를 해줍니다. 이때, 터레인 레이어를 생성하려면 2D 텍스쳐가 필요한데, 이 또한 길벗출판사 깃허브에 유니티 교과서를 찾아보시면 사용할 수 있습니다. 혹은 에셋스토어에서 무료 텍스쳐를 다운받아서 사용할 수도 있습니다.

 

저는 GressHillAlbedo를 선택하여 텍스쳐를 만들어주고 적용시키겠습니다. 

텍스쳐-적용
텍스처 선택 및 적용

이렇게 텍스처를 만들면 Terrain Layer에 순서대로 만들어지게 되는데, 레이어에 첫번째로 생성되는 텍스쳐는 터레인의 전체색상으로 적용됩니다.

터레인에-자동으로-적용된-모습
터레인에 자동으로 적용된 모습

 

<NEXT>

이번에는 3D 예제게임으로 <유니티 교과서> 라는 책에 등장하는 밤송이 게임을 만들어 보려고 합니다. 그 과정 중 첫번째로 터레인을 사용하여 게임 맵을 제작하는 과정을 다뤘습니다. 한번에 다루기에는 양이 많아 여기서 끊고, 다음에 다시 이어서 터레인 제작에 대해 설명하겠습니다. 감사합니다.