제작 의도
언리얼 엔진에서 ACEScg 기반으로 모든 프로그램에서 동일한 룩을 확보하기 위해 연구 및 개발을 진행하고 정리했습니다.
구성 / 설명
2가지 Workflow (업계 표준)
•
Linear Workflow (sRGB)
◦
Linear Workflow는 현재까지도 사용되고 있으며 매우 친숙한 Workflow입니다.
•
ACES Workflow (ACEScg)
◦
ACES Workflow는 현재 산업 표준으로 자리를 잡아가고 있는 Workflow입니다.
색도표
ACES 변환 과정
Unreal Engine
•
Unreal Engine의 Working Color Space
◦
Unreal Engine의 Default Working Color Space는 sRGB/Rec.709입니다.
(뷰포트는 ACES Tonemapper)
Unreal Engine 5부터 Working Color Space 변경이 가능하며 ACES AP1/ACEScg선택 가능합니다.
•
Movie Render Queue
◦
Linear Workflow (Default)
▪
Unreal Engine의 기본 Color Space는 sRGB/Rec.709이므로 OCIO를 사용하지 않고 Tone Curve를 적용하지 않는 것 만으로 Linear-sRGB 데이터 출력이 가능합니다.
◦
ACES Workflow
▪
프로젝트 세팅에서 ACES AP1/ACEScg로 Color Space의 변경이 필요합니다.
•
ACES Workflow를 채택할 때의 장단점
◦
장점
▪
Linear한 환경에서 넓은 색역을 사용할 수 있습니다.
▪
다양한 Input을 수용할 수 있습니다.
▪
다양한 Output을 (인터넷, TV, 영화관 등) 출력할 수 있습니다.
◦
단점
▪
아직까지 판매되는 에셋의 텍스쳐는 sRGB가 대부분입니다.
Color Space (Tools)
•
Substance Painter
◦
Color Management
▪
Color management : OpenColorIO
▪
OpenColorIO configuraion : ACES 1.2
▪
나머지 옵션은 Default
•
텍스쳐 Export를 8bits 또는 16bits 로 하면서 ACEScg를 적용해야 할 경우에는
Utility - sRGB - Texture가 아닌 ACES - ACEScg로 변경이 필요
•
Floating point images는 16fbits / 32fbits 등을 의미합니다.
◦
Channel Settings
▪
Bit Depth가 중요하게 작용합니다.
▪
Color와 Scalar 데이터를 구분하여 적용해야 합니다.
▪
8bits로 진행할 경우 언리얼 엔진에서 Linear로 텍스쳐 인코딩이 필요 (sRGB Gamma 인코딩 관련) → 8bits는 Linear 데이터 저장이 불가능
16fbits / 32fbits로 진행할 경우 Export 텍스쳐의 Color Space가 ACES - ACEScg이므로, 언리얼 엔진에서 따로 설정이 필요하지 않음 (언리얼 엔진의 Color Space가 ACEScg일 경우에 한해서)
•
Base Color : RGB32F
•
Normal : RGB16F
•
ORM : L16F
•
Height : L16F
•
Scattering : L16F
•
Displacement : L16F
•
Mask Channel : L16F (대부분의 Mask Texture는 Grayscale로 적용하기 때문에)
•
User Channel : sRGB 또는 Grayscale에 따라서 Bit Depth 선택
◦
Export Settings
▪
Bit Depth가 중요하게 작용합니다.
▪
파일 포맷은 exr로 통일합니다. (tiff도 가능)
•
Base Color : 32fbits
•
ORM : 16fbits
•
Normal : 16fbits
•
Unreal Engine 5
◦
Project Settings
▪
Working Color Space : ACES AP1 / ACEScg
▪
OCIO Display : ACES - ACEScg → ACES - sRGB 또는 Output - sRGB
▪
Material Asset Editor
•
Texture Sample 노드
◦
Sampler Type
▪
Base Color : Linear Color
▪
ORM : Linear Color 또는 Mask
▪
Normal : Normal
◦
Texture Asset Editor
▪
sRGB
•
모든 텍스쳐 sRGB 옵션 Off (Linear)
•
ACES - ACEScg Texture는 Gamma Correction(sRGB)이 적용되지 않은 Linear 데이터
▪
Source Color Settings
•
ACEScg로 작업된 Texture는 변경 X
•
sRGB로 작업된 Texture는 Color Space를 sRGB / Rex709 변경
•
DaVinci Resolve
◦
Project Settings
▪
Color Management
•
상황에 맞는 변환이 필요합니다.
•
Color science : ACEScct
•
ACES Version : ACES 1.2
•
ACES Input Transform : No Input Transform
•
ACES Output Transform : sRGB
▪
Clip (Resource)
•
상황에 맞는 변환이 필요합니다.
•
ACES Input Transform
◦
Color Space Conversion : sRGB (Linear)
◦
Color Space Conversion : ACEScg
테스트 이미지
•
언리얼 엔진에서 렌더링한 후 다빈치 리졸브에서 확인한 이미지입니다.
•
Color Space : sRGB
sRGB_Grey
sRGB_Tex
sRGB_Value
•
MRQ 변환
sRGB_Grey_ACEScg
sRGB_Tex_ACEScg
sRGB_Value_ACEScg
•
Color Space : ACEScg
ACEScg_Grey
ACEScg_Tex
ACEScg_Value
•
언리얼 엔진과 서브스턴스 페인터 룩을 확인한 이미지입니다.
Unreal Engine
Substance Painter
참고
이미지
사이트
영상

















