ACES 1.3에서 2.0으로 바꾸면 하이라이트·채도가 달라지는 이유: 새 출력 변환
ACES 1.3에서 2.0으로 뷰만 바꿨는데 같은 EXR의 하이라이트가 눌리거나 채도가 달라 보인다면, 렌더가 바뀌었다고 먼저 판단하지 마세요. ACES 2.0 뷰 변환은 장면의 선형 값을 화면으로 보내는 출력 변환을 다르게 계산합니다.
그럼 무엇이 실제로 달라졌을까요? 렌더 데이터와 뷰 변환을 어떻게 분리해야 기존 샷을 맞출 수 있을까요?
Blender 5.0 기본 OCIO 설정에서 같은 선형 값을 두 뷰로 변환해 비교했습니다. 차이를 만든 단계와 진행 중 프로젝트에서 고정할 설정을 순서대로 짚겠습니다.
1. 먼저 렌더와 뷰를 분리합니다
장면 선형 EXR의 픽셀 값은 같고 화면에서만 차이가 난다면, 원인은 View Transform에 있을 가능성이 큽니다. 먼저 같은 입력 이미지를 두 뷰에서 번갈아 보세요.
반대로 EXR의 픽셀 값부터 달라졌다면 출력 변환만 바뀐 상황은 아닙니다. 조명·재질·시뮬레이션, compositor의 Grade, 입력 색공간, OCIO 설정이 함께 바뀌었는지 확인해야 합니다.
Blender 5.0 기본 설정에는 sRGB 디스플레이용 ACES 1.3과 ACES 2.0 뷰가 함께 있습니다. ACES가 어떤 색 관리 단계를 묶는지 먼저 정리하려면 ACES의 역할과 처리 범위를 확인해 보세요.
작업 색공간과 출력 색공간을 혼동하지 않는 것도 중요합니다. ACEScg와 sRGB의 차이를 알고 있으면 어느 단계의 값이 변했는지 더 쉽게 나눌 수 있습니다.
2. ACES 2.0 뷰 변환에서 같은 값은 어떻게 보일까요?
Blender 5.0.0의 기본 OCIO 설정에서 입력을 Linear Rec.709, 디스플레이를 sRGB로 두고 ACES 1.3과 ACES 2.0을 각각 적용했습니다. 노출은 0, Look은 없음으로 고정했습니다.
회색 입력은 두 변환에서 모두 무채색으로 남지만, 중간톤부터 출력값이 갈라집니다. 선형 회색 1.0은 ACES 1.3에서 약 0.812, ACES 2.0에서 약 0.707로 변환됐습니다.

색 입력은 채널별 차이도 보입니다. 선형 빨강 (1, 0, 0)의 변환값은 ACES 1.3에서 (0.804, -0.098, 0.025), ACES 2.0에서 (0.770, 0.092, 0.043)이었습니다.
아래 값은 표시용 sRGB 코드값이며 R/G/B 순서입니다. 소수점 셋째 자리까지 반올림했고, 음수와 1을 넘는 채널은 화면 표시 범위를 벗어납니다.
| 선형 입력 | ACES 1.3 | ACES 2.0 |
|---|---|---|
| 회색 (0.18, 0.18, 0.18) | 0.356 / 0.356 / 0.356 | 0.349 / 0.349 / 0.349 |
| 회색 (0.5, 0.5, 0.5) | 0.647 / 0.647 / 0.647 | 0.566 / 0.566 / 0.566 |
| 회색 (1, 1, 1) | 0.812 / 0.812 / 0.812 | 0.707 / 0.707 / 0.707 |
| 회색 (2, 2, 2) | 0.904 / 0.904 / 0.904 | 0.821 / 0.821 / 0.821 |
| 회색 (4, 4, 4) | 0.955 / 0.955 / 0.955 | 0.900 / 0.900 / 0.900 |
| 빨강 (1, 0, 0) | 0.804 / -0.098 / 0.025 | 0.770 / 0.092 / 0.043 |
| 초록 (0, 1, 0) | 0.330 / 0.818 / 0.169 | 0.241 / 0.745 / 0.203 |
| 파랑 (0, 0, 1) | -0.311 / -0.035 / 0.823 | 0.000 / 0.000 / 0.744 |
| 밝은 주황 (4, 1, 0.02) | 0.990 / 0.837 / 0.401 | 1.000 / 0.712 / 0.474 |
| 밝은 청록 (0.02, 2, 4) | 0.716 / 0.908 / 0.955 | 0.590 / 0.826 / 0.974 |
| 노랑 (1, 1, 0) | 0.822 / 0.812 / 0.235 | 0.721 / 0.727 / 0.240 |
이 결과는 Blender 기본 설정의 Linear Rec.709 입력에 대한 비교입니다. ACEScg를 쓰는 프로젝트, 다른 OCIO config, P3·HDR 디스플레이의 출력값을 그대로 뜻하지는 않습니다.
3. 하이라이트와 채도는 왜 달라지나요?
출력 변환은 목표 디스플레이의 피크 휘도와 색역을 기준으로 밝은 장면 값을 표시 범위에 맞추고 색을 처리합니다. ACES 2 프리셋은 Rec.709에서도 피크 휘도 48 nit와 100 nit를 구분하므로, 뷰 이름뿐 아니라 목표 출력도 확인해야 합니다. Blender 매뉴얼은 ACES 2.0을 ACES 1.3보다 중간톤 대비가 낮고 하이라이트 롤오프가 부드러우며 gamut mapping이 개선된 뷰로 설명합니다.
ACES 공식 문서에 따르면 ACES 1 계열은 Reference Rendering Transform(RRT)과 Output Device Transform(ODT)을 묶어 출력 변환을 구성했습니다. ACES 2는 먼저 ACES RGB를 간소화된 Hellwig 2022 색 지각 모델에 기반한 JMh 공간으로 옮깁니다.
그 공간에서 밝기에 해당하는 J를 톤 스케일로 조정하고, 색채도에 해당하는 M을 압축한 다음, 목표 색역에 맞게 gamut을 처리합니다. 밝기 곡선과 채도·색역 처리가 함께 달라지므로 하이라이트와 색의 인상이 동시에 바뀔 수 있습니다.
앞의 회색 1.0은 0.812에서 0.707로 낮아졌고, 밝은 주황은 G 채널이 0.837에서 0.712로 내려가는 동안 B는 0.401에서 0.474로 올라갔습니다. 한 숫자에 노출을 더하는 것만으로는 두 변화가 함께 설명되지 않습니다.
이 측정에서 ACES 1.3의 포화 빨강과 파랑은 출력값에 음수 채널이 생겼습니다. ACES 1.3 프로젝트에서 별도로 쓰는 Reference Gamut Compression은 이런 입력의 색역 밖 문제를 다루는 요소이므로, ACES 2.0 출력 변환의 gamut 처리와 같은 한 단계로 보면 안 됩니다. 강한 불빛에서 색이 이동하는 사례는 하이라이트의 색상 이동과도 맞닿아 있습니다.
4. 답은 출력 변환입니다
같은 장면 선형 데이터인데 하이라이트와 채도가 달라졌다면, 먼저 달라진 것은 렌더가 아니라 출력 변환의 톤 스케일, 채도 압축, 색역 처리입니다.
물론 실제 프로젝트에서 렌더와 색 관리 설정이 동시에 바뀌었을 수는 있습니다. 그래서 EXR의 입력값을 비교한 뒤 화면 변환을 확인해야 원인을 섞지 않습니다.
5. 기존 샷은 버전을 고정해 맞춥니다
- 현재 기준을 기록합니다. 프로젝트의 OCIO config 파일과 버전, 작업 색공간, 디스플레이, View Transform, Look, 노출을 한곳에 적습니다.
- 진행 중인 쇼는 변환을 잠급니다. 기존 샷을 계속 ACES 1.3으로 마무리해야 한다면 해당 뷰와 config를 보존하고, 장면 선형 EXR을 같은 기준으로 확인합니다.
- 여러 앱은 같은 config를 씁니다. Blender 공식 문서는 공유 config에
OCIO환경변수를 쓰는 경로를 안내합니다.BLENDER_OCIO는 Blender만 바꾸므로 다른 DCC와 다르게 보일 수 있습니다. Blender와 Nuke의 OCIO config 공유도 함께 확인하세요. - config의 정확한 버전을 고정합니다. OCIO ACES config 이름에는 ACES와 OCIO 버전이 들어갑니다. 예를 들어 ACES 2.0의 OCIO Studio config 식별자는
ocio://studio-config-v4.0.0_aces-v2.0_ocio-v2.5, CG config는ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5이며, 둘 다 OCIO 2.5 이상에서 사용할 수 있습니다. 이름의v4.0.0은 색공간 정의 버전,aces-v2.0은 ACES 버전,ocio-v2.5는 최소 OCIO 버전을 나타냅니다.latest대신 버전이 고정된 식별자나 같은 릴리스의 config 파일을 프로젝트에 고정하고, 사용하는 앱이 최소 OCIO 버전을 지원하는지 확인하세요. - 새 뷰로 옮길 때는 쇼 전체를 비교합니다. 대표 샷과 하이라이트·포화색 테스트를 같은 출력 조건에서 확인하고, 필요하면 새 변환을 기준으로 룩과 그레이딩을 다시 맞춥니다. 샷마다 먼저 보정값을 넣어 차이를 숨기지는 마세요.
중간 작업용 선형 EXR과 최종 표시용 이미지도 구분해야 합니다. 표시 변환을 중간 파일에 이미 적용했다면 다음 앱에서 한 번 더 적용하지 않도록 확인하세요.
ACES Output Transform을 파일에 구워야 하는 경우에는 단순 색공간 변환과 출력용 DisplayViewTransform이 서로 다른 작업이라는 점도 기억해야 합니다. ACES 2의 역출력 변환은 정방향 변환 후 같은 표시 결과를 재현할 ACES 값을 만드는 왕복용이며, 원래 장면 선형 값을 복원한다고 보장하지는 않습니다.
결국, 같은 샷의 룩을 맞출 때는 렌더보다 뷰 변환부터 잠그면 됩니다.
공식 문서
버전별 처리 구조와 설정 호환성은 아래 공식 문서에서 확인할 수 있습니다.
vfx 잡학지식

댓글 0
첫 댓글을 남겨보세요.