슬레이

슬레이와 그 시네마틱 기술을 학습하여 언리얼 엔진의 버추얼 프로덕션 워크플로를 완벽하게 실현합니다.

Choose your operating system:

Windows

macOS

Linux

언리얼 엔진에서는 다양한 시네마틱 툴, 렌더링 기능, 워크플로를 통해 버추얼 프로덕션을 지원합니다. 몰드3D 스튜디오(Mold3D Studio) 에서 빌드한 슬레이(Slay) 샘플은 언리얼 엔진에서 버추얼 프로덕션을 실현하고자 할 때 활용할 수 있는 기술과 렌더링 기능, 워크플로를 시연하기 위해 제작되었습니다.

이 문서에서는 슬레이 샘플을 확인하는 방법과 제작에 사용한 워크플로 및 프로덕션 기술에 대해 간략하게 설명합니다.

전제조건

  • 슬레이 샘플 콘텐츠는 그래픽 집약적인 씬입니다. Intel Core i9 Series 이상의 프로세서와 GeForce RTX 2080 Ti 또는 그와 동급의 그래픽 카드가 필요합니다.

  • 처음으로 이 프로젝트나 레벨을 열면 수많은 에셋을 처음으로 로드하고 컴파일하므로 초기 로드 시간이 오래 걸릴 수 있습니다.

구성

슬레이 샘플로 프로젝트를 설정하는 단계는 다음과 같습니다.

  1. 에픽게임즈 런처 를 열고 언리얼 엔진 섹션을 클릭한 다음 학습(Learn) 탭을 엽니다.

    이미지 대체 텍스트

  2. 슬레이 샘플까지 페이지를 스크롤한 다음, 무료(Free) 를 클릭하여 슬레이 샘플을 보관함에 추가합니다.

    이미지 대체 텍스트

  3. 프로젝트 생성(Create Project) 을 클릭하고 화면 안내에 따라 슬레이 샘플 콘텐츠를 다운로드하고 새 프로젝트를 시작합니다.

    이미지 대체 텍스트

  4. 언리얼 에디터(Unreal Editor) 에서 새 프로젝트를 엽니다.

이제 뷰포트에 temple_P 레벨이 보일 것입니다.

슬레이 사원 레벨

슬레이 시퀀스 보기

슬레이 시퀀스를 보려면 메인 툴바에서 시네마틱(Cinematics) 버튼을 클릭한 다음 TF_Edit 을 선택합니다.

슬레이 시네마틱 열기

그러면 슬레이 시네마틱에 사용할 마스터 시퀀스(Master Sequence) 가 열립니다. 이 뷰에서 전체 시퀀스 조합에 사용되는 여러 샷을 확인할 수 있습니다.

슬레이 마스터 시퀀스

샷 트랙(Shot Track)에서 카메라(Camera) 버튼을 선택하여 각 샷의 카메라 를 살펴보고, 재생(Play) 버튼을 클릭하여 시퀀스를 재생합니다.

슬레이 시퀀스 재생

퀵셀 메가스캔 에셋

사원 레벨은 고유 에셋과 퀵셀 메가스캔 에셋을 조합하여 빌드되었습니다. 슬레이에서는 이러한 에셋을 사용하여 배경의 디테일과 소품, 폴리지를 제공합니다. 프로젝트에서 대규모 환경을 제작할 때 퀵셀 메가스캔 에셋을 사용하면 시간과 리소스를 절약할 수 있습니다.

슬레이 퀵셀 메가스캔

퀵셀 메가스캔 웹사이트에서 슬레이 샘플에 사용된 몇몇 퀵셀 메가스캔 에셋을 확인할 수 있습니다. 다음은 눈여겨볼 만한 몇 가지 에셋의 예입니다.

샷 기반 워크플로

슬레이 시퀀스는 시퀀서 와 시퀀서의 샷 기반 워크플로를 사용하여 생성되었습니다. 이렇게 해서 하나의 커다란 시퀀스가 아니라, 샷마다 해당 샷에 필요한 모든 콘텐츠를 포함할 수 있었습니다. 이런 설정 덕분에 비선형 편집 소프트웨어처럼 샷을 편집하고 트리밍하고 재배열 할 수 있기에 시퀀스를 전체적으로 빠르게 수정할 수 있습니다.

마스터 시퀀스 TF_Edit 에서 샷 트랙(Shot Track) 에 정렬된 모든 샷을 볼 수 있습니다. 또한, 시퀀스 편집 시간 설정에 맞춰 오디오를 재생하는 오디오 트랙(Audio Tracks) 과 페이드 암전을 제어하는 페이드 트랙(Fade Track) 도 있습니다.

슬레이 마스터 시퀀스

아무 샷이나 더블 클릭하면 콘텐츠를 열어 확인할 수 있습니다.

레벨 비저빌리티

슬레이의 첫 번째 샷은 사원의 외관 뷰입니다. 이러한 독특한 각도 때문에 샷 TF0010_02 동안만 표시할 레벨용 커스텀 랜드스케이프 와 에셋을 생성해야 했습니다. 레벨의 비저빌리티는 레벨 비저빌리티 트랙(Level Visibility Track) 에서 제어하고, 샷 TF0010_02 (샷 1)에서 확인할 수 있습니다.

레벨 비저빌리티 트랙은 샷 내부에 배치되어 있어, 해당 샷 동안만 평가합니다. 이 경우, 사원 내부에 사용할 저해상도 랜드스케이프가 포함된 레벨을 숨기고, 대신 고해상도 랜드스케이프와 기타 에셋이 포함된 레벨을 표시합니다.

슬레이 레벨 비저빌리티 지형

직접 레벨 패널로 이동한 뒤, Terrain_TF0010 을 활성화하고 지형(Terrain) 을 비활성화하여 해상도가 더 높은 랜드스케이프의 레벨을 미리 확인할 수 있습니다.

스포너블 사용

스포너블(Spawnables) 은 스폰되는 액터로, 보통 단일 시퀀스가 지속되는 동안만 존재합니다. 각 샷의 고유한 문제를 해결하기 위해 슬레이 시퀀스 전반의 여러 샷에 광범위하게 사용합니다. 각 샷은 자체 시퀀스에 해당하므로 스포너블은 샷이 지속되는 동안만 존재합니다. 따라서 이러한 액터를 더 쉽게 관리할 수 있습니다.

스포너블 액터의 예시는 샷 TF0020_01 (샷 2)에서 확인할 수 있습니다. 이 예시에서는 원래 스태틱 메시 문은 숨겨지고, 문을 여는 캐릭터 움직임에 일치하는 애니메이션을 포함하는 스포너블 스켈레탈 메시(Skeletal Mesh) 문으로 대체되었습니다. 샷이 종료되면, 이 문의 스폰은 자동으로 해제됩니다.

슬레이 스포너블 도어 액터

아티스트 간 협업

슬레이 샘플에서 각 샷이 자체 시퀀스이므로, 자체 에셋이기도 합니다. 또한, 샷마다 자체 시퀀스 에셋 역할을 하는 서브씬 트랙(Subscene Track) 도 포함되어 있습니다. 이처럼 에셋이 나누어져 있으므로, 여러 명의 아티스트가 파일 충돌 없이 훨씬 간단하게 하나의 시퀀스나 샷에서 동시에 작업할 수 있습니다. 서브씬도 복제할 수 있어 같은 콘텐츠를 재사용하거나 여러 인스턴스에 공유할 수 있습니다.

여러 샷에서 라이팅FX 모두에 대한 서브씬 트랙을 볼 수 있습니다. 따라서 해당 분야의 아티스트들은 메인 샷 시퀀스 대신 해당 시퀀스에서 작업할 수 있습니다. 이런 이유로, 서브씬은 파일 충돌 억제뿐 아니라 시퀀서 구성에도 유용합니다.

슬레이 다중 사용자 서브씬

서브씬 섹션을 더블 클릭하면 서브씬을 열어 콘텐츠를 확인할 수 있습니다.

서브씬 콘텐츠

부모 시퀀스에서 샷이나 서브씬이 열리면, 마스터 시퀀스의 컨텍스트 내에 표시됩니다. 즉, 하나의 서브씬만 보고 있다 하더라도, 마스터 시퀀스와 현재 샷의 모든 트랙 또한 계속 표시된다는 뜻입니다. 씬의 전체 비주얼 컨텍스트를 확인하면서 라이트를 편집하고 비주얼 이펙트를 추가하고 기타 액션을 수행할 수 있습니다.

서브씬 편집

이 컨텍스트 뷰는 시퀀서의 **재생 메뉴(Playback Menu) 에서 서브 시퀀스를 고립시켜 평가(Evaluate Sub Sequences In Isolation)** 를 토글하여 활성화하거나 비활성화할 수 있습니다.

카메라 애니메이션

슬레이의 카메라 애니메이션은 모두 시퀀서에서 제작 했습니다. 몇몇 경우, 카메라 이동을 향상하기 위해 애디티브 애니메이션을 사용하기도 했습니다. 이는 템플릿 시퀀스(Template Sequence) 형태인 카메라 애니메이션 시퀀스(Camera Animation Sequences) 를 사용하여 수행했습니다.

애디티브 카메라 애니메이션

이러한 템플릿 애니메이션(Template Animations) 중 하나를 더블클릭하면 해당하는 템플릿 시퀀스가 열리고, 거기에서 사용 중인 애니메이션을 확인할 수 있습니다.

카메라 애니메이션 시퀀스

라이팅 및 머티리얼

슬레이 샘플에서는 라이팅과 머티리얼, 이펙트의 활용이 아주 중요합니다. 마스터 시퀀스와 샷 생태계를 적절히 활용하면 아티스트가 라이트를 효과적으로 적용하고 각 샷에 맞춰 머티리얼을 조정할 수 있습니다.

라이팅 워크플로

[이전에] (#Multi-UserWorkflows) 언급했듯, 라이팅과 기타 워크플로는 서브씬 내에서 발생할 수 있습니다. 여기서, 전형적인 라이팅 워크플로는 필요한 라이트 액터(Light Actors)스포너블 로 시퀀스에 추가하는 것입니다. 이러한 워크플로를 사용하면 라이트가 샷 지속 기간에만 표시되므로 라이트를 직접 켜고 끌 필요가 없습니다.

스포너블 라이트

라이트 블로커(Light Blockers) 를 사용하여 메인 레벨 라이트에서 특정 씬 영역의 윤곽 작업을 하는 등, 여타 라이팅 기법을 사용하여 샷을 향상시킬 수 있습니다. 그런 다음, 스포너블 라이트를 사용하여 샷의 라이팅을 더 직접적으로 제어할 수 있습니다.

예를 들어, 샷 TF0020_01 (샷 2)에서 카메라 버튼을 비활성화하여 파일럿을 중지한 다음, 뷰포트를 이동하여 사원 입구 지역을 보면, 커다란 라이트 블로커 가 사용되는 것을 볼 수 있습니다. 이 기능을 사용하면 샷에 보다 잘 제어된 라이팅 환경을 생성할 수 있습니다.

라이트 블로커

라이트 블로커를 배치한 상태에서 근처 격자를 통과하여 비추는 스포트라이트로 문에 부드러운 그림자를 생성하는 것과 같이, 다른 라이트를 스폰하여 이 샷의 라이팅을 향상할 수 있습니다.

슬레이 라이팅

일부 다른 경우에는 특정 메시를 숨겨 라이트가 통과하여 액터를 비추게 해야 할 수도 있습니다. 샷 TF0080_01 에서는 오니(Oni) 캐릭터에 햇빛이 비치도록 사원 구조체의 일부를 숨기고 있습니다.

라이트를 위해 레벨 숨기기

환경과 캐릭터에 라이트가 주는 영향을 제어하기 위해 슬레이에서는 라이팅 채널(Lighting Channels) 도 사용합니다. 이 경우, 스포너블 라이트는 채널 2(Channel 2) 에만 영향을 줍니다. 그러면 이 채널이 모든 캐릭터에 활성화되어 이러한 라이트가 캐릭터들을 비추게 됩니다. 해당 메시에는 채널 0(Channel 0) 만 활성화되어 있으므로 이러한 라이트는 환경을 비추지 않습니다.

라이팅 채널

머티리얼 워크플로

머티리얼파라미터 로 설정된 경우, 시퀀서에서 이러한 파라미터를 참조하여 오버라이딩 머티리얼 파라미터를 조정할 수 있습니다. 슬레이에서는 이를 사용하여 특정 샷의 머티리얼을 미세 조정했습니다. 이전 라이팅과 샷 기반 워크플로와 마찬가지로, 머티리얼 편집은 샷별로 진행되고 다음 샷까지 지속되지 않습니다.

샷의 TF00110_01 라이팅 서브시퀀스(Lighting Subsequence) 에서 오니의 갑옷 머티리얼의 러프니스(Roughness) 와 기타 파라미터가 머티리얼 엘리먼트 트랙(Material Element Track) 을 사용하여 조정된 것을 볼 수 있습니다. 머티리얼 엘리먼트 숫자는 메시의 동일한 머티리얼 엘리먼트 ID에 해당합니다.

머티리얼 파라미터 트랙

파라미터 추가(Add Parameter) (+) 를 클릭하면 해당 엘리먼트에 사용할 수 있는 머티리얼 파라미터 목록이 나타납니다. 파라미터를 선택하여 트랙으로 추가합니다.

머티리얼 추가

렌더 세팅

슬레이 샘플은 최종 픽셀(Final Pixel) 로 렌더링되도록 제작되어, 언리얼 엔진으로 렌더링할 수 있는 고퀄리티 이미지를 보여줍니다. 그렇기 때문에 무비 렌더 큐(Movie Render Queue) 를 사용하여 렌더링할 때와 뷰포트 모두에서, 씬의 충실도를 높여주는 주요 파라미터 몇 개를 따로 설정해야 합니다.

포스트 프로세스 볼륨

씬에서 포스트 프로세싱(Post Processing) 을 사용하면 글로벌 일루미네이션(Global Illumination), 리플렉션(Reflection)섀도(Shadow) 같은 레이 트레이싱(Ray Tracing) 이펙트를 제어할 수 있습니다. 컬러 그레이딩 및 필름 톤매퍼 프로퍼티를 사용하여 색 보정도 적용됩니다.

슬레이에서 포스트 프로세스 프로퍼티가 사용되는 것을 확인하려면, 레벨에서 포스트 프로세스 볼륨(Post Process Volume) 을 선택합니다. 월드 아웃라이너 에서 검색하면 찾을 수 있습니다.

포스트 프로세스 볼륨

디테일에서 활성화됨(Enabled) 프로퍼티를 활성화하거나 비활성화하여 포스트 프로세스 볼륨의 이펙트를 미리 볼 수 있습니다. 포스트 프로세스를 사용하면 더 생기 넘치는 씬을 만들 수 있습니다.

포스트 프로세싱 꺼짐

포스트 프로세싱 켜짐

뷰포트 최적화

슬레이는 그래픽 집약적인 프로젝트이므로, 언리얼 엔진에서 작업할 때 원활하고 안정적인 성능을 보장하기 위해 에디터 뷰포트 경험을 최적화해야 했습니다. DefaultEngine.ini 환경설정 파일 내의 특정 콘솔 변수 를 설정하여 경험을 최적화했습니다.

설정된 변수의 몇 가지 예는 다음과 같습니다.

  r.HairStrands.Enable 1.0
  r.HairStrands.DeepShadow.Resolution 512.0
  r.RayTracing.Shadows.AcceptFirstHit 1.0
  r.RayTracing.SkyLight.ScreenPercentage 55.0

사용된 다른 콘솔 변수를 확인하려면, 슬레이 프로젝트 설치 위치의 Config 폴더로 이동하여 DefaultEngine.ini 를 텍스트 에디터로 열면 됩니다.

무비 렌더 큐 세팅

슬레이의 최종 영상은 언리얼 엔진의 무비 렌더 큐 툴 을 사용하여 렌더링되었습니다. 무비 렌더 큐는 고퀄리티 방사형 모션 블러 이펙트 적용에 사용되는 템포럴 서브샘플링 기능 같은 여러 가지 고퀄리티 렌더링 기능을 지원합니다. 또한, 슬레이에서 콘솔 변수를 사용하여 렌더링 프로세스 중에 그래픽 충실도를 높일 수도 있습니다.

무비 렌더 큐 창을 열려면 시퀀서 툴바에서 렌더(Render) 버튼을 클릭합니다.

무비 렌더 큐 열기

슬레이에 사용된 특정 렌더 세팅은 무비 파이프라인 마스터 환경설정 에셋(Movie Pipeline Master Config Asset) 으로 저장됩니다. 이 프리셋을 렌더에 적용하려면 세팅(Settings) 드롭다운 메뉴를 클릭하고 Slay_MovieRenderQueue_Preset 을 선택합니다.

렌더 세팅 프리셋

사용 중인 세팅을 확인하려면 Slay_MovieRenderQueue_Preset 세팅 텍스트를 클릭합니다. 그러면 렌더링 프로세스 중에 적용된 다양한 출력과 퀄리티, 기타 세팅이 포함된 렌더 세팅(Render Settings) 창이 열립니다.

렌더 세팅

안티 에일리어싱

이미지 노이즈를 줄이고 더 부드러운 에지와 모션 블러를 생성하려면, 템포럴 샘플 수(Temporal Sample Count)19 로 설정하여 안티 에일리어싱(Anti-Aliasing) 을 사용합니다.

슬레이 안티 에일리어싱 렌더 세팅

콘솔 변수

모션 블러(Motion Blur) , 서브서피스 스캐터링(Subsurface Scattering) , 레이 트레이싱 등 여러 영역에서 그래픽 충실도를 향상하기 위해 다음과 같은 [콘솔 변수(Console Variables)] (animating-characters-and-objects/Sequencer/HighQualityMediaExport/RenderSettings/Reference#콘솔변수)를 사용합니다.

슬레이 콘솔 변수 렌더 세팅

  r.MotionBlurQuality 4.0
  r.MotionBlurSeparable 1.0
  r.DepthOfFieldQuality 4.0
  r.ScreenPercentage 125.0
  r.ViewDistanceScale 50.0
  r.SSS.Quality 1.0
  r.SSR.Quality 4.0
  r.Shadow.DistanceScale 10.0
  r.ShadowQuality 5.0
  r.Shadow.RadiusThreshold 0.001
  r.SkeletalMeshLODBias -4.0
  r.RayTracing.GlobalIllumination.FireflySuppression 1.0
  r.RayTracing.SkyLight.ScreenPercentage 100.0
  r.RayTracing.AmbientOcclusion 1.0
  r.DiffuseIndirect.Denoiser 1.0
  r.RayTracing.Shadows.AcceptFirstHit 0.0
  r.HairStrands.Enable 1.0
  r.PathTracing.MaxBounces 2.0
  r.TemporalAACurrentFrameWeight 0.3
  r.RayTracing.GlobalIllumination.SamplesPerPixel 4.0
  r.RayTracing.Reflections.MaxRoughness 1.0
  r.RayTracing.GlobalIllumination.MaxBounces 2.0
태그
언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.