룩업 테이블(Lookup Table, LUT)은 포스트 프로세스 볼륨에서 색 보정에 사용할 수 있습니다. 1차원(1D) 룩업 테이블을 셋 사용하는 대신, 단일 3차원(3D) 룩업 테이블을 사용합니다. 그래야 보다 세련된 채도감소 같은 컬러 트랜스폼이 가능하기 때문입니다.
언리얼 엔진에 사용되는 룩업 테이블은 16x16x16 컬러 뉴트럴 LUT를 256x16 텍스처에 언랩한 것입니다. 이 예시는 뉴트럴 및 세피아 톤을 보여줍니다. 뉴트럴 LUT를 적용한다 해도 디폴트 씬에 아무런 변화가 보이지 않겠지만, 세피아 톤을 사용한다면 이런 화면이 나옵니다.
LUT 텍스처 사용
LUT를 활용하려면 다음 프로퍼티로 LUT 텍스처를 같이 사용하고자 하는 포스트 프로세스 볼륨(Post Process Volume)에 할당하고 그 강도를 조절하면 됩니다.
| Property | Description |
|---|---|
컬러 그레이딩 LUT 강도(Color Grading LUT Intensity) | 색 보정 이펙트를 제어하는 스케일 조절 인수입니다. |
컬러 그레이딩 LUT(Color Grading LUT) | 색 보정 룩업 테이블로 사용할 LUT 텍스처입니다. 예시는 아래를 참조하세요. |
컬러 그레이딩 LUT
자체 LUT 텍스처 생성하기
자체 LUT 텍스처를 제작하려면, 먼저 캡처한 이미지의 색을 조정할 수 있는 Photoshop이나 GIMP 같은 이미지 편집 애플리케이션이 필요합니다. 이 데모에서는 에픽게임즈 런처의 학습(Learn) 탭에서 다운로드할 수 있는 태양의 사원(Sun Temple) 프로젝트를 사용하며, LUT 이미지 편집 애플리케이션으로는 Photoshop을 선택했습니다. 이 예시에서는 Photoshop 전용 용어를 일부 사용할 수 있습니다.
색 보정을 적용하려는 씬을 대표하는 스크린샷을 한 장 이상 찍습니다. 에디터의 스크린샷 툴을 사용하여 씬의 고해상도 이미지를 캡처할 수 있습니다.
Photoshop에서 스크린샷을 열고 오른편 Layers 패널 위에 위치한 Adjustments 탭에서 자체 Adjustment 레이어를 추가합니다. 여기서 이미지에 가할 수 있는 여러 타입의 변경 작업, 예를 들면 밝기와 대비, 색상, 채도 등의 아이콘을 찾을 수 있습니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
Adjustments 패널에서, 아무 아이콘이나 클릭하여 Layers 패널에 레이어를 추가합니다. 이 방법으로 최종 이미지에 특정한 색 보정을 가할 수 있습니다. 이 예시의 경우, Vibrance와 Brightness/Contrasts를 추가하여 조정했습니다. Layers 패널에 이와 같이 추가한 이후, 목록에서 선택하면 프로퍼티를 노출시킬 수 있는데, 만약 보이지 않으면 우클릭하고 Edit Adjustment를 선택하여 노출시키면 됩니다.
여기서 가한 조정은 전부 뷰포트에서 볼 수 있습니다. 원하는 색 보정이 나올 때까지 Adjustment 레이어의 프로퍼티를 조정합니다. 아래 예시에서 Vibrance와 Brightness/Contrast를 조정하여 캡처한 스크린샷에 컬러 채도와 시각적 매력의 데피니션을 높였습니다.
Adjustment 레이어로 원하는 룩을 얻었으니, 뉴트럴 컬러 LUT(Neutral Color LUT) 사본을 별도로 열어야 합니다. 스크린샷에 대해 만든 Adjustment 레이어를 뉴트럴 컬러 LUT에 드래그할 수 있습니다.
사용할 수 있는 뉴트럴 컬러 LUT가 없는 경우, 이 글 처음에 있던 RGBTable16x1.png 이미지를 사용해도 됩니다. * LUT 텍스처 예시 Zip 파일을 우클릭하고 다른 이름으로 저장합니다.
스크린샷에서 Adjustment 레이어와 뉴트럴 컬러 LUT를 열어둔 채, Screenshot Layers 패널의 Adjustment 레이어를 무채색 LUT 이미지에 드래그 앤 드롭합니다. LUT의 레이어 패널에 채워지는 것이 보일 것입니다.
이제 File > Save As에서 색 보정이 있는 LUT에 이름을 짓습니다.
색 보정된 LUT를 에디터에 임포트합니다. 콘텐츠 브라우저에 드래그 앤 드롭하거나, 콘텐츠 브라우저에 있는 임포트(Import) 버튼을 사용하면 됩니다.
포스트 프로세스 볼륨에서 LUT를 사용한 최적의 결과를 얻기 위해서는, 텍스처 에디터에서 LUT 이미지를 열고 다음과 같이 프로퍼티를 설정합니다.
다음으로 포스트 프로세스 볼륨에서 디테일(Details) 패널의 컬러 그레이딩(Color Grading) > 글로벌(Global) 섹션 아래 컬러 그레이딩 LUT(Color Grading LUT) 옵션을 활성화하고 LUT를 적용합니다.
추가 참고 사항
프로젝트에 LUT를 사용할 때 알아둬야 하는 사항이 몇 가지 있습니다.
LUT는 로우 다이내믹 레인지(Low Dynamic Range, LDR) 및 모니터에 출력된 sRGB 스페이스의 최종 이미지 컬러에서 일어납니다. 즉 당시 해당 디스플레이가 지원하는 데 대한 스냅샷일 뿐, 실제 출력되는 디스플레이에서 반드시 동일하게 보이지는 않는다는 뜻입니다. 이 부분은 톤 매핑 전에 색 보정이 일어나도록 처리되는 하이 다이내믹 레인지(High Dynamic Range, HDR)와는 다릅니다. 따라서 LUT를 사용하는 대신 언리얼 엔진 4.16 이상 버전에서 사용할 수 있는 최신 컬러 그레이딩 색 보정 툴을 사용할 것을 추천합니다.
LUT를 활용하면 현재 디스플레이에서 프로젝트에 맞는 특정한 룩을 빠르게 타깃으로 삼을 수 있습니다. 이후에는 포스트 프로세스 볼륨의 컬러 그레이딩 섹션에서 찾을 수 있는 색 보정 프로퍼티를 사용하여 최종 조정을 가해야 여러가지 타입의 디스플레이에서도 그 룩이 일관성 있게 나옵니다.
LUT를 사용하면 일관성이 손실되는데, 거기서 가해진 색 보정이 HDR 디스플레이에 그대로 적용되지 않기 때문입니다. 포스트 프로세스 볼륨의 컬러 그레이딩 프로퍼티 연산은 모두 씬 참조 리니어 스페이스(Scene Referred Linear Space)에서 일어납니다. 즉 그 연산이 톤 매핑 이전에 특정 디스플레이의 색 공간으로 변형되기 이전에 일어나기 때문에 색 일관성이 유지되는 것입니다. 예를 들어, sRGB가 아닌 Rec709를 사용하는 TV로 출력하려는 경우, LUT를 사용하면 색 보정이 넘어가지 않습니다. 이미지를 디스플레이에 출력한 이후 색 보정이 일어나기 때문입니다. 따라서 LUT는 색 보정 이미지 처리 방법으로는 사용하지 않는 추세입니다.