작업과정의 공통화가 중요, 게임프리크가 모델링 과정을 효율화 한 방법
전작인 소드·실드에서 일부 포켓몬을 게임 내에 등장시키기 않는 결정을 내렸지만, 그럼에도 포켓몬의 수는 신작이 늘어날 때마다 늘어나고. 변화하고 있다. 이러한 측면에서 게임프리크는 올해 두 개의 새로운 시도를 한 작품을 연초와 연말에 발매하며, 두 타이틀이 거의 비슷한 개발 기간을 공유한다는 사실을 알렸다.
이러한 물음에 대해서 게임프리크의 미야자와 케이이치 CG 기술 감독이 CEDEC 강연장에 자리했다. 그는 이번 강연을 통해 포켓몬스터 아르세우스와 스칼렛·바이올렛을 개발하며 고민하고 노력했던 지점들을 공개했다.
강연자는 먼저, 올해인 2022년의 개발 상황을 전달했다. 연초 발매된 포켓몬스터 아르세우스와 11월 발되는 스칼렛 · 바이올렛까지. 올해에만 두 개의 타이틀이 발매되는데, 이는 곧 동시에 두 개의 메인 타이틀을 작업하는 것을 의미하기 때문이다.
포켓몬스터 시리즈의 개발은 게임프리크를 통해서 이루어지며, 시스템 개발을 담당하는 R&D / 타이틀의 콘텐츠 개발과 후공정 작업을 담당하는 타이틀 개발 팀 / 납품과 검수를 담당하는 팀으로 구성된다. 이외에 게임프리크 외부에 협력회사가 자리하며, 게임프리크 내부에서는 납품팀을 통해 외부 협력업체에 사양을 전달하고. 제작된 에셋을 받아 타이틀 개발팀이 활용하는 구조로 개발이 이루어진다.
하지만 이는 쉽지 않은 일이다. 포켓몬 시리즈의 역사가 20년이 넘는 세월이 되면서, 모델링을 해야 하는 포켓몬의 수만 1000종 이상이 됐다. 따라서 현실적인 문제로 인하여 타이틀마다 어떤 포켓몬을 선보일 것인지를 결정할 수밖에 없게 됐다. 포켓몬 시리즈에 등장하는 각 지역마다 등장하는 포켓몬이 달라지는 것은 이러한 이유다.
게임프리크의 첫 번째 해결책은 ‘제작사양의 공통화’였다. 이전 작업 과정과 다르게 아르세우스와 스칼렛·바이올렛은 공통 환경과 공통 사양을 가지고 에셋 제작에 착수했다. 배경이 다름에도 같은 환경과 사양을 공유하여 개발이 이루어졌고. 타이틀 개발 팀이 같은 사양으로 제작된 에셋을 이용해서 각자의 타이틀을 개발하는 형태가 됐다.
같은 에셋을 가지고 개발을 착수하기는 했지만, 후공정 과정을 거치며 두 타이틀의 아트워크는 다른 형태로 마감됐다. 렌더링 파이프라인을 서로 다르게 가져감으로써 최종적으로는 다른 비주얼을 보여주게 된 것이다.
이러한 기본 마테리얼을 가지고 납품이 이루어진 모델링은 프리뷰 환경을 거치며 가다듬는다. 게임프리크는 이 경우 납품을 받은 모델링을 각 타이틀 개발 팀에서 사용하는 형태로 별도의 공정을 마련했다. 기본적인 모델링과 환경을 사용하면서도 각 타이틀이 보여주는 분위기에 맞게 조정하고. 이를 통해서 타이틀에 맞는 룩을 보여줄 수 있다는 설명이다.
여기에 모델을 비추는 라이팅을 시간과 하늘에 따라 달라지도록 프리셋을 구축하여 작업에 들어가는 공수를 단축했다. 장소와 시간. 대기 환경에 따라서 달라지는 라이팅을 각각 세분화하여 프리셋으로 마련하고. 이를 적절히 배치하는 것으로 개발에 활용하는 형태다. 단순한 결정이기는 했지만, 데이터를 절약하는 한편 타이틀에 어울리는 모델링을 그대로 활용할 수 있는 결과를 가져왔다.
움직임을 만들어내는 로케이터도 공통 작업을 위한 변경이 이루어졌다. 모든 포켓몬의 로케이터를 공통적으로 일괄설정하여 최초 준비를 한 뒤, 이를 바탕으로 각기 다른 포켓몬의 움직임을 커스터마이징 하는 제작 과정으로 전환됐다. 이전 작품까지는 각 포켓몬의 로케이터가 분리되어 있었으나, 공통 로케이터를 바탕으로 조정이 이루어지는 형태로 바뀐 것이다.
한편, 아르세우스는 게임 내부에서 포켓몬들이 보여주는 애니메이션 또한 공통적인 몇 개의 결과물을 활용하는 방식으로 변화하여 제작을 진행했다. 이러한 애니메이션은 필드의 IK 애니메이션은 물론 전투에서도 활용되며, 각기 특정 환경에 따라서 같은 결과물을 보여주는 템플릿 형태로 구성되어 있다.
게임프리크가 이전에 제작한 소드·실드의 경우 셰이더의 마테리얼을 각기 다른 조각들로 구분하고. 이를 조합해서 런타임 파이프라인으로 구성하는 형태였다. 따라서 이를 구성하는 파일의 수가 폭발적으로 많아질 수밖에 없다는 단점이 있었다.
공정 개선은 이를 위함이었으며, 마야에서 매쉬와 마테리얼이 각기 다른 바이너리 파일을 구성하고 이를 런타임에서 조합하는 형태를 벗어났다. 개선된 공정에서는 마야의 매쉬만이 바이너리를 구성하고 마테리얼 이름에 따라서 바로 런타임 시점에 구현된다. 이와 같은 공정으로 전환됨에 따라서 같은 납품 데이터를 사용하고 있음에도 아르세우스 / 스칼렛·바이올렛이 다른 결과물을 보여주게 됐다.
이 과정에서 아르세우스의 개발 파이프라인은 라이팅을 적용하는 것을 시작으로 점차 게임 분위기와 컨셉에 어울리는 추가적인 효과들을 더하는 형태로 구성되기 시작했다. 포켓몬들에 적용되는 라이팅은 이전에 설명되었던 것처럼 납품 모델링을 이용해 아르세우스의 판화풍으로 재탄생된 결과물을 보여주고 있다.
제작의 후반부에는 컨셉아트에 어울리는 원경 필터를 적용하는 한편, 하늘과 물의 그래픽을 조정하는 것과 같은 세부 작업이 이루어졌다. 세부 개발을 진행하기 이전과 전부 적용된 이후를 비교하면, 실제로 큰 차이를 보여준다. 이와 같은 모든 작업들은 아르세우스의 ‘룩’(비주얼)을 구성하며, 현재와 같은 형태로 게임이 마감되는 결과를 가져왔다.
아래는 같은 모델링 데이터를 이용해 제작한 피카츄의 모습이다. 좌측이 아르세우스. 우측이 스칼렛·바이올렛의 모델링이다. 강연자는 이와 관련하여 ‘같은 모델링으로 제작이 이루어졌지만, 라이팅이나 랜더링이 달라지면서 최신작의 피가츄는 털이 복슬복슬한 느낌을 준다’고 설명을 덧붙였다.
세 번째 해결책은 ‘애니메이션의 물량대체(物量対策)’다. 포켓몬의 수가 늘어나면서 가장 고민이 이루어진 부분이기도 하다. 다양한 포켓몬들의 움직임을 모두 만드는 것을 어떻게 해결할 것인지에 대한 답이기도 하다.
그간 게임프리크는 각 포켓몬의 애니메이션을 각자 제작하는 방식으로 개발을 했다. 즉, 포켓몬이 점프하는 과정. 잠이 들거나 돌아서는 등의 동작을 개별로 제작했었다. 하지만 공정을 최적화하는 과정에서 개발팀은 한 가지 의문이 들었다고 설명했다.
즉, ‘알통몬과 루카리오. 렌트라와 리피아. 음.. 이거 뭔가 비슷하지 않나?’라는 의문이었다. 비슷하게 생겼다면 비슷한 움직임이 나와도 어색하지 않다는 생각이었다. 이는 세부적인 움직임은 다르더라도 공통적인 움직임이 있어도 어색하지 않다는 생각으로 이어졌고, 결과적으로 일부 움직임을 공유하면서 세부적인 움직임만이 다른 형태로 방향이 잡혔다.
기본적인 움직임은 부위별로 적용되며, 개발 툴에서 각 움직임을 적용하는 방식으로 모션을 만들어낸다. 골격이 다른 경우에는 각 부위별로 모션을 적용할 수 있으므로, 해당 부위를 툴에서 덜어내는 것으로 크기가 달라지더라도 공통 모션이 적용될 여지를 마련했다. 개발에는 모션 캡쳐도 활용했는데, 알통몬과 같은 인간형 포켓몬스터가 그 예다. 알통몬의 경우 실제 사람의 동작을 모션 캡처를 통해서 수집했다.
다만, 이렇게 만들어진 애니메이션들은 모델링과 합쳐지면서 예상치 못한 문제를 낳았다. 뼈대를 움직이는 형태로 만드는 리깅 과정에서 병목현상이 걸린다는 것이었다.
게임프리크는 이를 해결하기 위해 별도의 모델링 리깅 시스템인 ‘포케리그(PokeRig)’를 개발했다. 이는 포켓몬의 외형에 맞게 각 부분들을 다양한 형태로 구성하고. 이를 조절해서 움직임을 만들어낼 수 있는 시스템을 의미한다.
포켓몬을 구성하는 각 부분을 다각적인 형태로 구현하여 움직임을 만들어내며, 뱀과 같이 형태가 긴 레쿠자와 같은 포켓몬들은 전신을 움직이는 것으로 개별적인 움직임을 만들어내는 결과물로 이어졌다.
이렇듯 게임프리크는 ‘아르세우스’와 ‘스칼렛·바이올렛’을 동시에 제작하는 과정에서 작업 과정을 보다 효율적으로 진행하기 위한 고민을 거쳤다. 강연자는 강연의 말미에 이르러 제작 과정의 효율화 / 그래픽 관련 데이터 처리의 조정 / 애니메이션 관련 조정까지 세 개의 해결책이 있었음을 다시금 언급했다. 그리고 이와 같은 과정이 있었기에 두 개의 메인 타이틀을 동시에 개발할 수 있었다는 말을 남기며 강연을 마쳤다.
정필권 기자 mustang@ruliweb.com |