본문 바로가기

언리얼 엔진(Unreal Engine)/언리얼 꼼지락(작성 중지)

[언리얼 엔진] 그레이박싱

언리얼 엔진 4의 이용법을 숙지하기 위해, 언리얼 엔진 4 책을 꺼내들었다. 이 책에서는 '페이퍼 닌자'라는 예제 게임을 가지고, 실제 게임 개발 단계를 거쳐가며 작업을 진행해 나간다고 밝혔다. 다만, 이해를 돕기 위해 실제 제작 과정과는 조금 다른 순서라고 한다. 

 

그레이박싱

맵을 만들 때 ○나 □같은 기본적인 형태와 테스트 애셋으로만 만들어 빠른 속도로 맵을 만들어보는 공정을 그레이박싱이라고 하고, 이렇게 만들어진 맵을 그레이 박스라고 한다. 애셋(asset)은 게임에서 사용할 그림, 음악 등의 재료를 말한다. 페이퍼 닌자라는 예제 게임의 스테이지 1은 이 그레이박싱을 진행해서 완성시켜보는 단계를 거쳐볼 것이다.

 

우선 프로젝트를 만들고 언리얼 엔진을 실행시켜보자. 콘텐츠 폴더에서 Maps 폴더를 추가해주라고 한다. 그런 다음, 공백 레벨을 하나 생성해주고, Maps 폴더에 넣어주자.

공백 상태의 레벨을 만들었다.

현재 라이트가 하나도 없는 상태라 아무것도 보이지 않는다. 라이팅포함을 눌러서 라이팅없음으로 전환해준 다음 작업을 진행했다. 액터 배치 패널에서 지오메트리 - 박스를 선택해 뷰포트에 드래그&드롭을 하면 맵에 배치할 수 있다. 이 박스를 클릭한 상태로 오른쪽의 디테일 패널로 간다. 브러시 세팅 카테고리에서 X 1000, Y 1000, Z 20으로 설정하자. 위치는 월드의 원점(X 0, Y 0, Z 0)으로 옮기자.

처음 생성된 박스보다 얇아지고 더 넓어졌다.

이제 최소한의 시야를 확보시켜줄 광원(라이트)를 설치해줘야 한다. 액터 배치 패널의 라이트 카테고리에서 디렉셔널 라이트를 맵 위에 끌어 옮기자. 디렉셔널 라이트는 위치와는 상관없이 정해진 방향으로 맵 전체를 밝혀준다. 그래서 하나만 배치해도 맵 전체의 시야를 확보할 수 있다. 자세한 것은 이후에 다룬다.

라이트를 배치하니 맵이 밝아졌다.

플레이어 스타트라는 액터를 맵에다 배치시키자. 플레이어 캐릭터를 생성할 지점이 된다. 이후, 계속해서 박스를 추가시켜서 아래와 같은 모양을 만들었다.

지금 단계에서의 목표는 플레이어가 걸어서 저 구조물 위로 올라가는 것이다.

지금까지 박스를 배치할 때 사용한 브러시를 추가 브러시라고 한다. 당연히 공간을 깎아줄 브러시인 빼기 브러시도 존재한다. 빼기 브러시를 이용해서 터널을 뚫어서 반대편으로 갈 수 있게 해주자.

더하기 브러시와 빼기 브러시가 합치면 빼기 부분이 잘린다.

그러나, 빼기 브러시 사용에는 주의를 기울여야 한다. 복잡한 지형을 만들 때 빼기 브러시를 잘못 사용하게 된다면 보이지 않는 벽이 생성되는 버그가 일어나는 경우가 발생할 수 있다. 한 가지 더, 빼기 브러시는 항상 더하기 브러시보다도 먼저 배치되어야 효과가 적용된다. 그리고 브러쉬의 입체성을 설정할 수 있는데, 기본 설정은 입체이다.

반입체는 빼기 브러시의 영향을 받지 않게 된다. 그래서 기둥이나 장애물을 설치할 때 편리한 방법이다.

비입체는 빼기 브러시의 영향을 받지 않는 것과 동일하지만, 콜리전 판정에도 반응하지 않는다. 통과할 수 있는 벽이라고 생각하면 된다.

이곳에서 변경할 수 있다.

이제 플레이어가 터널을 통과한 후, 올라갈 경사로를 만들어줘야 한다. 툴바 패널에서 브러시 편집을 눌러주자. 이후, 경사로를 만들 면을 클릭해서 돌출을 누른 뒤 잡아당겨주자.

돌출은 항상 면에서만 가능하다.

이제 경사로를 만들어야한다. 간단히 현재 선택되어 있는 윗변을 선택해 아래로 내려줘보자.

경사로가 완성되었다!
스테이지 1으로 쓸 맵의 그레이 박스가 완성되었다.

다음 시간에는 사용자 정의 애셋을 임포트한 뒤, 애셋을 간단히 만져볼 것이다.