2016년 5월 12일

미래를 짓다: 영국의 교육과 산업이 협동해 만들어낸 VR 프로젝트

저자: Stephen Trimble,

안녕하세요, 제 이름은 스티븐 트림블(Stephen Trimble)이고, 아일랜드 에니스킬렌(Enniskillen)의 사우스 웨스트 컬리지(South West College)에서 게임 디자인과 미디어에 대해 가르치는 강사입니다. 저는 주로 가르치고 있는 강의와 커리큘럼 개발 뿐만 아니라 제 전공과 관련된 분야에서의 실무 프로젝트도 맡아서 진행해 본 기회를 몇 번 가져보았습니다. 사우스 웨스트 컬리지는 산업 친화적인 기업가 정신을 가지고 있고, 교직원들로 하여금 자신의 지식으로 산업에 기여하고 현대 산업에서 직면할 수 있는 각종 문제들을 혁신적이고 진취적인 해결안을 만들어 해결할 수 있도록 육성하는 교육기관입니다.

저는 다양한 소프트웨어와 운영관리 분야에서 전문성을 갖춘 인재들과 함께 팀을 이루어 일하고 있습니다. 최근 사우스 웨스트 대학은 아트 크리에이티브 스튜디오인 이미지(Image)를 설립하고 Autodesk Maya나 언리얼 엔진, Nuke, ZBrush와 “markless” Motion Capture 장비 등을 갖춘 PC를 들여오는 데 투자하기도 했습니다. 또한 최근 몇 년 동안 사우스 웨스트 컬리지는 가상현실 및 증강현실 기술을 놀라운 수준으로 발전시켰습니다. 한 예로 교직원 중 한 명인 폴 맥고번(Paul McGovern)은 작년에 오큘러스 기술을 활용해 엔지니어들이 CAD로 실시간 통신을 할 수 있는 커뮤니케이션 플랫폼을 개발하기도 했습니다.

학교의 커리큘럼은 다양하고, 특히 기술 학부에서는 그 다양성이 더욱 분화됩니다. 최근 기술 학부의 커리큘럼 매니저인 스티븐 모스(Stephen Moss)는 건축분야에서 자신의 인맥과 전문성을 활용해, 사우스 웨스트 컬리지의 주관 하에 게임 디자인과 건축 공학 기술이 협력하여 공통적인 프로젝트를 수행하는 기회를 마련하였습니다.

그렇게 퀸 빌딩 프로덕트 VR 체험물(Quinn Building Products VR Experience) 프로젝트가 구상되었습니다. 이 프로젝트는 퀸 빌딩 프로덕트로 하여금 기업의 마케팅과 제품 쇼케이스 능력을 향상시켜줄 것이라 예상되었고, 결과물은 3월 8일부터 10일까지 런던의 엑셀 센터(ExCeL Centre)에서 열리는 에코빌드(EcoBuild)에 전시됩니다. 이 프로젝트는 가상현실 체험물을 전시해 행사 참가자들의 관심을 끌고, 이들의 상호작용을 이끌어내보자는 아이디어에서 시작되었습니다. 체험자들은 가상현실 속에 지어진 집 안을 자유롭게 돌아다닐 수 있으며, Q 마커로 이동하면 다음 단계의 시뮬레이션으로 진행할 수 있는 방식입니다.

아래에는 전체 개발 과정의 개요를 분석한 것입니다.

브리핑

퀸 빌딩 프로덕트 측에서 사우스 웨스트 컬리지에, 에코빌드 행사에 참여할 잠재적 소비자들에게 자신들의 제품을 보여줄 수 있는 새로운 쇼케이스를 만들고 싶다고 연락해왔습니다. 이 아이디어는 오큘러스 DK2를 활용한 가상현실 체험물 개발로 발전하여, 잠재적 소비자들로 하여금 자신들의 제품이 건물의 구조에서 실제로 어떻게 쓰이는지 생생하게 눈으로 확인시켜 주면서, 청각적으로도 제품과 관련된 정보와 수치들을 나레이션으로 들려주도록 만드는 것이었습니다.

아이디어 회의를 거친 다음, (After a period of creative consultation,) 관람자가 가상현실 속의 집 주위를 걸어다니면서 자유롭게 스테이지를 선택하고 시뮬레이션 관람을 진행할 수 있게 하자는 아이디어가 선택되었습니다. 이 스테이지는 제품 정보에 관한 나레이션과 벽의 내부 구조를 뜯어볼 수 있는 상호작용성, 그리고 제품에 대한 더 자세한 정보를 담고 있는 영상 자료 등을 포함하고 있었습니다

통제 & 관리


퍼포먼스
체험물을 개발하고 쇼케이스를 실행할 하드웨어의 성능에 한계가 있기 때문에, 프로젝트의 미적 수준을 어느정도 통제해야 한단 사실은 프로젝트 시작 시점부터 매우 분명했습니다. 테스트를 몇 번 돌려본 결과, 폴리지는 빼버리고 애셋의 폴리곤 밀도도 최적화가 크게 필요하다는 결론이 나왔습니다. 주요 텍스처의 해상도는 512에서 1024로 맞추기로 했습니다. 이 중에 대부분은 타일형 텍스처였기 때문에, 각 애셋을 위해 별도로 세트를 개발하기에는 시간이 너무 많이 걸릴 것이었습니다.

의사소통
개발 기간 동안 낭비되는 시간을 최대한 줄이기 위해서는, 사우스 웨스트 컬리지와 퀸 빌딩 프로덕트 사이에 즉각 소통이 가능한 수단을 유지해야 했습니다. 이는 대단히 중요한 사항이었습니다. 이동 시간을 고려하면 단순히 진행상황 보고를 위한 주간 미팅조차 매주 실시하기는 힘들었습니다. 그래서 베이스캠프(Basecamp)라는 이름의 통신 서비스가 개설되어 사우스 웨스트 컬리지 측과 퀸 빌딩 프로덕트 측의 개발진을 모두 연결해주었고, 이를 통해 원격 통신과 프로젝트 관리가 가능해져 프로젝트에 뭔가 이상이 생기거나 수정이 필요한 사항이 생길 경우 즉각 피드백을 보낼 수 있는 환경이 만들어졌습니다. 이는 일주일 내내 메시지가 오가면서 애셋과 텍스처 스케일링에 알맞는 머티리얼을 고르는 등의 결재가 빠르게 이루어졌다는 뜻이기도 합니다.

디자인


애셋 모델링
빌딩 디자인을 결정하기 위해 브레인스토밍을 거친 후, 퀸 빌딩 프로덕트 측에서는 프로젝트에서 사용할 FBX 모델을 Autodesk Revit로 빌드하여 제공해 주었습니다. 하지만 애석하게도 Maya로 모델 파일을 임포트한 결과, 상당한 수준의 최적화가 필요한 상황이었습니다. 파일 내의 수많은 애셋들의 tricount가 너무 큰데다 서로 중복되는 면도 많이 발생했습니다(having multiple faces placed on top of each other.) 아무래도 제공받은 모델을 수정해서 사용하는 것보다도 이 FBX 파일을 참조삼아 전체 씬을 새로 모델링하는 게 훨씬 빠르겠다는 결론이 나왔습니다. 

 

교체 가능한 벽 부분은 본래의 벽 부분과 밖으로 당겨져서 안쪽의 벽돌을 보여주는 부분, 그리고 절연처리까지 보여주는 마지막 레이어 부분까지 총 3개의 애셋으로 나눌 수 있었습니다. 세 부분의 애셋 모두 씬 하나에 공존해야 했으며, 이 애셋들을 원하는 대로 보여줄 수 있는 트리거 역시 같은 시뮬레이션 내에 배치해야 했습니다.

UV 언래핑(Unwrapping)
이 프로젝트에 사용될 대부분의 머티리얼들은 타일링이 가능한 것을 활용하고 텍스처 파일의 사이즈를 작게 유지했습니다. 상술하였듯이 이는 프로젝트 전체의 퍼포먼스를 향상시키기 위한 것이었습니다. 이런 기술을 활용한다는 의미는 작은 텍스처 파일로 높은 품질을 보여주기 위해 UV쉘에 0-1의 UV 공간 제약을 줄 필요가 없다는 뜻이기도 합니다.

교체 가능한 벽과 창문들도 모두 부분으로 나누어 복수의 머티리얼 ID를 사용하였습니다. 이렇게 하면 겉으로 보기에는 한 덩어리의 창문처럼 보이지만, 보이지 않는 머티리얼의 구분이 분명하게 나누어져 있어 창문이 보여주는 효과를 반으로 나누어 원하는 부위의 머티리얼에만 변경사항을 적용할 수 있기 때문입니다.(This allowed for the effect of the window being sliced in half, whereas the only change was an invisible material being applied to that selection.) 다른 메시와의 교환이 아니라 이런 방법을 선택한 이유는, 오브젝트들이 모두 베이크드 라이트를 적용한 스태틱 메시였기 때문입니다. 씬 내에 보이지 않는 오브젝트를 여러개 두고 임의로 교환했다간 연결지점 주변의 전체 라이트매스 퀄리티에 영향을 줄 수도 있었습니다.

각 애셋의 라이트맵을 사용하기 위해 두번째 UV 세트를 만들었습니다. 집의 규모가 상당히 컸기 때문에 라이트맵 하나로 전체를 커버하기보다는, 모델을 보다 작은 섹션들로 나누어 수많은 라이트맵들로 각각을 비추는 쪽을 선택했습니다. 소형 오브젝트들에는 256부터 대형 오브젝트들에는 2048에 이르기까지, 각 애셋의 크기에 따라 라이트맵의 해상도도 알맞게 조정했습니다. 이렇게 애셋의 스케일에 맞춰 맵 사이즈를 조절하니 제작과정 전체에서 빌딩 전체에 라이트를 배치하는 일에 시간을 많이 아낄 수 있었습니다.

미디어 프레임워크
가상현실 속의 텔레비전에서 영상 시퀀스를 재생하는 것이 큰 문제였습니다. 처음 몇 번의 테스트에서는 프레임률을 너무 많이 떨어뜨린 나머지 전체 프로젝트의 플레이가 거의 불가능해질 지경이었습니다. 이에 대한 질문을 앤써헙(AnswerHub)에 올리자 에픽게임즈의 직원 한 명이 신속하게 답변을 해주며, 퍼포먼스를 향상시킬 수 있도록 몇 가지 부분을 짚어주었습니다. 당시에는 프레임워크가 아직 실험적으로 도입된 시기였기에 포맷과 해상도를 까다롭게 설정해야 했더라고요. 최종적으로는 720p 해상도에 wmv 코덱으로 렌더링된 영상을 프로젝트에 삽입하였습니다.

영상을 정상적으로 재생시키고 나니 또 다른 문제가 발생했는데, 이번에는 음향이 말썽이었습니다. 음향에서 온통 백색 소음이 발생하는 바람에 16비트의 wav 파일을 따로 프로젝트로 익스포트한 다음 영상을 재생시키면 동시에 재생되도록 설정해야 했죠.

이벤트 트리거
이 프로젝트는 체험자가 구체적인 장소를 자유롭게 돌아다니며, 미리 설정되어 있는 선형적 나레이션을 통해 안내를 받는 아이디어에 기초한 것이었습니다. 이는 이벤트가 실행되는 순서를 확실하게 정해두어야 한다는 뜻이기도 합니다. 그렇지 않으면 상황이나 타이밍이 전혀 맞지 않는 나레이션이 재생될 것이기 때문입니다. 이는 불리언 노드와 브랜치 노드를 중점적으로 활용해 이전의 이벤트가 완전히 끝난 다음에야 다음 이벤트가 발동할 수 있도록 만들었습니다.

또 통제해야 할 부분은 각 체험자마다 시뮬레이션을 체험할 수 있는 시간을 제한해야 한다는 것이었습니다. 한 사람당 체험 시간이 길어지면 대기시간도 길어지고, 결국 체험할 수 있는 사람의 총 인원이 줄어든다는 뜻입니다. 이 점을 극복하기 위해 일종의 루프 시스템(loop system)을 도입하였습니다. 체험자 한 명이 시뮬레이션을 끝낼 경우 자동으로 메인 메뉴 화면으로 돌아가, 다음 사람이 곧바로 시작할 수 있게 준비하는 것이죠.

루프 시스템은 다음 단계로 이루어집니다.:

  • 메인 메뉴를 띄움
  • 오른쪽 트리거를 눌러 실행
  • 건물 안을 둘러볼 때 이벤트 활성화
  • 벽 섹션과 상호작용할 경우 어떤 제품이 사용되었는지 보여줌
  • 해당 제품에 관해 더 많은 정보를 보여주는 영상 재생
  • 영상 종료, 나레이션 종료
  • 체험자는 메인 메뉴로 돌아옴

 

안내
퀸 빌딩 프로덕트 빌딩의 로고를 본따 모델링한 Q 모양 마커로 체험자를 안내하기로 했습니다. 디자인도 게임 속의 체력이나 총알 보충 아이템의 위치를 표시해주는 것처럼 특정 위치에서 빙글빙글 돌며 친숙한 느낌을 주는 것이 좋겠다는 아이디어에 맞추어, 간단하게 만들어졌습니다. 이런 마커가 없다면 체험자들은 다음 이벤트를 발동시키려면 어디로 가야할지 자신이 직접 짐작해야 하지만, 이 방법을 쓰면 자신의 동선을 시각적으로 알아낼 수 있습니다. 이 마커 역시 배경과 확실하게 대비되어 보여야 했습니다. 형광 효과를 넣지 않았다면 다음 마커가 어디에 있는지 확실하게 알아보기 힘들었을 것입니다. 이런 형광빛은 머티리얼을 통해 적용하였으며, 주변에 블룸 효과도 추가하였습니다. 그런 다음 간단한 블루프린트를 통해 마커가 제자리에서 빙글빙글 돌도록 설정하여, 씬 내에서 곧바로 사용할 수 있었습니다. 

라이트
라이트 설치는 전체적으로 간단했습니다. 건물의 창문으로 조명이 직접적으로 들어오도록 배치를 했고, 명암 대비 효과를 줄이기 위해 스카이 라이트를 활용했습니다. 또한 포인트 라이트들을 건물 내부 곳곳에 배치하여 전체적인 명도를 올렸고, 지붕과 바닥 라이트 애셋의 앞에는 스포트라이트를 배치하였습니다. 이 스포트라이트는 포스트 프로세싱 볼륨과 함꼐 사용하여 블룸 효과를 만들었습니다.

또한 하드웨어의 한계로 인해 수정할 때마다 라이트를 다시 빌드하는 일이 너무 오래 걸렸기 때문에, 라이트매스 세팅은 되도록이면 기본 설정에 가깝게 맞춰놓았습니다.

대체 가능한 벽을 테스트해본 결과 애셋 간의 이음새를 보이지 않게 감추려면 적절한 라이팅이 아주 중요하다는 사실을 알게 되었습니다. 그래도 미리보기 라이트 퀄리티로 빌드를 할 때에는 자꾸 이음새가 보여서 굉장히 불안했지만, 다행히 라이트 퀄리티를 프로덕션으로 올리자 이음새도 자연스럽게 사라졌습니다. 언리얼 포럼에서는 마지막 빌드 과정에서 항상 프로덕션 라이트를 사용하라고 하지만, 시각화에서 확실하게 차이점이 존재합니다. 이런 퀄리티의 차이는 프로덕션의 라이트를 향상시킬수록 점점 두드러집니다.

테스트


개발 과정에서도 메커니즘과 게임플레이를 테스트해보기는 했지만, 게임을 디자인한 학생들도 정기적으로 플레이 테스트를 통해 피드백을 제시할 수 있는 기회를 얻었습니다. 작은 장소 안에 꽤 많은 숫자의 트리거들이 산재해있었기 때문에, 이벤트 활성화 테스트는 프로젝트 개발에서 매우 중요한 과정이었습니다. 프로젝트와 떨어져있다보니 학생들은 먼저 공개적으로 문제들을 찾아낸 다음, 나중에 블루프린트를 통해 찾아낸 문제점들을 고쳤습니다.

가장 큰 문제로 떠오른 것은 트리거 오버래핑 문제였습니다. 스테이지를 블루프린트로 만들다보니 트리거가 발동되는 포인트는 항상 활성화되어 있지만, 이게 계속 켜져있는지 확인하려면 계속 브랜치를 거슬러 올라가 확인을 해야 헀던 겁니다. 따라서 스테이지가 완전히 종료되기 전부터 체험자가 트리거를 오버래핑할 경우, 트리거와 관련된 이벤트가 이미 활성화되어버리고 맙니다. 그래서 각 스테이지의 마지막마다 플레이어가 이미 다음 트리거를 활성화시킨 상태에서 오버래핑을 하고 있는지 확인하는 두번째 활성화를 추가해야 했습니다. 참이 돌아올 경우 다음 스테이지의 활성화 전에 1초의 지연시간을 두었습니다.

가상현실 체험물을 실행할 데스크탑 PC 두 대가 런던에 도착했고, 모든 것이 계획대로 되는지 확인하기 위한 마지막 테스트가 시작되었습니다. 오큘러스 헤드폰과 게임 패드가 각 PC에 연결되었고, 프로젝트들도 하드에 복사하였습니다. 다행히 모든 것이 시작부터 잘 작동되었으며 예상치 못한 문제는 발생하지 않았습니다.

Reflection


가상현실을 전시하던 도중에도 수많은 교훈들을 얻을 수 있었습니다. 이는 시뮬레이션의 체험자들로부터 얻은 다양한 반응들로부터 얻은 것입니다. 그 중에서도 가장 중요한 것들을 아래에 나열해보았습니다.


너무 흥분한 체험자
이벤트 참가자 중 수많은 사람들이 오큘러스를 사용해 본 경험이 전혀 없었기 때문에, 이들은 나레이션의 안내를 따르기보다는 처음으로 가상현실을 체험해 보는 데에 더 관심이 있었습니다. 어떤 사례들에서는 안내가 막 끝났을 떄 체험자가 이미 집 주위를 돌고 있거나 집 안에 들어가 있는 상황도 발생했습니다. 따라서 첫번째 이벤트를 발생시키기 위해서는 체험자를 다시 입구로 데려와야만 했습니다. 만약 시뮬레이션 시작 시점에서 체험자가 이동할 수 있는 구역이나 이동 기능 자체를 잠시 제한해두었다면, 이런 사태를 잘 통제할 수 있었을 것입니다.

나레이션 트리거
나레이션에서 중요한 키워드는 보다 신중하게 배치해야 합니다. 예를 들면 오른쪽 트리거를 누르라는 안내는 오디오 파일의 마지막이 아니라 처음에 넣어야 합니다. 안 그랬다가는 플레이어들이 나레이션이 다 끝날 때까지 오른쪽 트리거를 계속해서 누르는 상황이 발생합니다.

체험물의 구성요소 & 시선 끌기
어떤 체험자들은 집 앞쪽에 나 있는 커다란 유리창이 사실 안으로 들어가는 입구라는 것을 깨닫지 못하기도 했습니다. 체험자가 가까이 가야만 문이 열렸기 때문입니다. 오히려 집 옆에 골목이 나 있어서 그 쪽으로 자유롭게 걸어가기도 했습니다. 수많은 체험자들이 그 통로처럼 생긴 길이 집 안으로 통하는 길인 줄 알고 이 골목길로 빠져버렸습니다.

결론


이 프로젝트는 사우스 웨스트 컬리지의 창조적이고, 혁신적이며 기술적으로도 진취적인 능력을 잘 보여줄 수 있는 사례였습니다. 사우스 웨스트 컬리지가 천명하는 것처럼, 실제로도 실무 산업에 관심을 쏟고 있다는 확고한 증거입니다. 나아가, 이 프로젝트는 산업 전체에 디지털 창의성에 대한 투자가 업무 기능의 강화라는 긍정적인 이득을 가져올 수 있다는 것을 구체적으로 보여주었습니다. 비단 게임 디자인뿐만 아니라 기존의 전통적인 산업 역시 이런 최신 기술을 받아들여 자신들의 경쟁력을 키울 수 있다는 것입니다.