언리얼 엔진의 강력함을 적극적으로 활용한 이 팀들은 리얼타임 렌더링, 모션 캡처, 페이셜 캡처로 포토리얼한 디지털 휴먼 제작이 가능하다는 것을 2016년 헬블레이드: 세누아의 희생(Hellblade: Senua's Sacrifice), 2017년 미트 마이크(Meet Mike), 앤디 서키스(Andy Serkis)가 연기한 2018년 오시리스 블랙(Osiris Black), 2018년 사이렌(Siren) 데모 프레젠테이션 과 놀라울 정도로 인상 깊었던 2018년 디지더그(DigiDoug) 를 통해 증명했습니다.
3레터럴(3Lateral)과 큐빅모션(Cubic Motion)의 성공을 보고 감명받은 한국의 크리에이티브 스튜디오 자이언트스텝(Giantstep)은 디지털 휴먼을 직접 제작하기 위해 프로젝트 빈센트(Project Vincent) 를 시작했습니다. 파트너사와의 공동 개발에 대해서도 많은 논의 및 조사 끝에, 결국 스튜디오의 R&D 부서인 GxLab이 자체 기술 개발에 도전하게 되었습니다. 스튜디오의 직원이었던 VFX 아티스트 다이스케 사카모토를 비롯한 5명의 아티스트로 개발을 시작하면서, 개발팀은 극복해야 할 3가지 주요 과제를 신속히 파악했습니다.
스킨과 헤어: 비주얼 관련 기술 문제
자이언트스텝의 R&D 디렉터인 강성구 씨는 필요한 셰이더 기술을 확보하는 것이 첫 번째 기술 과제였으며, 이는 언리얼 엔진을 선택한 이유 중 하나였다고 설명했습니다. "언리얼 엔진의 머티리얼 에디터와 스킨 라이팅 모델의 투과(Transmission)와 듀얼 로브 스페큘러(Dual Lobe Specular)와 같은 강력한 스킨 셰이딩 기능이 추가 개발 없이 빈센트의 스킨 퀄리티를 오프라인 렌더링 수준으로 끌어올리는 데 큰 역할을 했습니다"라고 말했습니다. "이런 기능을 지원하지 않았다면 직접 개발하는 데 엄청난 시간과 인력, 비용이 들었을 것입니다”라고 덧붙였습니다.개발팀은 언리얼 엔진의 온라인 학습 강좌로 기술 개발 과정과 특징을 습득했습니다. 또한 개발자들은 필요할 때마다 소스 코드에 액세스해 각 기능이 정확히 어떤 역할을 하는지, 어떤 공식을 사용하는지, 어떤 특징을 갖는지 이해하며 기술의 핵심을 파악하고자 했습니다. 강성구 씨는 "가능한 모든 정보를 활용해 파라미터 변경에 따라 달라지는 결과에 대해 정확하게 이해할 수 있었기 때문에, 무작위로 숫자를 입력하고 결과를 운에 맡기는 것이 아니라 명확한 의도에 따라 해당 정보를 활용할 수 있었습니다."라고 설명했습니다. "머티리얼 인스턴싱을 사용하면 즉각적으로 파라미터를 변경하고 결과를 미리 확인하는 데 아주 유용했습니다. 특히 마지막 미세 조정 단계에서 시간을 극적으로 절약할 수 있었습니다"라고 덧붙였습니다.
에픽게임즈가 제공한 미트 마이크 무료 애셋 샘플은 빈센트의 비주얼을 구현하는 데 필요한 기술에 대한 실마리가 되었습니다. 개발팀은 애셋을 살펴보면서 얼굴 잔털을 어떻게 표현할지 와 머리카락의 최종 형태에 어떤 종류의 데이터가 필요한지 등 필요한 정보를 얻었습니다.
특히 Maya 또는 3ds Max 같은 DCC 툴의 기본 데이터 외에도 추가 데이터가 필요하다는 것을 알게 되었으며, 이를 통해 어떻게 데이터를 효과적으로 미리 구성할지 파악할 수 있게 됐습니다. 강성구 씨는 이와 관련해 "개발자들은 이 모든 정보로 Maya 플러그인과 스크립트 개발 목표를 확실하게 세워 개발 시간을 단축할 수 있었습니다”라고 했습니다.
개발팀은 미트 마이크 에서 얻은 데이터를 템플릿으로 사용하면서 자체 프로젝트를 위해 개발했던 전용 툴이 유효하다는 확신을 가졌습니다. 그때 개발했던 툴 중 하나는 Maya 헤어 익스포트 툴이었습니다. 개발팀은 미트 마이크의 기본 데이터를 기반으로 이 툴을 1차 개발하고, 체계적으로 빈센트만의 기능을 포함한 툴로 확장했습니다. 탄탄하고 증명된 템플릿 덕분에, 처음부터 다시 시작할 때 필요한 모든 경우의 수에 대한 R&D 과정을 생략할 수 있어서 많은 시간을 절약했습니다. 강성구 씨는 "R&D 단계 이후에도 선택된 방식이 맞는지에 대한 끝없는 의심 때문에 개발 과정이 훨씬 불안정하고 지연됐을 것"이라고 강조했습니다.
이와 비슷한 예로, 투과와 듀얼 로브 스페큘러 등 미트 마이크의 스킨 셰이더에서 효과적으로 얼굴 영역을 나누고 블렌드하는 방법을 찾을 수 있었습니다. 개발팀은 이런 정보로 Maya에서 얼굴 영역 정보를 설정하고 익스포트하는 툴을 제작했습니다.
"이 툴이 갖춰야 할 최소한의 기능에 대해 확신이 있었고, 얼굴 영역의 계층구조를 구성하는 방법에 대해 알고 있었기 때문에, Maya 페이셜 툴 설계와 개발 과정에서 시간을 많이 절약할 수 있었습니다"라고 강성구 씨가 말했습니다. "언리얼 엔진의 기능과 샘플을 활용해서 빈센트의 기반을 만들고, 우리가 원하는 니즈에 맞게 추가 기능을 개발하여 마침내 빈센트의 최종 모습을 완성했습니다”라고 설명했습니다.
리얼타임으로 생동감 있는 표정 제작
개발팀이 직면한 두 번째 기술 문제는 효과적인 표정을 위한 기술의 선택과 도입이었습니다. 당시 많은 솔루션을 검토했으나, 대부분 오프라인 렌더링이 기본값인 솔루션으로 퀄리티가 비디오 게임 수준으로 낮거나 아이폰(iPhone)의 페이셜 캡처 기능을 사용해 디테일의 수준 또는 커스터마이징 역량에 한계가 있었습니다. 그래서 가장 알맞은 기술을 연구하고 그 바탕으로 자체 솔루션을 개발하는 방향을 결정했습니다.첫 번째 업무로써 개발팀은 어떤 솔루션이 정확한 3차원 위치 데이터를 제공하면서 데이터 형태에 대한 높은 자유도를 제공하는지 검토했습니다. 그 결과, 니즈를 가장 충족시켜주는 페이셜 애니메이션 캡처 시스템인 바이콘 카라(Vicon Cara)로 결정하게 됐습니다. 바이콘 카라는 머리에 장착하는 카메라 장비이며, 전면에 글로벌 셔터를 장착한 카메라 4개로 마커의 위치를 파악합니다. 이 장비로 마커 위치를 매우 유연하게 설정하고, 그 위치를 아주 정확한 3차원 데이터로 전환할 수 있습니다.
강성구 씨는 "당시에 대부분의 솔루션은 페이셜 랜드마크의 2차원 위치 정보 데이터를 스캔만 할 수 있었습니다. 3차원 데이터를 캡처하는 카라는 좋은 선택이었습니다"라고 말했습니다. "하지만 카라는 오프라인 렌더링을 위한 솔루션으로, 리얼타임 데이터 전송이 불가능했습니다. 이 문제를 해결하기 위해 2D 이미지에서 3D 마커 위치를 딥러닝으로 유추하는 뉴럴 네트워크를 제작하기도 했습니다"라고 말했습니다.
먼저 카라에 카메라를 하나 더 추가했습니다. 배우의 얼굴 움직임을 캡처할 때, 추가된 카메라의 영상을 따로 저장하고 학습 데이터로 활용했습니다. 이는 영상과 계산된 3차원 마커 위치 값을 일치시키는 방법을 기반으로 합니다.
이를 통해 개발팀은 2D 이미지 입력으로 3D 마커 위치를 높은 정확도로 유추하는 인공지능을 개발했습니다. 이외에도 표정 강조나 블렌드 셰이프 웨이트 구성 등 가능한 많은 분야에 머신러닝을 적극적으로 활용했습니다. 강성구 씨는 이 과정에 대해 설명합니다. "자이언트스텝은 이 과정에서 머신러닝에 대한 많은 경험을 얻었습니다. 특히 머신러닝을 효과적으로 사용하면 소규모 팀의 한계를 돌파할 수 있다는 점에서 힘을 얻었습니다”라고 설명했습니다.
디지털 휴먼 파이프라인 최적화
마지막 기술 과제는 파이프라인 최적화를 위한 기술을 확보하는 것이었습니다. 팀 규모가 작은 만큼 자이언트스텝은 효율성이 핵심이라는 것을 바로 깨달았습니다. 가장 중요한 계획은 수동 반복처리의 부담을 줄이고 최대한으로 자동화하는 것이었습니다. 이에 강성구 씨는 "언리얼 엔진을 사용한 또 다른 큰 이유 중 하나였습니다"라고 말했습니다. "언리얼 엔진의 Python 지원과 플러그인 제작의 편의성으로 여러 영역에서 발생하는 디자이너의 반복처리 문제를 쉽게 해결할 뿐만 아니라 관련 툴도 쉽게 개발할 수 있었습니다"라고 덧붙였습니다.예를 들면, 개발팀이 포토리얼한 표정을 작업할 때 얼굴을 나누는 영역을 다양한 모양과 개수로 조합해보고 그 결과를 최대한 빨리 확인해야 했습니다. 얼굴 영역을 변경하면 텍스처를 새로 조합하고, 애셋을 다시 임포트해야 하며, 머티리얼 구성 내용까지 환경설정에 따라 변경해야 했기 때문입니다. 강성구 씨는 이에 "만약 이 과정을 수작업으로 진행한다면 아티스트는 하루종일 단순 반복처리 작업을 해야 결과를 확인할 수 있습니다"라고 말했습니다.
그래서 관리팀은 언리얼 엔진의 Python 스크립트를 사용해 애셋 임포트 관리처럼 고된 관리 과정을 자동화했습니다. 머티리얼 구성 설정 플러그인으로는 얼굴 영역 정보가 바뀔 때마다 수작업으로 페이셜 머티리얼 노드를 수정할 필요없이 텍스처 조합과 생성은 물론 머티리얼 구성까지 자동으로 진행할 수 있었습니다.
강성구 씨는 이에 "데이터가 바뀔 때마다 꼬박 하루가 걸렸던 일이 단 몇 분 만에 자동으로 완성됐습니다"라고 말했습니다. "다양한 Maya 플러그인과 스크립트, 언리얼 엔진 플러그인 개발로 최대한 자동화한 결과, 적은 인원으로도 프로젝트 빈센트 를 빠른 시간 안에 완성할 수 있었습니다"라고 소감을 밝혔습니다.
영화를 초월한 리얼타임 디지털 휴먼의 미래
프로젝트 빈센트 를 시작했을 때는 기존의 포토리얼한 리얼타임 디지털 휴먼이 소수의 핵심적인 작품에만 제한되어 있었고, 대부분은 에픽게임즈와 협력해 공동 개발되었습니다. 빈센트는 소규모 팀이 자체 개발한 리얼타임 디지털 휴먼의 2 세대입니다. 그 성공으로 자이언트스텝은 시그라프 2019(SIGGRAPH 2019)의 에픽 부스에 초대되었고 작품을 선보인 세션을 진행하기도 했습니다.다른 스튜디오들이 계속해서 디지털 도메인, 자이언트스텝, 3레터럴, 큐빅모션 등이 쌓아놓은 기반에 이어 개발하는 가운데 리얼타임 디지털 휴먼 제작 기술은 전통적으로 오프라인 렌더링 기술에 의존하던 영화와 다른 미디어 그리고 엔터테인먼트 분야의 제작 방식에 혁신을 가져올 것으로 예상되며 다른 산업으로도 확장될 것으로 보입니다. AI 스피커 또는 비서와 연동하면 사용자들은 보다 직관적인 AI 서비스를 경험할 수 있습니다. 또한 고퀄리티의 극사실 캐릭터를 제작해 효과적인 첨단 마케팅 및 홍보 등에 활용할 수도 있습니다. 자이언트스텝은 이러한 역사의 중심이 되기 위해 자체 기술을 더 발전시키는 데 주력하며 다음 개발 결과물을 최대한 빠르게 공개할 계획입니다.
직접 디지털 휴먼을 제작하고 싶으신가요? 언리얼 엔진을 다운로드하고 미트 마이크 무료 애셋 샘플로 시작해 보세요.