좌측부터 웨인 존슨, 피에르 폴 지룩스, 팀 쿠퍼, 에릭 율

유니티 시니어 엔지니어 그룹 인터뷰. 그것은 언어전문성, 두 가지를 동시에 해결해야하는 상당히 벅찬 미션이었다.

다행히, 유니티 엔진을 잘 알고 있는 훌륭한 통역이 함께 한다는 말에 '일단 해보자'라는 심정으로 용감하게 나설 수 있었다. 게다가 만나고 보니 구면. 일전에 인벤 사무실에 방문한 적이 있는 코너스 스튜디오 송택승 대표가 통역으로 자리했다.

그 다음 허들은 전문성. 평소 엔진이나 기술 분야에 관심이 있긴 했지만, 전문가들의 이야기들을 자연스럽게 알아들을 수준은 아니다. 사실 언어보다 이 부분이 더 고민이 될 수밖에. 이건 말 그대로 '깡'으로 들이미는 것 외에는 도리가 없었다.

솔직히 이야기하자면, 그들에게는 다시 없을 신선한 경험이었을 게다. 한국 게임전문 매체와의 인터뷰라고 해서 시니어급 엔지니어들이 총출동했는데, 그들 수준에서 보면 한없이 기초적인 질문들이 대부분이었으니... 그럼에도 불구하고 지극히 기초적인 부분까지 상세하게 설명해주고 즐거운 시간이었다고 말해준 그들의 아량에 감사를 전한다.




인터뷰이 소개



유니티 테크놀로지스의 엔지니어 부문 개발이사. 소프트웨어 엔지니어링 경력 20년의 전기 엔지니어로, 게임업계만 봐도 10년의 경력을 가지고 있다. PC, Mac, Xbox, PS2, Xbox360, PS3용 게임을 개발한 이력이 있으며, 울티마 온라인, 던전앤드래곤 온라인, 반지의 제왕 온라인 등 대작 MMO의 기술작업에 참여하기도 했다.



지난 3년 간 유니티 테크놀로지스에서 에디터 개발자로 일하고 있다. 유니티 에디터의 그래픽 기반 인터페이스 관련 코딩을 주로 담당하고 있다. 유니티에 입사하기 전에는 2K 오스트레일리아(2K Australia)에서 기술 프로그래머로 일했으며, 바이오쇼크(Bioshock) 및 바이오쇼크 2(Bioshock 2) 작업에 참여한 바 있다.



현재 유니티에서 게임 제작과 관련된 애니메이션 시스템을 만들고 있다. 2011년 유니티가 인수한 메카님(Mecanim)은 유니티 고유의 캐릭터 애니메이션 시스템으로, 2009년 피에르 폴이 만들어낸 것이다. 현재는 유니티 엔진에서 실행할 수 있는 네이티브 기능으로 통합됐다. 그는 '메카님의 창시자'라는 칭호 아래 유니티 엔진의 발전을 위해 개발을 계속하고 있다.



호주 출신으로, 10대 때 어셈블리 게임을 제작하고 공학계산기를 해킹하면서 게임 개발에 대한 꿈을 키워왔다. 기계 시뮬레이션 소프트웨어에서부터 오디오 미들웨어 개발까지 모두 섭렵하며 다양한 분야의 경험을 쌓아왔다. 수 년에 걸쳐 FMOD 오디오 엔진을 개발했으며, 현재 유니티 코펜하겐의 코어/오디오 팀에서 유니티의 사운드를 더욱 멋지게 하는 작업에 전념하고 있다.



■ 질문 1. 유니티5의 핵심적인 개선점?


에릭 : 몇 가지 특징이 있지만, 전체적으로 그래픽 부분을 좀 더 강조했다고 보면 된다. 특히 글로벌 일루미네이션 쪽이 두드러진다.

웨인 : 오디오 기능을 주로 담당하는 사람으로서, 유니티의 오디오 개발이 한동안 정체 상황이었다고 말하고 싶다. 이번 버전에서 오디오 파이프라인을 재정비하면서 새로운 요소들을 많이 넣었다. 사용자들에게 분명 많은 도움이 될 것이다.

피에르 : 메카님(유니티 엔진에서 사용되는 애니메이션 시스템) 역시 좀 더 사용하기 쉽도록 조금씩 변화를 줬다. 포괄적으로 말하자면, 캐릭터 애니메이션 뿐만 아니라 다른 작업도 가능하도록 하는 방향이랄까.


유니티 5의 피처 소개 - [GDC서 새 버전 '유니티 5' 최초 공개 및 사전 구매 시작]

: 캐릭터 애니메이션 외의 다른 작업으로, 이를테면 '스피드트리'(Speedtree)라는 미들웨어가 있다. 게임 안에서 나무를 비롯한 식물을 표현하는데 사용하는 툴인데, 이번 유니티 5.0 버전에 네이티브 기능으로 포함된다. 유니티 엔진을 사용해 나무 등의 3D 애니메이션을 표현할 때 훨씬 빠르고 자연스러운 작업이 가능해질 것이다.

피에르 : 웹GL(웹 기반 그래픽 라이브러리)을 지원하는 것도 작업 중이다. 별도의 인스톨 없이 웹에서 바로 돌릴 수 있도록 하는 것이 포인트다. 이전에는 플러그인 형태로 연동됐었지만 이번에는 아예 에디터 안에 포함되는 방식이다. 유니티 5의 첫 버전인 5.0에서는 어려울 것으로 보고 있지만, 아마 프리뷰 정도는 선보일 수 있지 않을까 한다.


* 글로벌 일루미네이션 (Global Illumination) : 3D 그래픽에서 보다 현실적인 빛 효과를 주기 위한 알고리즘의 일종. 이론적인 반사, 굴절, 음영 등이 모두 글로벌 일루미네이션의 예라고 할 수 있다.

* 스피드트리 (Speedtree) : 초목이나 식물 등의 프로그래밍&모델링할 수 있는 소프트웨어. 나뭇잎의 흔들림과 같은 세세한 움직임까지 표현 가능하며, 비디오 게임의 리얼타임 아키텍처나 실시간 시뮬레이션 환경 등을 구현할 수 있다.

글로벌 일루미네이션이 적용되지 않은 모습(좌)과 적용된 모습(우) 비교




■ 질문 2. 엔진 무게와 구동 속도에 관하여


: 메모리 할당량이라든가 작업 순서 등을 개선해 무거워진 부분을 잡았다. 이전에 비해 특별히 더 무거워진 부분은 없고, 지금까지의 테스트 결과를 보니 오히려 4.5 버전에 비해 20~30% 정도 빨라졌다.

웨인 : 라이트한 엔진을 위해 오디오 부분도 전체적으로 손보고 깔끔하게 정리했다. 같은 수준의 사운드를 내는데 있어 이전보다 메모리를 3분의 1 정도밖에 사용하지 않는다.

다른 미들웨어를 함께 사용하는 것도 얼마든지 가능하다. 현재 미들웨어를 사용해야하는 부분들을 보강해 나갈 것이며, 궁극적인 목표는 다른 미들웨어 없이도 높은 수준의 사운드 작업이 가능하도록 하는 것이다.



■ 질문 3. GUI가 갖는 장점 & 유니티 엔진과 타 엔진의 GUI 유사성에 관하여


웨인 : 내가 사운드 기능 프로그래밍을 담당하고 있기 때문에 이쪽 분야의 사람들을 예로 들겠다. 사운드 작업을 하는 사람의 경우 스크립트 언어와 같은 프로그래밍 적인 부분을 잘 다루기가 쉽지 않다.

이런 사람들에게는 그래픽 기반의 인터페이스가 많은 도움이 된다. 스크립트를 비롯한 텍스트 기반의 지식을 따로 익히지 않고도 자신의 전문분야에서 필요로 하는 작업을 빠르게 수행할 수 있도록 해주는 것이다.

이것은 즉 효율성의 문제다. 다른 분야의 지식을 익히기 위해 필요한 시간과 노력을 온전히 자신의 전문분야에 투입할 수 있게 되면, 그 분야에서 창의력을 훨씬 잘 발휘할 수 있는 환경이 된다고 본다. 사운드를 예로 들긴 했지만, 그래픽이라든가 다른 분야의 전문가들도 마찬가지다.

에릭 : GUI의 유사성은 아마도 언리얼 엔진 4를 이야기하는 듯하다. 언리얼 엔진 3 때는 그렇지 않았는데, 4를 보니 GUI가 비슷해진 경향이 있더라. 하지만 GUI 부문은 언리얼 엔진보다 우리가 더 먼저 채택했다고 생각한다. 물론 그쪽에서는 이와 다르게 생각할지도 모르겠지만.

만약 경쟁사 쪽에서 우리 GUI를 참고했다면 영광이다(웃음). 앞으로도 더욱 창의적이고 높은 효율성을 지닌 시스템을 선보이도록 노력하겠다.

: 앞으로의 보완이나 발전을 이야기하자면, UI 뿐만 아니라 시스템 전반적인 개선사항을 항상 생각하고 있다는 말이 당연하면서도 최선의 답변일 것이다.

기존의 4.x에서 5로 가는 단계에서 긍정적인 부분은 가능한 한 많이 가져오고, 개선이 필요한 부분을 하나라도 더 찾아내기 위한 작업을 계속하고 있다. 이 작업을 메인으로 하는 엔지니어들이 따로 있다는 것이 가장 좋은 답이 되지 않을까 한다. 사용자들의 편의성을 계속 고민하고 지속적으로 반영해나갈 것을 약속한다.

* GUI (Graphical User Interface) : 그래픽 사용자 인터페이스. 화면 위에 물체나 틀, 색상 과 같은 그래픽 요소를 이용해 기능 및 용도를 표현한 인터페이스. 현대의 컴퓨터에서 널리 쓰이는 윈도우를 예로 들면 창, 아이콘, 마우스 포인터 등이 GUI 요소에 해당한다.



■ 질문 4. 메카님(Mecanim)의 개념과 강점, 앞으로의 방향성은?


피에르 : 메카님은 유니티 4.0에 처음으로 탑재된 것으로, 캐릭터 애니메이션을 편하게 작업할수 있는 시스템이다. 기존에는 애니메이션을 표현할 때 세세한 움직임 하나하나까지 모두 스크립트를 짜야했는데, 메카님은 몇 가지 UI를 통해 애니메이션 작업을 훨씬 빠르고 간편하게 할 수 있도록 하는 개념이라고 보면 된다.

메카님의 강점이라면, 캐릭터의 본 구조가 달라지더라도 동일하게 사용할 수 있다는 것이다. 쉬운 예를 들자면, 강아지에 사용한 애니메이션을 코끼리에도 쓸 수 있다고 생각하면 된다. 또한, 작업한 애니메이션을 게임에 적용시켰을 때, 이것이 게임 내에서 어떻게 돌아가고 있는지에 대한 피드백도 실시간으로 받을 수 있다.

유니티 5로 가면서 메카님 역시 기술적으로 많은 발전이 있었다. 그 중 한 가지를 이야기하자면, 애니메이션에 여러 가지 효과를 붙이는 것이 가능해졌다. 대표적인 예로 파티클을 적용할 수 있다는 것을 들 수 있다.

* 파티클 시스템 (Particle System) : 컴퓨터 그래픽에서 매우 작은 조각 등을 표현하는 기술을 가리키는 것으로, 2D와 3D 모두에서 사용 가능하다. 타오르고 있는 불 언저리의 작은 불꽃이라든가, 폭포나 분수에서 튀는 작은 물방울을 예로 들 수 있다. 이밖에 폭발, 스파크, 먼지, 구름, 안개 등 다양한 부분에서 활용할 수 있다.




■ 질문 5. 멀티플레이어 네트워킹 작업을 더욱 수월하게, 유넷(U Net)이란?


에릭 : 유니티 5.0 버전에서 선보이기는 힘들 듯하고, 이후 5.x 버전에서 제공될 것으로 보고 있다.

지난번 한국에 왔을 때 보니 한국에는 네트워크를 사용하는 게임들이 대부분이더라. 그렇다면 한국 개발자들은 네트워크 관련 작업을 직접 하는 경우가 많을 거라는 이야기인데, 내 전문분야다보니 그 작업이 무척 힘들다는 것을 안다. 일반 개발자들이라도 네트워크 관련 작업을 보다 편리하게 해줄 수 있도록 엔진 차원에서 제공할 예정이다.

유넷은 쉽게 설명하자면, 멀티플레이 게임을 좀 더 간단하게 만들 수 있도록 도와주는 것이다. 싱글 게임과 멀티 게임을 만드는 방법은 확연히 다르다. 네트워크 엔지니어가 아닌 일반 개발자들도 손쉽게 사용할 수 있는 하이 레벨의 API(Application Programming Interface)를 제공해준다.

사실상 기반이 되는 작업은 거의 다 끝났는데, 아직 부가적인 밑작업들이 남아있어서 상용화를 좀 미루게 됐다. 실제 사용할 수 있다고 내놓았는데 시스템에 부하가 걸려 버벅거린다거나 하면 곤란하지 않겠나.



■ 질문 6. 한국을 방문해 엔진 사용자들과 이야기를 나눠본 소감이 어떤가?


: 한국에서 유니티 엔진을 사용해 좋은 게임들이 많이 개발됐고, 또 개발되고 있다. 인상 깊었던 작품을 찾아보려 했지만, 상당히 많아서 딱 짚어내기가 어렵다.

유나이트 코리아를 계기로 한국에 왔지만, 이것을 기회로 한국 개발자들을 만나 엔진을 어떻게 사용하고 있는지에 관해 이야기를 많이 나누고 있다. 실제로 굉장히 멀리 떨어져있다보니 실시간으로 의견을 주고받기가 쉽지 않았는데, 이렇게 직접 면대면으로 이야기할 수 있다는 것이 정말 좋다.

피에르 : 이 곳에 와서 여러 개발자들을 만나서 무엇을 원하는지를 들어볼 수 있어서 유익한 시간이라고 생각한다. 실제로 우리는 주말을 이용해 개발 중인 혹은 상용화된 엔진을 사용해 게임잼을 진행해보고, 그 과정에서 뭔가 아쉬운 점이 발견되면 다음 주에 출근해 새롭게 업데이트하는 식을 반복하고 있다.

: 한국 뿐 아니라 전세계 개발자가 공통적으로 많이 이야기하는 부분이 있다면 GUI다. 현재까지 1년 반 정도를 투자해 작업한 시스템인데, 그래픽 작업하는 사람들이 쉽게 이용할 수 있도록 신경 썼고, 4.6 버전부터 선보일 계획이다.

GUI는 이전까지 플러그인 형태로 제공됐었는데, 유니티 4.6부터는 이제 에디터 안에 내장되어있다. 이와 더불어, 사용자의 편의에 따라 GUI를 커스터마이징할 수 있도록 하는 것도 고려하고 있다.

피에르 : 역시 5.0에서는 안되겠지만, 추후에 고려하고 있는 것 중 하나로 멀티 씬 작업에 관련된 기능이 있다.

프로젝트가 커지면서 많은 인원이 함께 작업하는 경우에는 작업하는 씬 수가 굉장히 많아질 수 있게 된다. 이렇게 되면 특정 씬에서 다른 씬으로 오브젝트를 이동해야하는 경우가 생길 수 있는데, 이 작업이 사실상 헷갈릴 우려가 많이 있다.

구체적인 사항은 확정되지 않았지만 대체적으로 이러한 방향에서 편의성을 줄 수 있도록 할 것이다.



■ 질문 7. 유니티 엔진이 바라보는 미래는?


웨인 : 이야기할 수 있는 것이 한정적이라는 점 양해 바란다. 전체적인 작업 방향을 말하자면, 워크플로우 부분을 더욱 개선하고, 엔진을 사용하는 개발자들이 필요로 하는 기능들을 발빠르게 추가하는 것에 집중하려고 한다.

5.0을 냈을 때 실제 사용자들의 피드백을 받아서 꾸준히 업그레이드 해가는 방향을 추구한다. 4.0에서 선보였던 메카님 역시 그런 식으로 탄생했다. 이전에는 안 됐던 것, 이런 게 있으면 좋겠다는 것에 대한 의견을 적극적으로 듣고 최대한 사용자의 편의성에 초점을 둔 엔진을 만들고자 할 것이다.

: 솔직히 말하면, 우리는 훨씬 더 많은 것을 알고 있고 그것을 충분히 이야기할 수 있다. 하지만 회사 내부 방침상 공개할 수 있는 것이 얼마 없다는 점 양해 부탁한다. 어찌됐건 유니티 5는 지금보다 계속 더 나은 모습을 보이기 위해 불철주야 노력할 것이다.