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

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

by jyppro 2023. 5. 25.

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

저번에 이어서 <유니티 교과서> 라는 책에 등장하는 밤송이 게임을 만들어 보려고 합니다. 터레인을 사용하여 게임 맵을 제작했었는데, 터레인을 생성하고 높이맵을 만들고, 텍스쳐를 적용하는 것까지 했습니다. 다시 이어서 터레인 제작에 대해 설명하도록 하겠습니다.

 

Texture 여러개 적용

터레인에 첫 텍스쳐를 적용하면 터레인 전체를 덮게 되는데, 이후에 다른 텍스쳐를 추가로 만들어 사용할 수 있습니다. 산 봉우리 부분의 표현을 위해, GrassRockyAlbedo를 사용하여 바위산의 모습을 만들어 보겠습니다.

레이어-추가
레이어 추가

레이어를 추가 생성하면 이렇게 두개가 나란히 표시되고, 클릭하여 브러쉬로 사용할 수 있습니다. 

레이어-추가-적용
레이어 추가 적용

저는 기존에 만들어 두었던 터레인에 산 봉우리부분에 해당 텍스쳐를 적용시켜 주었습니다. 그리고 보시면 밑에 나무들도 그려져 있는데 이제 나무를 생성하는 방법에 대해 알려드리겠습니다.

 

Paint Trees

말 그대로 나무를 페인팅하는 것입니다. 터레인 툴에 존재하며, 클릭하면 레이어와 마찬가지로 사용할 나무를 Edit로 추가하고, 브러쉬로 생성해 주면 됩니다.

페인트-트리-인스펙터-창
Paint Tree 인스펙터 창

나무 오브젝트는 이전에 말했던 깃허브 링크에서 받을 수 있으며, SpeedTree라는 소프트웨어의 오브젝트를 사용합니다.

그렇게 터레인에 페인팅을 해주면 위 사진과 같이 맵을 꾸밀 수 있습니다.

 

이제 무대가 준비 되었으니 게임을 만들어 보겠습니다. 먼저 카메라의 위치를 조정하여 게임에서 보여줄 화면을 고정시킵니다. 저는 터레인을 원점기준으로 생성하였기 때문에, x,y,z 각각 0, 5, -10으로 만들어 주겠습니다. 바꿔주면 게임씬에서 이러한 화면으로 보이게 됩니다.

게임화면
게임화면

이제 이곳에 타겟 오브젝트를 설치해주겠습니다. 

타겟-생성
타겟 오브젝트 생성 및 배치

저희가 만들 게임은 밤송이를 타겟에 던져 맟추면 점수를 얻는 간단한 게임입니다. 그렇게 하려면 먼저 밤송이를 던질 수 있어야 합니다. 그렇다면 밤송이를 어떻게 던질까요?

 

충돌 처리

가장 먼저, 충돌의 기본이 되는 콜라이더와 리지드바디를 구성해야 합니다. 타겟에 박스 콜라이더를 적용시켜 알맞은 크기로 만들어 주고, 밤송이 오브젝트를 씬에 임의로 추가하여 리지드바디와 스피어 콜라이더를 적용시켜 줍니다. 그리고 해당 밤송이를 프리팹으로 만들어 줍니다.

 

이제 저희가 해야할 것은 밤송이를 던졌을 때, 마치 FPS 게임의 총을 장전하듯이 밤송이가 계속 생성되는 기능과, 내가 바라보는 시선 즉, 마우스 포인터의 방향으로 해당 오브젝트를 던질 수 있는 기능이 있어야 합니다. 

 

<NEXT>

오늘은 터레인에 여러가지의 텍스쳐를 적용하는 방법과 나무 오브젝트를 생성하여 맵을 꾸미고 게임을 만들기 위한 오브젝트 배치 및 설계까지 하였습니다. 다음엔 게임을 만들기 위한 본격적인 스크립팅 부분으로 넘어갈 것입니다. 감사합니다.