Search Unity

비주얼 이펙트 그래프를 활용한 캐릭터 제작은 유니티 데모 팀에게 흥미로운 도전 과제였습니다. 데모 팀의 테크니컬 아티스트 아드리안 라자는 렌더링이 끝날 때까지 오랜 시간을 기다릴 필요 없는 실시간 렌더링의 중요성을 강조합니다. 이번 포스팅에서는 모건(Morgan) 캐릭터의 제작 과정에 대해 자세히 알아보고, 유용한 VFX 제작 팁을 소개합니다.

저는 아드리안 라자입니다. 컴퓨터 그래픽스 업계에서 일한 지 18년 정도 되었습니다. 광고 업계의 포스트 프로덕션에서 시작해서 2009년에 게임 개발 분야의 실시간 그래픽스로 옮겨 왔습니다. 최근 몇 년간은 제너럴리스트로 기술적인 아트 작업을 담당했고, 덕분에 규모는 작지만 우수한 역량을 갖춘 팀과 함께 자체 인디 타이틀을 출시하기도 했습니다.

2019년 초, 테크니컬 아티스트로 유니티 데모 팀에 합류하여 더 헤러틱(The Heretic) 1부 출시를 앞두고 마무리 이펙트 작업을 지원했습니다. 그 후 얼마 안 되어 저희는 더 헤러틱 2부에 나오는 신적 존재인 모건이라는 캐릭터를 제작하기 시작했습니다.

스토리텔링 측면에서 베스(더 헤러틱의 작가이자 감독 겸 크리에이티브 디렉터인 베셀린 에프레모프)의 요구 사항은 명확했습니다. 모건 캐릭터는 침착함과 분노가 공존하고, 여성의 모습과 남성의 모습을 넘나들며, 수배나 커졌다가 다시 붕괴되고, 또 화염에 뒤덮이는 등 자유자재로 다양한 형태를 띠어야 했습니다.

베스는 모건의 외모에 대해서는 의도적으로 탐색과 실험의 여지를 남겨두었습니다. 이전 팀원인 조지 시메오노프가 만든 초기 컨셉이 몇 가지 있었지만, 최종 디자인의 근간을 이루는 시각 효과와 모건 캐릭터의 변형적인 특성에 적합하지 않았습니다. 따라서 백지 상태에서 시작하는 흥미로운 도전이 되었습니다.

컨셉 아트

항상 사용하던 Houdini 3D로 초기 테스트를 시작하여 초기 아이디어를 구상하고, 베스와 의견을 주고받았습니다.

실시간 단편 영상 제작 과정에서는 이펙트를 손쉽게 다듬고, 캐릭터가 주변 상황에 적절하게 반응할 수 있도록 모건 캐릭터에 사용하는 효과를 Unity로 개발하기를 원했습니다. 따라서 타사 소프트웨어로 이펙트를 사전 시뮬레이션하는 방식을 버리고 다른 방법을 찾아야 했습니다.

유니티 데모 팀에서 일하는 것의 장점은 일상적으로 사용되는 도구와 프로세스를 테스트 및 개선하고, 때로는 개발할 수 있다는 겁니다.

초기 테스트 영상

모건을 제작할 당시에는 두 가지의 흥미로운 기회가 있었습니다. 하나는 실시간으로 실행되는 복잡한 VFX 기반 캐릭터를 만드는 일이었고, 다른 하나는 복잡한 이펙트를 실시간으로 제작하는 것이었습니다.

몇 년 전만 해도 최종 환경에서 원하는 카메라 각도와 최종 조명, 포스트 프로세싱, 기타 시각 효과를 사용하여 캐릭터의 모습을 개발하고 다듬는 것은 상상할 수 없던 일이었습니다.

쉽지 않은 과제였지만 팀원들이 합심하여 노력한 끝에 두 가지 목표를 모두 이룰 수 있었습니다.

시각적 측면을 실험해봐야 하는 상황에서, 실시간 재생과 실시간 제작 두 가지를 기술적 목표로 삼고 당시 개발 초기 단계에 있던 쥘리앵 프라이어와 파리(Paris) 팀이 개발한 비주얼 이펙트 그래프를 살펴보기 시작했습니다.

당시 VFX 그래프는 출시된 지 얼마 되지 않았고, 실시간 제작에 본격적으로 활용하기에는 이른 감이 있었습니다. 하지만 잠재력은 무궁무진했습니다. 특히 이펙트를 DCC(디지털 콘텐츠 제작 도구)로 시뮬레이션하고 Unity로 익스포트하여 평가한 다음 DCC로 다시 가져와서 미세 조정하는 과정을 거치지 않아도 된다는 점이 마음에 들었습니다.

때로 최종 마감까지 불과 몇 시간을 남겨두고 변경을 수행해야 하는 경우도 있기 때문에 실시간 그래픽의 역할이 매우 중요했습니다.

바디 전체에 파티클이 흐르는 모건의 초기 버전

시각적 디자인과 기술

디자인에 따른 기술을 구현하면서 반복 작업이 계속되었습니다. 일단 구현하고자 하는 아이디어를 정하면 이를 위한 기술을 마련해야 합니다. 하지만 제작 과정은 결코 간단하지 않습니다. 제작 방향이나 기술적 제약으로 인해 중간에 아이디어가 변경되고 수정되는 경우가 발생하기 때문입니다.

대규모 프로젝트에 사용된 적이 없는 도구를 가지고 복잡한 VFX 기반 캐릭터를 실시간으로 제작했기 때문에 상황이 더욱 어려웠습니다.

캐릭터의 두 번째 메이저 버전

모핑 이펙트 두 번째 버전

 

기술과 룩뎁(look-dev)은 서로 밀접하게 연결되어서 두 가지를 모두 진행하면서 신속하게 개선하고 실험하는 작업은 전반적으로 무척 즐거웠습니다. 정식 제작이 아닌 컨셉 아트 작업에 더 가까운 방식으로 비주얼 연출을 변경하면서 느꼈던 창작의 자유로움은 매우 매력적이었습니다.

신속한 실험으로 인한 또 한 가지 장점은 방향을 빠르게 변경하고 테스트의 목적을 재설정할 수 있다는 점입니다. 예를 들어 얼굴 부분에서 디테일 작업을 할 때 원래 가졌던 목적과 달리 새로운 방향을 설정하여 모발을 차분하게 만든 버전을 얻을 수 있었습니다.

모발의 변화

하지만 다른 부분이 준비되지 않아서 진행에 차질이 생기기도 했습니다. 캐릭터를 창의적으로 구현할 방법을 찾지 못했거나 주어진 기술로 원하는 바를 구현할 방법을 찾지 못하면 작업을 진행할 수 없었습니다.

하지만 다행히도 팀원들의 도움을 받아 매번 문제를 해결할 수 있었습니다. 아래의 팀원들에게 감사를 표합니다.

  • 블라드 네이코프(리드 그래픽 테스트 엔지니어)는 모든 질문에 성심껏 답해주고 어려운 기술 문제를 해결하는 방법에 관한 아이디어도 제공해주었습니다.
  • 쥘리엥 프라이어(VFX 그래프 리드 프로그래머)는 모건을 최적화하는 데 도움을 주었습니다. 더 헤러틱과 같은 내부 제작물을 사용하여 도구를 스트레스 테스트한 결과 새로운 개선 방향을 찾았습니다. 모건의 성능 요구 사항을 충족하기 위해 LOD 시스템을 개발했으며, 이 도구는 모든 VFX 그래프 사용자에게 제공될 예정입니다.
  • 파코(플래멘 탐네프, 데모 팀 3D 아티스트)는 모건에 꼭 필요한 비주얼 패스(visual pass)를 지원해 주었습니다.
  • 크라시(크라시미르 네체프스키, 애니메이션 디렉터)는캐릭터의 릭과 애니메이션을 총괄하면서 모션 캡처까지 담당했고, 운석과 관통 장면의 효과가 어떻게 구현되어야 하는지에 관해 소중한 피드백을 전해 주었습니다.

세 번의 메이저 버전과 수없이 많은 실험을 거쳐 최종 마감일이 거의 다 되어서야 모건의 최종 버전이 완성되었습니다.

 

모건의 최종 버전

모건의 주요 특징

  • VFX 모핑: 모건을 뒤덮고 있는 이펙트는 밝은 버전과 어두운 버전을 오가며 바뀝니다. 단순히 색상만 바뀌는 것이 아니라 두 개의 시스템이 별도로 존재하며 각 시스템에는 자체적인 지오메트리, 밀도, 컬러, 이펙트 등이 있습니다. 피부가 떨어져 나가는 것처럼 보이는 효과지만 거부감을 줄 정도로 생생하지 않은 이펙트를 만들고자 했습니다. 모핑이 진행되는 동안 바디에서 파티클이 분리되어 나오고, 얼굴의 경계 부분에는 발광 효과가 일어납니다. 바디의 컬러와 메시 변경, 분리되어 나가는 파티클의 수, 파티클의 모양 등 다양한 옵션을 사용하여 이펙트를 실시간으로 커스터마이즈할 수 있습니다.
  • 바디 모핑: VFX 모핑과 별개로, 바디는 블렌드 셰이프를 사용해서도 모핑을 수행합니다. 여성의 모습에서 남성의 모습으로 바뀌면 새로운 형태에 맞게 이펙트가 조절됩니다.
  • 파이어: 일반적인 불보다는 호박색(amber)에 더 가까운 이 이펙트는 고도의 커스터마이징이 가능하며, 필요 시 더 높은 강도를 표현하는 데 사용될 수 있습니다. 최종 마감일을 불과 몇 주 앞두고 마지막으로 제작된 이펙트이기도 합니다. 신체 부위(헬멧, 머리, 눈, 바디, 옷)별로 적용량을 설정할 수 있고, 방향과 터뷸런스를 실시간으로 수정할 수 있으며, 두 가지의 모핑 상태 사이에서 컬러 그레디언트도 변경할 수 있습니다. Lit Mesh(더 헤러틱에 사용), Unlit(모건 스탠드얼론 패키지에 사용), 그리고 최종 동영상에는 구현되지 않았지만 모건 애셋 스토어 패키지의 파이어 옵션에 제공되는 실험 모드인 화면 공간 블러/왜곡이라는 세 가지 출력 모드 중에서 선택할 수도 있습니다.

일종의 에너지 발산으로 파이어 이펙트 시작

  • 붕괴: 이름에서 알 수 있듯이 모건은 여러 조각으로 붕괴될 수 있으며, 붕괴가 일어나는 방식에 대한 옵션도 여러 가지가 있습니다.
    이 이펙트는 사용자가 설정할 수 있는 시작점(더 헤러틱의 경우 오른쪽 검지 손가락 끝)을 사용하며, 이 위치를 바탕으로 바디 전반에 걸쳐 원형 그레디언트를 만들어 냅니다. 그레디언트는 두 가지 노이즈 마스크를 통해 조절되며 최종 결과물은 두 가지 슬라이더인 Crumble A와 Crumble B를 구동하는 데 사용됩니다. Crumble A는 노이즈 패턴 중 하나에서만 실행되고 바디를 완전히 파괴하지 않기 때문에 애니메이션 중에 붕괴 이펙트를 제어하기 위해 두 가지 슬라이더를 사용했습니다. Crumble B를 애니메이션화하면 약간의 지연을 두고 캐릭터가 완전히 파괴됩니다.
    붕괴 이펙트가 트리거되고 난 후, 캐릭터를 이전 상태로 되돌리려면 리셋 또는 VFX 그래프 재컴파일 옵션을 사용해야 합니다. 그 이유는 붕괴로 인해 Update 컨텍스트에서 몇 가지 물리적 힘이 활성화되기 때문입니다. 즉, 이전 상태를 다시 재생할 수 없고 리셋만 할 수 있습니다.

    더 헤러틱 단편 영상에서는 보다 물리적인 파괴를 위해 Houdini에서 익스포트한 시뮬레이션과 붕괴 이펙트를 결합했습니다.

초기 붕괴 테스트

  • 디버그: 캐릭터의 다양한 버전을 실험하기 위해 조기에 프로퍼티를 디버그할 수 있는 능력을 갖추는 것이 중요했습니다. 예를 들어, 디버그 옵션을 사용하여 위에서 설명한 노이즈 마스크를 확인할 수 있습니다. 디버그 옵션은 각 주요 기능과 함께 제작되었습니다.
  • 실시간 커스터마이징:모건의 인스펙터를 보면 각 기능마다 다양한 커스터마이징 옵션이 있습니다. 시간이 지남에 따라 원하는 대로 애니메이션화할 수 있는 파라미터는 총 300개가 넘습니다.
  • 기타 관련 이펙트: 캐릭터를 제작하는 데 대부분의 시간이 할애되었지만 다른 주요한 이펙트도 두 가지가 있습니다. 하나는 팔 부분이 가웨인 쪽으로 움직일 때 나타나는 운석이고, 다른 하나는 가웨인을 관통하는 스파이크입니다.

운석 이펙트

모건의 최종 버전 제작

모건은 각기 다른 17가지의 비주얼 이펙트 그래프로 이루어져 있습니다. 더 편하게 관리하기 위해 이렇게 구성했습니다.

먼저, 파티클이 스킨드 메시에서 생성된 후 캐릭터 애니메이션 중에 메시를 따라가도록 해야 했습니다. 하지만 VFX 그래프에서는 아직 스킨드 메시가 기본 지원되지 않으므로 다른 방법을 찾아야 했습니다.

기본 메시의 포지션, 노멀, 탄젠트는 UV 공간에서 렌더링된 후 VFX 그래프에서 텍스처 파라미터로 설정됩니다. 이렇게 하면 캐릭터를 기준으로 파티클의 위치와 방향을 올바르게 지정할 수 있습니다.

버텍스 컬러와 알베도 텍스처도 UV 공간에서 렌더링됩니다. 텍스처는 크기, 스케일, 각도, 피벗과 같은 특정 프로퍼티를 조정하는 데 사용됩니다. 모건 패키지의 경우, 로버트 큐피츠(더 헤러틱의 기술 및 렌더링 리드)와 토르비욘 래드레(유니티 데모 팀의 수석 엔지니어)가 텍스처 생성 과정을 크게 개선했습니다.

커스텀 에디터를 사용하여 모건을 구성하는 모든 그래프를 한 곳에서 관리할 수 있게 되었으며, 공유된 프로퍼티를 쉽고 빠르게 업데이트할 수 있게 되었습니다. 노출 파라미터는 약 300개이지만 실제로 추가 가능한 수에는 제한이 없습니다. 하지만 인터페이스에 파라미터가 지나치게 많으면 실용성이 떨어질 수 있습니다.

모건 캐릭터의 17가지 그래프 중 하나

Unity VFX 그래프 활용 팁

  • 애니메이션 커브 샘플러를 사용하면 애니메이션에 다양한 종류의 전환 효과와 지연 효과를 빠르게 추가할 수 있습니다. 이 샘플러의 용도는 매우 다양하지만 저는 플로트, 벡터, 컬러 등의 두 값을 선형 보간하는 데 주로 사용합니다.
  • 여러 프로퍼티와 작업을 하나의 파라미터로 묶으면 작업이 수월해집니다. 예를 들어, 파이어 강도 슬라이더는 파이어와 관련된 여러 프로퍼티를 구동합니다. 결국 편의성과 속도, 결과물의 품질 사이에 균형을 잡는 것이 중요합니다.

파이어 이펙트의 진화

  • 서브그래프는 여러 그래프에 걸쳐 동일한 노드를 재사용하는 데 적합하지만, 개발 중 어느 지점에 추가할지 신중하게 선택해야 합니다. 현재의 구현 방식으로는 서브그래프를 업데이트하고 컴파일할 때마다 이를 사용 중인 모든 그래프가 재컴파일됩니다. 재컴파일에 걸리는 시간은 주요 그래프의 수와 용량에 비례할 수 있습니다. 하나의 그래프에서 로직을 테스트한 후 서브그래프를 추가하는 것을 추천하며, 서브그래프를 자주 업데이트해야 한다면 주요 그래프 중 하나에서 노드를 복사해서 가져온 다음 변경사항을 적용하고 다시 노드를 복사해서 붙여넣는 것이 더 빠를 수 있습니다. 편리한 방법은 아니지만, 수정 사항이 있을 때마다 모든 그래프를 컴파일하기에는 너무 오랜 시간이 걸렸기 때문에 이 방법도 유용했습니다.
  • 대부분 일반적인 수치 입력보다 노출 파라미터 슬라이더가 더 사용자 친화적입니다. 값을 변경할 때 더 유연하고 자연스러우며 사용자가 이펙트를 손상하지 않는 안전한 값 사이에서 선택할 수 있도록 하기 때문입니다.
  • 인스펙터에 그래프의 모든 파라미터를 노출할 수도 있지만, 반드시 그래야 하는 것은 아닙니다. 너무 많은 옵션이 있으면 오히려 혼란이 가중될 수 있습니다. 모건을 작업할 때는 주어진 노출 파라미터를 변경하여 접근성과 성능 사이의 균형을 맞추었습니다.
  • 기술적인 팁은 아니지만 제가 과소평가했던 부분을 말씀드리면, 기술적인 문제와 예술적인 문제는 서로 단단히 맞물려 있기 때문에 하나씩 차례로 해결해나가야 합니다.

모건 에셋 다운로드

모건 캐릭터 제작에 사용된 기술은 스탠드얼론 패키지를 다운로드하여 체험할 수 있습니다. 더 헤러틱 페이지에서 프로젝트의 제작 과정에 관한 블로그 포스팅과 동영상을 참고하세요.

실시간 렌더링은 다양한 산업 분야를 변화시키고 있습니다. 시뮬레이션과 렌더링 시간을 오래 기다려왔던 아티스트에게는 마치 오랜 꿈이 이루어진 것과도 같습니다. 데모 팀의 다음 프로젝트가 기대됩니다.

6 replies on “더 헤러틱 제작기: VFX 기반 캐릭터 모건”

Hi Adrian, thank you for sharing this project. When I load the project the scripts cannot be loaded and the VFX Graphs are not showing. Could you please help me troubleshoot? Thank you

AK

Awesome post and information, thanks for that!
One point that clearly comes out: Unity has so much potential that could be used, if the demo team wasn’t only a demo team, but a game team, building actual released games.
Every experience and improvement you get/inject on the way of development, the Unity users would benefit from that.

Maybe you positions allows yout to push internally towards that goal…

Thank you for the detailed breakdown! Love all the little tips and tricks you mentioned. I’m excited to download the sample and pick it all apart myself 😄

Comments are closed.