▲ 카메카와 유사쿠 세가 TA

애니메이션하면 흔히 영상 매체 중 한 종류를 일컫고는 한다. 그러나 원래는 여러 장의 화면을 연속 촬영, 조작해 마치 화면 속 물체나 캐릭터가 움직이는 것처럼 보이게 만드는 기법을 의미하는 단어로 쓰였다. 게임 개발 과정에서는 애니메이션을 후자의 의미로 사용하고 있으며, 캐릭터의 움직임을 구현하는 핵심적인 요소로 자리잡았다. 모델링이나 스프라이트로 만들어진 게임 속 캐릭터는 처음부터 자기 스스로 움직이는 것이 아니라, 그 움직임이 어떤 식으로 구현될지 개발자가 하나하나 다듬은 뒤 녹화한 것을 재생하는 형태이기 때문이다.

영상 매체로서의 애니메이션이나, 기법으로서의 애니메이션은 타 방식에 비해서 노동집약성이 매우 크다. 움직이는 대상을 단순히 녹화하는 것이 아니라, 그 동작 하나하나를 사람이 만들어나가야 하기 때문이다. 이러한 과정을 단기간에 하기 위해서는 자연히 많은 인력을 필요로 하게 되고, 단기간에 효율적으로 하기 위해서 종종 외주를 맡기기도 한다.

진여신전생 시리즈 최초의 모바일 게임, 'Dx2 진여신전생 리버레이션(이하 진여신전생 리버레이션)'에는 184종의 악마 캐릭터가 등장한다. 세가의 카메카와 유사쿠 TA는 이들의 애니메이션을 단기간에 만들어야했던 만큼, 외주 작업을 통해서 진행해나갔다고 회고했다. 이 외주 작업이 어떤 식으로 진행됐으며, 개발 시간과 비용을 어떤 식으로 단축해나갔는지 카메카와 TA는 이번 CEDEC 2018 강연을 통해서 공유했다.




카메카와 TA는 '진여신전생 리버레이션'의 개발 지향점을 진여신전생 시리즈 기존 팬들의 기대에 부응하면서, 신규 유저들에게 어필하는 것이었다고 밝혔다. 그러기 위해서는 진여신전생 시리즈의 핵심을 이루는 악마들을 고퀄리티로 만들어야 했다. 그리고 스마트폰 게임의 특성상 빠른 시일 내에 작업이 이루어져야만 했다.


이를 위해서 세가에서는 유니티 엔진을 베이스로 활용했으며, 악마들의 3D 모델링 작업은 Zbrush, SP 같은 툴을 사용했다. 모든 애니메이션 데이터는 산하 개발사인 아틀러스에서 갖고 있었지만, 아틀러스가 갖고 있던 데이터를 3D 모바일 게임에 맞게 다시 뜯어 고치는 작업을 거쳤다.

'진여신전생 리버레이션'의 개발 과정을 살펴보면 2015년 10월쯤에 검증 과정을 거쳤으며, 그 후로 약 14개월 동안 프로토타입과 알파 버전을 만들었다. 그 뒤 2017년 2월부터 약 10개월 동안 3D 모션 작업과 양산 과정을 거쳤으며, 이때 협력회사를 찾고 외주를 맡기기 시작했다. 작업이 끝난 뒤 약 3개월 간의 검수 및 조정 기간을 거쳐서 2018년 1월에 정식으로 출시하게 됐다.

양산 기간이라고 언급한 약 10개월 간 164종의 악마 캐릭터의 애니메이션 작업이 이루어졌다 이는 달 평균 16종 캐릭터의 애니메이션 작업이 이루어졌으며, 1종의 캐릭터당 약 1.3일 정도로 발주, 제작이 이루어졌다는 계산이 나왔다.

▲ 10개월 간 한 개체가 1.3일마다 제작됐다

모션과 애니메이션 작업에 설명하기에 앞서 카메카와 TA는 '진여신전생 리버레이션'에 등장하는 악마의 3D 모델링 사양에 대해서 정리했다. 폴리곤 수는 약 7천에서 만 개를 기준으로 잡았으며, 최대 삽입되는 조인트 수는 100에서 130으로 제한했다. 손가락 모델링에 삽입되는 조인트의 경우 좌우 합쳐서 30개 가량인 경우가 많았다. 전체적인 모델링 퀄리티는 PS3 정도에 대응하는 스펙으로 상정했다. 이러한 기준은 대체로 인간형에 적용했으며, 그 외 유니크한 개체의 경우 별도로 작업을 진행했다.

캐릭터 애니메이션의 경우 한 캐릭터 당 6종류의 모션을 취하도록 했으며, 한 모션 당 50~200프레임, 평균 80프레임 정도의 애니메이션을 제작하는 것으로 방침을 정했다. 애니메이션 작업은 게임 엔진 내의 물리 엔진은 채용하지 않고 전부 다 키프레임 엔진을 활용했으며, 엔진 내에서 스켈레탈 메시나 본 애니메이션 기법도 사용하지 않았다고 카메카와 TA는 덧붙였다.


애니메이션 작업에 본격적으로 들어가기 전에 콘티를 문서로 작업하는 과정이 우선 진행됐다. 아틀라스의 감수 하에 콘티가 완성되면 모델링 작업에 들어가고, 여기에 뼈를 붙이는 리깅 작업에 들어갔다. 그 다음에 이어지는 모션 제작 과정을 외주로 진행했으며, 이 결과물을 사내에서 체크하고 유니티 엔진에 적용한 뒤 아틀라스에 감수를 받는 방식으로 워크플로우가 진행됐다.


카메카와 TA는 외주를 효과적으로 주기 위해서는 사전에 준비가 필요했다고 설명했다. 우선 발주할 때 제공할 자료가 필요했기 때문에 이를 작성해야 했으며, 조건에 맞는 회사를 조사해야 했다. 그리고 후보군을 추려낸 뒤 외주를 맡길 업체를 최종적으로 선정하기 위해서 트라이얼도 준비해야 했다.

이 과정을 다 거친 뒤에야 외주를 들어가게 되는데, 외주 작업이 성공적으로 진행되기 위해서는 추가로 더 고려해야 할 사항이 있다고 카메카와 TA는 조언했다. 가장 중요한 요소로는 개발 조건에 맞는 회사를 선정하는 것과, 작업 공정에 여유가 있는 스케쥴을 짜는 것이라고 강조했다. 특히나 여유로운 스케쥴은 종종 외주를 맡기는 회사들이 실수하는 부분이라고 지적했다. 단순히 제작 공정에 들어가는 시간만 계산하기 때문에, 수정 작업에 소요되는 시간을 계산하지 않는 경향이 있기 때문이다. 공정은 감수가 끝나기 전까지 계속 진행되는 만큼, 여기까지 고려한 스케쥴에 맞춰서 외주 회사를 선정하는 것이 중요하다고 재차 강조했다.

종종 일단 맡기고 보자는 식으로 발주자료를 넘기는 경우가 있는데, 카메카와 TA는 발주 자료는 최대한 심플해야 하며 체크 기준도 명확하게 잡아야 한다고 지적했다. 자료가 난잡하면 이를 외주 회사에서 받고 그에 맞춰서 작업에 들어가기가 어려워지는 건 당연한 이치이기 때문이다. 또한 외주 작업은 한 번 맡기고 결과물을 받는 것으로 끝나는 작업이 아니라, 지속적으로 소통과 수정이 이루어지는 과정이다. 따라서 이러한 과정에 명확한 기준을 제시하는 것이 필요한 것은 자명한 이치라고 덧붙였다.

리깅 작업의 경우 리깅한 사람과 이를 토대로 애니메이션을 넣는 사람이 동일하지 않기 때문에, 다른 누가 작업해도 쉽게 그 구조를 작업하는 것이 좋다고 카메카와 TA는 조언했다. 또한 애니메이션 작업 중에 종종 안에 심은 뼈대를 일부 수정해야 하는 경우도 있기 때문에, 손질하기 쉽도록 리깅을 하는 것도 중요하다고 덧붙였다.

▲ 아웃소싱을 성공적으로 하기 위한 조건

그렇다면 개발 조건에 맞는 협력 업체를 선정하기 위해선 어떤 점을 봐야 할까? 카메카와 TA는 경험과 실력을 손꼽았다. '진여신전생 리버레이션' 개발 당시에는 간단히 문서화한 콘티만으로도 모션을 작성할 수 있고, 인게임 모션 제작 경험이 풍부한 업체를 최우선시했기 때문이다. 여기에서 카메카와 TA는 무비, 컷신 제작 경험과 인게임 모션 제작에는 다른 기술이 들어간다는 점을 강조했다. 종종 외주를 맡길 때 단순히 모션 제작 경험을 세분화하지 않고 업체를 선정했다가 낭패를 보는 일도 있기 때문이다. 또한 체크한 사항이나 요구 조건에 대한 리스폰스가 빨라야 한다는 것도 조건으로 걸었다. 그래야 작업이 빠르게, 스무스하게 이어지기 때문이다. 물론 가격 역시도 고려해야 할 사항이라고 카메카와 TA는 덧붙였다.
.
협력 업체를 선정하게 되면, 해당 업체에게 발주 자료를 제공하게 된다. 카메카와 TA는 '진여신전생 리버레이션' 개발을 위한 발주 자료는 전 캐릭터에 공통으로 적용되는 공통 자료와 악마 캐릭터 하나하나 제작할 때 사용하는 개별자료 두 가지로 구분했다. 이 자료를 작성할 때 가장 유의한 부분은, 게임 내에서 보이는 방향과 프로그램에서 어떤 식으로 처리할 것인지 설명하는 부분이었다. 아울러 각 악마 캐릭터에 대한 문서화된 자료 역시도 중점적으로 체크했다.

종종 외주 작업을 맡길 때, 게임 내에서 캐릭터가 어느 부분이 주로 노출되고 어떤 방향에서 플레이어가 캐릭터를 보게 되는지를 잊을 때가 있다. 심지어 일부에서는 단순히 캐릭터의 움직임을 구현하면 그것으로 모든 작업이 끝났다고 생각하기도 한다. 그렇지만 어떤 각도에서 자연스러워보이는 동작도, 다른 각도에서는 괴리감이 느껴지기도 한다. 때로는 카메라와 UI, 캐릭터의 위치에 따라서 캐릭터 신체 일부가 가려지는 일도 발생해 수정이 불가피해진다. 이러한 리드 타임을 줄이는 것이 코스트 절감의 핵심인 만큼, 이 부분을 항상 신경써야 한다고 카메카와 TA는 조언했다.

▲ 게임상에서 어느 각도에서 애니메이션이 재생되는지를 사전에 협력 업체에게 알려줘야 한다

'진여신전생 리버레이션'의 각 캐릭터별 콘티에는 캐릭터의 개요, 움직임의 방향성 등을 표기했다. 이를 통해서 협력업체들이 각 캐릭터를 이해해서 그 캐릭터에 맞는 움직임을 구현해나가도록 한 것이다. 일부 캐릭터의 경우 해서는 안 되는 동작도 있는데, 추가로 명시해서 실수로라도 협력 업체들이 이를 구현하지 않도록 했다.

발주용 자료까지 완성이 되면 협력 업체를 구하기 위한 트라이얼 단계에 들어가는데, 이 단계에서 카메카와 TA가 확인하고자 하는 협력업체의 기술은 모션 작성 분야에 있어 기술력이었다. 기술력이라고만 명시하면 다소 모호한 표현이 되기 때문에, 모션을 자연스럽게 만들기 위해서 기본적으로 갖춰야 할 사항을 분류하고 이를 체크해나갔다.

게임 속의 자연스러운 동작은 물리법칙을 위배하지 않고, 중심이동에 대한 이해도가 있을 때 구현된다. 현실은 물리법칙이 적용되는 공간이기 때문에, 물리법칙에 어긋나는 동작은 아무래도 어긋나보일 수밖에 없기 때문이다. 동작과 동작 사이의 예비 동작도 턴제 방식의 '진여신전생 리버레이션에서 잘 다듬어져야 했다. 또한 자연스러운 움직임을 위한 동작 간의 완급 조절 능력 등도 카메카와 TA가 트라이얼에서 협력 회사들에게 요구한 조건이었다.

그 외에도 애니메이션이나 아트 스타일이 진여신전생 시리즈에 맞는지, 제작 스피드나 전체적인 퀄리티가 어떤지도 총체적으로 확인하면서 협력 회사가 될 회사들의 제작 능력을 평가했다. 카메카와 TA는 그 다음에 해당 회사들의 커뮤니케이션 코스트에 대해서도 파악했다고 밝혔다. 창작물을 외주작업 맡기는 일은 단순히 발주 의뢰를 하고, 결과물을 받기만 하는 작업에 그치지 않기 떄문이다. 서로가 작업 현황을 공유하고 피드백을 거칠 때 비로소 의도한 결과, 혹은 그 이상의 결과가 나오게 되는 것은 기본적인 사항이다. 그러나 기본적인 것인 만큼, 은연중에 무시하기 쉽다.

협력업체와의 소통은 대부분 작업물을 검수하고 이를 수정, 다시 확인하는 형태로 이루어진다. 그만큼 검수 작업에서의 소통 문제가 많이 발생한다. 이를 해결하기 위해서는 카메카와 TA는 우선 지시는 구체적이어야 한다고 강조했다. 추상적으로, 예를 들어서 "좀 더 쉭! 하는 느낌?" 이런 류의 지시는 오히려 협력업체를 곤란하게 만든다. 어떤 대상의 특정 동작에 빗대거나 하는 식으로 구체적인 무언가가 필요하다. 때로는 글로 전해지지 않는 느낌도 있는데, 이런 사항들을 파악해서 영상이나 이미지 등 다른 방식으로 지시를 내리는 것도 필요하다.


'진여신전생 리버레이션'은 시리즈물이었기 때문에 감수 담당자가 지정한 애니메이션, 모션을 최대한 살려나가는 방향으로 검증을 진행했다. 디렉터 또한 악마의 모션이 팬들을 위해서 시리즈 대대로 나온 매력적인 캐릭터들의 디자인이 살아날 수 있게끔 작업해달라는 요구를 하기도 했다.이에 모델링팀에서는 최대한 3D 모델링과 리깅을 원화에 맞춰서 구축해나갔다.

이 과정에서 때로는 문제가 발생하기도 했다. 예를 들어서 잔다르크는 기본 자세가 앉아있는 자세인데, 앉아있는 자세에서 바로 공격에 들어가는 것은 부자연스러워보였다. 뿐만 아니라 적을 공격한 뒤, 바로 자리에 돌아와서 앉거나, 혹은 잠깐 서있다가 갑자기 앉는 것도 억지스러운 동작이었다. 이 부분은 서있는 자세라는 예비 동작을 구현하고, 이를 공격과 다음 자세 사이에 끼워넣으면서 동작 간의 연결을 부드럽게 이어나가는 방식으로 해결했다. 또한 앉은 자세는 UI에 가려져서 카메라에 잘 안 보인다는 단점이 있었는데, 이는 카메라 앵글을 바꾸는 식으로 해결했다.

▲ 앉아있는 자세가 디폴트인 잔다르크에 자연스러운 애니메이션을 주기 위해서

▲ 중간중간 서있는 자세, 서있을 때 자연스러운 동작을 끼워넣었다

리깅 작업은 전부 회사 내에서 진행했으며, 인체 리깅의 경우 손과 발은 IK, 즉 가장 상위에 놓은 오브젝트와 가장 하위에 있는 오브젝트만을 기준으로 모션을 주고 중간 계층 오브젝트가 자동으로 움직이도록 했다. 척추와 머리는 RFK로 제작했다. 흔들거리는 물체, 예를 들어 머리카락과 옷 같은 것은 FK로 두었으며, 뱀이나 용 같은 경우에는 스플라인IK로 설정했다. 작업은 마야로 진행했으며, 여기에서 플러그인이나 커스텀노드는 사용하지 않고 유틸리티노드, 애셋기능 정도만 사용했다.

마야로 작업할 때 많이 사용하는 플러그인과 커스텀노드를 사용하지 않고 기본적인 부분만 활용하는 이유는 간단했다. 하나의 회사에서 작업을 진행하는 것이 아니라 여러 회사에서 작업을 같이 진행하기 때문이었다. 각 회사마다 주로 사용하는 플러그인과 커스텀노드가 달랐고, 이를 활용해서 나타내는 모션의 스타일 등이 제각각 달라질 수도 있었기 때문이다. 따라서 카메카와 TA는 통일성 등의 이유로 최대한 기본 단계의 툴만 사용하는 것으로 정했으며, 유틸리티노드와 애셋 정도만 활용하는 방향으로 잡았다. 이것이 가능했던 이유는 캐릭터는 많지만, 캐릭터당 구현해야 하는 움직임이 적었기 때문이었다.

▲ 여러 회사에서 한 번에 같이 작업하는 만큼, 통일성을 위해 기본 기능 위주로 활용해야 했다

리깅 작업을 효율적으로 하기 위해서 일반적으로 사전에 미리 만들어야 하는 툴의 종류를 지정하고, 이를 먼저 구축해나가게 된다. '진여신전생 리버레이션' 작업에서도 이는 마찬가지였고, 작업에 들어가기에 앞서서 사용하게 될 리그의 종류를 구분했다. 캐릭터의 종류는 다양하지만 구분을 한다면 표준적인 인간형, 역관절이 들어간 새나 기계 같은 캐릭터, 뱀이나 용 같은 캐릭터 등이 있었다. 이러한 캐릭터들에게 들어가는 뼈대와 조인트에 대해서 하나하나 파악해나갔고, 그에 따라서 표준적인 인간형 리그를 작성하는 툴, 손가락 리그 작성 툴, 쓰리본 IK 리그 작성툴, 스플라인 IK 작성툴, 컨트롤러 조정 툴 등 하나하나 툴을 만들어나갔다.

스플라인 IK와 IK를 따로 나눈 이유는, 뱀이나 사슬, 용 같은 오브젝트의 움직임을 보다 자연스럽게 하기 위해서였다. 스플라인 IK 툴에서는 스트레치 온오프 기능이 있는데, 이를 활용하면 곡선으로 오브젝트가 움직일 때 뼈대가 늘어나면서 보다 자연스러운 곡선을 그린다. 현실의 물리법칙에서 볼 때 이는 부자연스럽다고 여길지 모르지만, 스트레치를 하지 않았을 때 직각, 혹은 예각에 가까운 운동보다 자연스러운 느낌을 준다고 카메카와 TA는 설명했다.

유니티 엔진에서 애니메이션 작업을 하는 것이 아니라 마야에서 작업한 것을 유니티로 이식하기 때문에 종종 애니메이션에 문제가 발생하기도 한다. 카메카와 TA 역시도 이러한 문제를 겪었다고 밝혔다. 용이나 뱀처럼 신체가 길고, 조인트와 뼈대가 많은 개체의 경우 뼈대가 수많은 계층으로 나뉜다. 이를 그대로 대입하게 되면, 애니메이션 구현 간에 오브젝트와 오브젝트의 키값에서 노이즈가 발생한다.

▲ 마야에서 작업한 작업물에 종종 노이즈가 발생할 때가 있다

이러한 노이즈가 발생하는 이유는, 유니티에서는 마야와 달리 키프레임을 사이사이에 주고, 이를 단순 재생하는 형태로 애니메이션이 구현되기 때문이다. 마야에서는 애니메이션커브를 조절해서 회전이나 곡률, 직률 등을 세팅하지만 유니티는 이러한 구조가 아닌 만큼, 키프레임 간 재생 중에 노이즈가 발생하는 경우가 있던 것이다.

이 부분은 병렬구조를 바꾸면서 해결됐다. 몇 중으로 얽힌 부모-자식 오브젝트 구조를 핵심 뼈대-그 외 나머지 뼈대의 2원 구조에 가까운 단순 병렬 구조로 바꾼 것이다. 일반적으로 이렇게 스플라인IK를 활용하지 구성하게 되면 웨이트가 걸릴 때의 동작 확인을 하기가 어렵다는 단점이 있어서 잘 사용하지 않는다. 그렇지만 '진여신전생 리버레이션'은 웨이트가 걸리거나 하지 않기 때문에, 이를 과감하게 수정이 가능했다.

▲ 리깅 오브젝트의 계층을 단순화, 병렬화하면서 이 문제를 해결했다

게임 개발에서 비용을 최소화하기 위한 방법으로 많은 개발자들이 리드 타임의 최소화를 꼽는다. 카메카와 TA는 이는 단순히 자체 개발에서뿐만 아니라, 외주로 맡길 때에도 적용된다고 강조했다. 단순히 단가를 싸게 책정한다거나, 그런 것만으로는 비용의 절감이 일어나지 않으며, 코스트를 적게 들여서 발주하기 위해서는 그만큼 사전에 준비하는 것도 필요하다. 리드 타임을 줄이기 위해서는 중간중간에 소모되는 시간을 최소화하듯이, 외주 작업에서도 협력 업체가 발주 자료를 읽고 이를 해석하는 시간을 단축하기 위해서 자료를 최대한 간단히 작성해야 한다.

발주 준비가 됐으면 그 다음에는 조건에 맞는 회사를 찾아나가는 과정을 거치게 되고, 일정을 짜게 된다. 항상 작업 간에는 검수, 수정 과정이 동반되기 때문에 이를 고려해서 스케쥴을 여유있게 짜는 것도 중요하다고 카메카와 TA는 강조했다. 그리고 앞서 언급한 것처럼 리깅은 수정 작업을 쉽게 할 수 있도록 최대한 단순화하면서, 자주 사용하는 기능은 툴로 작성해서 작업 속도를 높이고 실수를 줄이는 과정을 거치는 것이 좋다고 덧붙였다.


게임 개발 과정에서는 항상 비용과 시간의 절감이라는 숙제가 주어진다. 그래서 자체 작업이 불가능하거나, 혹은 비효율적인 부분은 외주를 맡기는 경우도 종종 있다. 외주 작업을 맡길 때에도 개발 시간과 비용 절감이라는 과제는 항상 자리잡고 있는데, 카메카와 TA는 자신의 이 팁이 과제 해결에 도움이 되기를 바라면서 강연을 마쳤다.


8월 22일 개최된 일본 개발자 컨퍼런스 CEDEC 2018의 강연 정보와 뉴스를 현지에 나가 있는 박광석, 윤서호 기자가 생생하게 전달해드립니다 ▶ 인벤 뉴스센터: https://goo.gl/ha5vNc