본문 바로가기
vfxai 잡학지식 vfxai 잡학지식

언리얼 엔진 화면을 ACES 파이프라인에 맞추려면: OCIO 플러그인과 Movie Render Queue 출력

vfx 잡학지식 읽는 시간 약 9분 조회 2

언리얼 엔진 OCIO 설정은 플러그인을 켜는 데서 끝나지 않습니다. 뷰포트에서는 맞아 보이는데 Movie Render Queue에서 뽑은 EXR을 Nuke에 넣으면 색이 달라질 수 있습니다. 어디를 맞춰야 두 화면이 같은 기준을 따를까요?

먼저 프로젝트가 어떤 색공간에서 작업하는지 확인해야 합니다. 그다음 화면을 보는 변환과 합성용 파일을 내보내는 변환을 따로 설정합니다.

1. Nuke에 보낼 언리얼 엔진 OCIO의 작업 색공간부터 확인합니다

작업 색공간은 언리얼이 씬의 색을 계산하는 기준입니다. UE 프로젝트의 기본값은 선형 sRGB 또는 Rec.709 계열이지만, 프로젝트에서 ACEScg 같은 다른 작업 색공간을 쓸 수도 있습니다.

Project Settings에서 Working Color Space를 검색해 현재 값을 확인하세요. 텍스처는 가능하면 이 기준에 맞춰 제작하고, 다른 색공간으로 만든 텍스처는 Source Color Settings에서 원본 색공간을 지정해 작업 색공간으로 변환할 수 있습니다. 이미 진행 중인 프로젝트라면 Nuke에 ACEScg를 보내고 싶다는 이유만으로 작업 색공간을 바꾸지 마세요.

예를 들어 프로젝트가 선형 sRGB로 작업하고 Nuke에는 ACEScg EXR을 넘긴다면, 출력 단계에서 선형 sRGB를 ACEScg로 변환할 수 있습니다. 프로젝트가 이미 ACEScg라면 같은 색공간 변환을 다시 적용하지 않습니다. 다만 OCIO 변환을 사용하지 않고 선형 EXR을 출력할 때도 MRQ Color Output에서 Disable Tone Curve를 켜야 합니다.

ACES는 Unreal의 기본 필름 톤매퍼와 같은 말이 아닙니다. ACEScg는 작업 색공간으로, 톤 커브는 화면 출력을 다루는 처리의 일부입니다. 둘을 구분하는 배경은 ACES가 무엇인지 설명한 글에서 이어서 볼 수 있습니다.

2. UE 5.7에서 OCIO 플러그인과 에셋을 연결합니다

새 프로젝트에서는 OpenColorIO 플러그인이 자동으로 활성화됩니다. 기존 프로젝트는 Edit > Plugins에서 OpenColorIO를 검색해 상태를 확인하세요. 꺼져 있다면 활성화하고 에디터를 다시 시작합니다.

  1. 프로젝트의 Content 폴더에 팀에서 Nuke와 함께 쓰는 OCIO 설정 파일을 둡니다. 외부 LUT를 참조한다면 해당 파일과 상대 경로도 함께 유지합니다. UE 5.7 문서는 .ocio 파일을 추가할 때 파일 탐색기를 사용하도록 안내합니다.
  2. Content Browser에서 우클릭하고 Miscellaneous > OpenColorIO Configuration을 선택해 에셋을 만듭니다.
  3. 에셋을 열어 Configuration File에 그 설정 파일을 지정하고, Desired Color Spaces에 필요한 컬러 스페이스와 뷰포트에서 쓸 display/view 항목도 추가해 저장합니다.

언리얼에 포함된 ocio://default 같은 설정은 시작용 예시입니다. Nuke에서 다른 설정을 쓰고 있다면 두 프로그램에서 같은 팀 OCIO 설정을 사용하세요. OCIO가 색공간 사이의 변환을 정의하는 방식은 OpenColorIO의 기본 구조를 설명한 글에서 확인할 수 있습니다.

3. 뷰포트에는 화면 표시 변환을 설정합니다

뷰포트에서 View Mode 버튼을 열고 OCIO Display를 선택합니다. Display Configuration에서 방금 만든 OCIO 에셋을 고른 뒤, Source Color Space와 Destination Color Space 또는 설정 파일이 제공하는 display/view를 지정하고 Enable Display를 켭니다.

Source는 프로젝트가 내보내는 색의 기준에 맞추고, Destination은 Nuke Viewer에서 확인할 display/view와 맞춥니다. 표시 이름은 설정 파일과 엔진 버전에 따라 달라질 수 있으니 팀 OCIO 설정에 실제로 들어 있는 항목을 선택하세요.

UE 5.7 문서에서는 이 뷰포트 변환이 Tone Map 뒤의 포스트 프로세싱 단계에 들어가며 Tone Curve를 비활성화한다고 설명합니다. 따라서 뷰포트에 보이는 display 변환과 EXR에 저장할 색공간 변환은 같은 설정이 아닙니다.

Nuke와 색을 맞추는 언리얼 엔진 OCIO 뷰포트 표시와 ACEScg EXR 출력 흐름
언리얼 뷰포트는 표시용 OCIO 변환을, 합성용 EXR은 출력 색공간 변환을 따로 적용합니다.

4. EXR은 Movie Render Queue에서 별도로 설정합니다

Movie Render Queue에서 해당 작업의 Settings 창을 열고 + Setting 드롭다운의 Settings 카테고리에서 Color Output을 추가합니다. Is Enabled를 켠 다음 Configuration Source를 선택하고 Source Color Space와 Destination Color Space를 지정합니다.

선형 sRGB를 기본 작업 색공간으로 쓰는 프로젝트에서 ACEScg EXR을 만드는 경우라면, Epic이 제시한 예시는 Source를 Utility – Linear – sRGB, Destination을 ACEScg로 두는 방식입니다. 다른 작업 색공간을 쓰고 있다면 이 예시를 그대로 복사하지 말고 실제 입력과 목표 색공간에 맞춰야 합니다.

출력 포맷은 EXR Sequence [16bit]로 선택합니다. MRQ에서 OCIO 변환을 활성화하면 Tone Curve가 자동으로 꺼집니다. 이때 Disable Tone Curve가 비활성화돼 보여도 별도 오류는 아닙니다. 선형 EXR의 색을 올바르게 출력하려면 무한 Post Process Volume에서 Blue Correction, Expand Gamut, Tone Curve Amount를 모두 0.0으로 설정합니다.

EXR에는 sRGB 인코딩 커브가 적용되지 않습니다. Tone Curve가 켜진 EXR은 선형 값이 대략 0~1 범위로 조정될 수 있고, 이를 끄면 장면의 빛 세기에 따라 0~100 이상 값이 기록될 수 있습니다. 합성용 ACEScg 파일과 화면용 PNG·JPG는 같은 출력으로 취급하지 마세요.

색공간을 맞춘 뒤에도 영상이 깜빡이거나 흐리다면 색관리보다 샘플링과 워밍업 설정을 먼저 점검해야 할 수 있습니다. 그 문제는 Movie Render Queue의 깜빡임·흐림 점검 순서에서 확인할 수 있습니다.

5. Movie Render Graph는 노드 위치가 다릅니다

Movie Render Graph를 쓰는 경우 레거시 MRQ의 Color Output 메뉴를 찾지 마세요. Output File Type 또는 File Type Output 노드에서 OCIO 설정을 지정하고, Deferred Renderer나 Path Traced Renderer 노드에서 Allow OCIO와 Disable Tone Curve를 확인합니다.

MRG에서는 출력 노드에서 렌더 레이어별 OCIO를 제어할 수 있고, 톤 커브는 Renderer 노드에서 다룹니다. 이 글의 MRQ 메뉴 경로는 UE 5.7 기준이며, MRG 노드 설명은 UE 5.7·5.8 문서를 기준으로 했습니다.

한 프레임을 Nuke에서 확인합니다

설정을 저장한 뒤 컬러 차트나 익숙한 샷을 한 프레임만 EXR로 렌더해 보세요. Nuke에서는 EXR의 Read 색공간을 실제 출력 색공간으로 해석하고, Viewer에는 언리얼 뷰포트와 같은 display/view를 적용해 비교합니다.

Epic의 별도 UE-to-Nuke 예시는 simple.config.ocio와 Nuke의 UE (sRGB) viewerProcess를 이용합니다. 이는 해당 예시 설정에 맞춘 화면 매칭 방식이므로, 모든 ACEScg 합성 파이프라인에 그대로 적용하지 않습니다.

정리하면, 같은 팀 OCIO 설정을 쓰되 뷰포트는 OCIO Display에서, EXR은 Movie Render Queue의 Color Output에서 따로 맞춥니다.

Epic 공식 문서

vfx 잡학지식

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.