레벨 디자인 (0)편: 개요와 인터페이스

레벨 디자인 (1)편: 방 생성 기초 1/2

레벨 디자인 (2)편: 방 생성 기초 2/2

레벨 디자인 (3)편: 잡동사니 꾸미기Cluttering


이 강의는 크리에이션 킷 위키의 "베데스다 공식 레벨 디자인 가이드 2편"의 내용을 상당 부분 참고하였다. 


(1)편 강의에서는 snap 기능을 사용하여, 각맞춤을 철저하게 해가면서 방을 만들었다.

그런 식의 방 구조는 성이나 유적, 마을같이 인위적인 건축물에는 어울리지만, 동굴같이 자연적으로 생성된 공간에는 적합하지 않다

오늘은 (녹색)동굴 조립세트CaveG Kits를 이용하여, 특히 snap 기능을 사용하지 않고 좀 더 유기적이고 자유로운 형태로 방을 만들어 보도록 하자.

=


1-1. 동굴 조립세트CaveG kits로 뼈대 제작하기


동굴 조립세트도 기본적으로 노드 유적 조립세트처럼 작동된다. 그 말은 동굴 조립세트도 맞추기 규칙snapping rules을 따르는 여러 하위 조립세트로 구성되어 있다는 것이다. 그러나 동굴 조립세트는 (스카이림 인게임에서도 볼 수 있듯이) 직각으로 딱딱 맞아 떨어지기보다는, 보다 유기적이고 자유로운 구조를 만들 수 있도록 설계되어 있다.


이번 연습에서는 지난 시간에 작업했던 로키어의 무덤(Lokirstomb)의 마지막 방을 동굴로 교체할 것이다. 아래 그림을 보고 해당 영역을 삭제하자.

이제 삭제한 방을 CaveG 부품을 사용하여 단순한 "뼈대(Shell)" 방으로 대체 할 것이다. 동굴 작업을 할 때는 안쪽부터 지어주는 것이 좋다. 우리의 뼈대 방은 4x4 크기의 커다란 방이 될 것이다. 다음 그림 3처럼 부품을 찾아서 렌더 창으로 드래그하라.

  • CaveGLRoomCorner01
  • CaveGLRoomCorner02
  • CaveGLRoomCorner03
  • CaveGLRoomCorner04
  • CaveGLRoomWall01 (x2)
  • CaveGLRoomWall02 (x2)
  • CaveGLRoomWall03 (x2)
  • CaveGLRoomWall04 (x2)
  • CaveGLRoomMid01 (x4)

이제 그림 4처럼 부품들을 배열하자. (힌트 : 이음매 없이 정확하게 끼우려면 한 면에 한 종류씩 벽 조각이 있어야 한다. 가운데에서 시작해, 벽을 추가하고, 작업을 진행하면서 제대로 일치하는지 확인하는 것이 더 쉽다.) 

이 방은 이번 연습의 결과물을 만드는데 시발점이 되는 방이다. 나중에 플레이어가 방 안팎으로 들어올 수 있도록 부품 몇개를 삭제할 것이지만, 지금 당장은 방의 대략적인 모양을 잡는 데에만 집중하자.


1-2. 연결(transition)


여러 조립세트로 작업할 때 하나의 키트에서 다음 키트로 연결(transition)하는 작업을 해주어야 한다. 이런 연결 작업을 위해 (NorHallBg1wayToCaveG01과 같은) 특별한 부품이 준비되어 있다.

연결 작업 연습을 위해 대형 노드 홀(Large Nordic Hall)을 다른 부품으로 확장해보도록 하자. NorHallBG1way01의 사본을 만들고 (기존 부품을 선택한 뒤 Ctrl + D를 눌러라) 해당 홀의 끝에 이 사본을 붙인다.

홀 연결 작업을 하려면 다음과 같은 CaveG 조각이 필요하다.

  • CaveGLWallDoorL01
  • CaveGLWallDoorLB01
  • CaveGLHall1Way01

이 부품들을 그림 5와 같이 조립하라. 격자 맞추기 기능이 켜져 있는지 확인하고 작업하라. 나중에 해당 기능을 끄겠지만, 지금 당장은 켜 놓을 필요가 있다.

연결 영역을 만들었으면 격자 맞추기 기능을 꺼라. 세 부품을 모두 선택하고(마우스 드래그로 하면 편하다) 대형 노드 홀의 끝자락과 겹치게 살포시 덮어라. 잘 어울린다 싶을 때까지 위치를 조정하라. 그림 6의 예시처럼 하면 된다. 너무 세세할 정도로 지나치게 빈틈이 보이지 않을 없다. 틈은 어차피 나중에 다른 부품으로 감춰놓을 것이다.


2-1. 격자에 맞추기snap to grid 기능을 끄고 작업하기


유기적인 공간을 더 많이 만들기 위해서는 "격자에서 벗어나" 작업하는 것에 익숙해져야 한다. 그러면 훨씬 더 자연스러운 느낌의 동굴을 만들 수 있다.

이전 튜토리얼에서 연습한 노드 유적은 "격자에 맞춰" 작업한 것이다. 지금 동굴 방을 만드는 연습에서는 "격자에 맞춰" 작업하는 것에서 벗어나 작업할 것이다. 지금 당장 해볼 작업 과정은 아래와 같다

  1. 먼저 2개의 스냅 기능 - 격자에 맞추기snap to grid 기능과 각도에 맞추기snap to angle 기능을 끄자.
  2. 그림 7과 같이 방금 만든 뼈대의 부품을 모두 선택하고 약 45도 각도로 회전시킨다.
  3. 대형 노드 홀 복도에 가장 가까운 큰 방의 모퉁이를 삭제한다.
  4. 다시 나머지 방을 선택하고 방의 벽이 일부 동굴 연결 부품들과 교차할 때까지 움직여라. (그림 7 참조)
  5. 앞으로 동굴 뼈대를 어느 정도 아래로 이동시킬 것이므로, 플레이어는 바닥보다 높은 방에 들어가게 만들어야 한다. 이 작업은 정확하게 해야 하는 작업이 아니다. 연결한 결과물이 그림 7과 비슷해질 때까지 Z 축을 따라 방을 끌어다 두기만 하면 된다.

snap 기능을 끄고 눈대중으로 개별 kits 부품들의 각을 맞추려고 하면, 각이 서로 조금씩 어긋나게 되어 그림 8과 같이 통칭 "거미줄화(spiderwebs)"라 불리는 작은 이음새가 생길 수 있다. 이것들은 밑에서 다룰 "참조물에 맞추기(snap-to-reference)"라는 기능으로 고칠 수 있다.

2-2. 참조물에 맞추기snap-to-reference 기능 사용하기


일단 Ctrl+K를 눌러 회전각을 재설정한 다음 다시 맞춰 보아라, 이미 방 전체가 45도로 기울어져 있으므로 당연히 지금 상황에서는 먹히지 않을 것인데 이럴 땐 snap to reference 기능을 사용해야 한다. 이 기능은 맞추고자 하는 부품의 격자grid와 각도angle에 대한 전역 스냅 설정global snap setting을 잠시 (맞추려는 대상) 참조snap reference와 동일하도록 일시적으로 변경시켜, 서로 일치하도록 조정하는 것이다.


무슨 말인지 쉽게 이해가 가지 않을텐데, 그림으로 보면서 이해하는 게 더 빠를 것이다:

snap을 끄고 작업을 하다가 각이 한번 어긋나게 되면 뒤늦게 snap을 켜봤자 맞춰지지 않을 것이다

다행히 각을 맞추려는 참조물의 회전각이 변하지 않은 상태라면 여전히 전역 설정을 따르기 때문에, ctrl+K를 눌러 원본을 전역 스냅global snap 설정으로 초기화하면 해결된다

그러나 참조물의 회전각도 기울어져 있다면(참조물의 회전각이 전역 설정을 따르지 않는다면) 이를 어떻게 해결할 것인가? 아무리 원본의 회전각을 초기화 해 보았자 맞추려는 대상의 회전각이 기울어져 있으므로 맞아떨어지지 않을 것이다, 이럴 때 쓰는 것이 snap to reference이다.


snap to reference는 전역global grid, angle 설정을 일시적으로 참조물의 grid, angle 설정을 따르도록 맞추게snap 하여 참조물의 회전각이 어긋나 있어도 원본을 마우스로 이동시키면 (마치 자석처럼) 자동으로 붙게 해주는 기능이다.

+이거 아이디어 내고 프로그래밍으로 구현한 사람 진짜 상줘야된다...


참조물에 맞추기는 shift+Q로 활성화할 수 있으며, 그러면 마우스 커서가 아래처럼 조준경 모양으로 변하게 된다. 이때 아무런 객체도 존재하지 않는 빈 공간void에 마우스를 갖다대면 빨간색으로 표시되고(void 부분을 클릭하면 여전히 전역 설정을 따르게 된다), 맞추고 싶은 목표물(이를 snap reference라고 부른다)에 갖다대면 하얀색으로 표시된다. 이때 마우스를 클릭하면 일시적으로 전역 grid, angle 설정을 snap reference과 일치시키게 된다. 

그러면 이제 마우스를 움직여 순조롭게 붙일 수 있게 된다.


3-1. 동굴 모양 가다듬기


동굴이 얼추 만들어졌지만 아직 뭔가 네모네모해서 인위적인 느낌을 풍기고 있다, 보다 자연스럽게 만들려면 동굴 내부를 여러 가지 자연물들로 채워 넣어야 한다.

동굴 조립세트에는 공간을 리모델링하는데 도움이 되는 다양한 부품이 들어 있다. 기둥 3개와 자유롭게 배치 가능한 벽을 아래 그림처럼 준비하자

  • CaveGLPillar01
  • CaveGLPillar02
  • CaveGLPillar03
  • CaveGLWallStraight01 (x2)

이제 방의 남쪽 벽에 이 부품들을 놓을 것이다. 유기적으로 보이게 만들기 위해 격자에 맞추기 기능과 각도에 맞추기 기능을 해제하고 부품을 움직여 벽을 만들자. 기둥을 사용해 벽 사이사이의 이음새를 숨기자. (그림 10 및 11 참조) 시간을 내어 게임을 켜고 플레이 하면서 빈틈이 보이는지 찾아보라.

Wall과 Pillar 부품이 아직 놓여지지 않은 상태

Wall과 Pillar 부품들이 놓여진 상태


벽은 새롭게 만들었으므로 아래 그림에 묘사된 것처럼 두 개의 동굴 전용 "절벽(cliff)" 조각을 사용하여 레벨에 수직적인 특성을 더해보자.

레벨에 수직적인 특성을 부각시키는 것은 크고 평평한 방에서 싸우는 것보다 새로운 공간을 맞닥뜨리는 과정을 더 재미있고 자연스럽게 만들고, 눈을 즐겁게 만들어준다.

  • CaveGCliffsCornerOut01NS
  • CaveGCliffs01

다른 벽, 바위, 바닥 및 기둥을 자유롭게 배치해서 방안의 느낌과 흐름을 더 좋게 만들 수 있다. 이번 연습에서는 예제와 완전히 똑같이 만들 필요는 없다.

3-2. 틈새 없애기

이제 게임 플레이 공간을 보면 큰 틈이 여러개 생겨서, 회색 빈공간이 드러난다는 걸 눈치챘을 것이고 이것을 없애고 싶을 것이다. 아래 그림을 보면 틈새 없애기 연습에서 사용할 부품들이 보일 것이다.

  • CaveGLPillar01
  • CaveGBoulderL01
  • CaveGBoulderL04
  • CaveGRockPileS01
  • CaveGDirtMound01

기둥과 바위(boulder)는 천장과 벽에 크게 벌어진 틈을 없앨 때 사용할 수 있다. 흙더미(dirt mound)와 암석더미(rock piles)는 다른 조립세트와 지상을 연결할 때 매우 효과적이다. 

잘 어울린다고 느낄 때까지 원하는 조각을 사용해보자. 예를 들어, 아래 그림과 같이 CaveGCliffs01을 계단처럼 사용해 틈을 없앨 수도 있다.

방 배치와 동굴 배치에 만족했다면, 이제 잡동사니 채우기Cluttering 작업으로 넘어가보도록 하자.