같은 씬인데 팀원마다 색이 다를 때: OCIO 환경변수와 config 버전 고정
같은 씬 파일을 열었는데 팀원마다 색이 다르게 보이나요? 화면을 보고 값을 맞추기 전에 OCIO 환경변수와 config 경로부터 확인해야 합니다. PC 한 대는 프로그램에 포함된 기본 config를, 다른 PC는 OCIO가 가리키는 파일을 읽고 있을 수 있습니다.
그런데 환경변수 값이 같아도 결과가 다를 수 있습니다. Maya는 씬의 색관리 설정을 저장하고, Blender에는 BLENDER_OCIO라는 전용 변수도 있습니다. Nuke와 Houdini도 앱 안의 설정을 확인해야 합니다. 어디까지 같아야 팀 화면을 맞출 수 있을까요?
1. OCIO 환경변수는 config 파일 위치를 가리킵니다
OCIO는 OpenColorIO 설정 파일의 경로를 지정하는 환경변수입니다. 값에는 보통 폴더가 아니라 config.ocio 파일까지 적습니다. 다만 OCIO를 쓰는 프로그램마다 기본 config와 앱 내부 설정이 달라, 변수 하나로 모든 앱의 선택 순서를 단정할 수는 없습니다.
특히 앱은 실행될 때 환경변수를 물려받습니다. 이미 켜 둔 Maya나 Nuke는 나중에 변수 값을 바꿔도 기존 값을 계속 쓸 수 있으니, 확인할 때는 앱을 완전히 종료한 뒤 같은 실행 환경에서 다시 시작하세요.
Windows에서는 시스템 환경변수를 바꾸지 않고도 새 PowerShell 창에만 값을 지정해 시험할 수 있습니다. 아래 경로는 예시이며, config 파일과 LUT가 실제로 있는 경로로 바꿔야 합니다.
$env:OCIO = '\\studio\show\ocio\v1.0\config.ocio'
# Blender에서 전용 경로를 쓰려면 함께 설정
$env:BLENDER_OCIO = $env:OCIO
# 이 PowerShell 창에서 실행한 앱이 값을 물려받습니다.
# 앱 종료 뒤 이 창을 닫으면 시스템 환경변수는 바뀌지 않습니다.
앱 안에서 OCIO를 조회하면 실행 프로세스가 물려받은 값을 확인할 수 있습니다. 하지만 값이 있다는 사실만으로 실제 config 로드가 성공했다고 볼 수는 없습니다. 앱 로그나 색관리 화면의 경로도 같이 확인하세요.
ocio://default는 일반 파일 경로가 아니라 현재 OCIO 라이브러리에 내장된 기본 config를 가리키는 URI입니다. 라이브러리 버전에 따라 실제 config 내용이 달라질 수 있으므로, 버전 재현용 고정값으로는 적합하지 않습니다. 내장 config를 버전 고정 URI로 불러올 수 있지만, URI마다 필요한 최소 OCIO 버전이 다릅니다. 예를 들어 ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4는 OCIO 2.4 이상이 필요합니다.
팀의 모든 앱이 선택한 버전 고정 URI를 지원하는지 확인하세요. 서로 다른 OCIO 라이브러리 버전을 쓰는 팀이라면, 실제 config 파일과 LUT 묶음을 배포하는 편이 경로와 버전을 확인하기 쉽습니다.
2. 프로그램별로 실제 읽는 경로를 확인합니다
먼저 앱 안에 표시된 설정과 실행 환경을 대조하세요. 같은 이름의 config를 골랐더라도 경로가 다르거나, 앱이 내장 기본값을 선택한 상태일 수 있습니다.
| 프로그램 | 확인할 곳 | 주의할 점 |
|---|---|---|
| Nuke | Edit > Project Settings > Color와 실행 프로세스의 OCIO | Foundry의 현행 문서는 OCIO를 config 파일 경로로 설명하고, 프로젝트별 config는 Project Settings > Color에서 선택하도록 안내합니다. 실행 환경의 OCIO 값과 프로젝트 화면에 표시된 config를 각각 확인해 팀 표준과 일치하는지 대조하세요. |
| Maya | Preferences > Color Management > OCIO Config Path | OCIO 변수가 설정되면 경로가 읽기 전용이 되고, 색관리는 앱 시작·씬 로드·새 씬에서 활성화됩니다. 씬의 작업 색공간, Display, View와 입력 색공간 규칙도 확인하세요. |
| Houdini | Python Shell에서 현재 로드 경로를 조회 | 환경변수가 없으면 Houdini가 제공하는 config를 쓸 수 있습니다. 경로와 기본 Display/View를 함께 확인하세요. |
| Blender | 실행 환경의 OCIO, BLENDER_OCIO와 시작 로그 | Blender는 두 변수를 모두 지원합니다. 이 PC의 Blender 5.0에서는 BLENDER_OCIO가 OCIO보다 우선했습니다. |
import hou
print(hou.Color.ocio_configPath())
print(hou.Color.ocio_defaultDisplay(), hou.Color.ocio_defaultView())
Houdini에서는 hou.Color.ocio_configPath()가 현재 config 경로를 반환합니다. 현재 Display와 View는 ocio_defaultDisplay(), ocio_defaultView()로 따로 확인할 수 있습니다. Python Shell의 세 줄을 실행해 값이 팀 표준과 일치하는지 비교하세요.
실제 실행 확인에서도 차이가 드러났습니다. 이 PC의 Houdini 19.5.435는 OCIO 2.1.1을 사용했고, Blender 5.0에 포함된 OCIO 2.4 config를 읽지 못했습니다. Blender에서는 ocio://default가 OCIO 2.4용 ACES CG config로 해석됐습니다. 한쪽 앱에서 로드된 config가 다른 쪽에서도 읽힌다고 가정하지 마세요.

BLENDER_OCIO를 OCIO보다 먼저 읽었습니다. OCIO 2.1.1을 쓰는 Houdini 19.5는 Blender 번들 config(profile 2.4)와 ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4를 읽지 못했습니다. 이 버전 고정 URI의 최소 지원 버전은 OCIO 2.4입니다.3. 같은 config인데도 색이 다를 수 있습니다
config는 색공간과 변환 규칙을 제공하지만, 씬이나 프로젝트가 어떤 규칙을 선택했는지도 결과에 영향을 줍니다. 예를 들어 Maya에는 Rendering Space, Display, View와 입력 색공간 규칙이 있고, Nuke에는 프로젝트별 색관리와 Viewer 설정이 있습니다.
따라서 경로와 파일이 같아도 다음 항목이 다르면 뷰포트나 Viewer의 색이 달라 보일 수 있습니다.
- 작업 색공간과 씬에 저장된 색관리 설정
- Display와 View 또는 Viewer Process
- 텍스처·EXR에 지정된 입력 색공간과 자동 할당 규칙
- 출력 변환을 렌더에 적용했는지 여부
- 모니터 프로파일과 디스플레이 보정 상태
특히 View는 모니터에서 보는 미리보기 변환이고, 렌더 파일에 저장되는 변환과 다를 수 있습니다. Maya 문서도 View와 렌더 출력 변환을 따로 설명합니다. 설정을 비교할 때는 “같은 config인가?”에서 멈추지 말고, 같은 Display/View와 입력 색공간을 선택했는지도 확인하세요.
OCIO의 큰 그림은 OpenColorIO config와 색공간의 역할을 먼저 보면 정리하기 쉽습니다. Nuke의 입력 파일 자동 지정은 OCIO 2 File Rules로 색공간을 지정하는 방법과 이어집니다.
4. 팀 전체는 경로·버전·씬 설정을 함께 고정합니다
팀이 맞춰야 할 것은 파일 경로만이 아니라 같은 config·LUT 묶음의 고정 버전과 프로젝트의 작업 공간·Display·View 규칙입니다.
첫째, 프로젝트가 사용할 config 릴리스나 저장소 커밋을 정하세요. 파일을 같은 이름으로 계속 덮어쓰기보다 버전이 구분되는 폴더에 두면 과거 씬을 다시 열 때 어느 config였는지 찾기 쉽습니다. config에 외부 LUT가 있다면 LUT도 같은 릴리스에 포함해야 합니다.
둘째, 모든 PC와 렌더팜이 그 config와 LUT를 읽을 수 있게 배포하세요. OCIO의 search_path에 적힌 상대 경로는 config.ocio 파일이 있는 폴더를 기준으로 LUT를 찾습니다. Windows 드라이브 문자나 OS별 마운트 경로가 다르면, 실행 스크립트에서 각 PC에 맞는 경로를 지정하되 같은 버전의 파일을 가리키게 하세요.
셋째, 앱을 띄우는 런처와 배치 렌더에도 같은 환경을 전달하세요. Blender 전용 경로를 쓰는 경우에는 BLENDER_OCIO도 별도로 맞춥니다. 앱을 메뉴에서 실행하면 터미널에서 설정한 변수를 물려받지 않을 수 있으므로, 실제로 앱 안에 보이는 경로와 시작 로그를 확인하세요.
넷째, config와 함께 사용 중인 LUT의 버전이나 SHA-256 해시를 기록하고, 장면별로 작업 색공간·입력 색공간·Display·View·출력 변환을 정해 두세요. 구성원이 동일한 파일을 받았는지 확인할 때는 config 파일 해시만 비교하지 말고 외부 LUT도 포함해야 합니다.
앱별 설정 글도 이어서 볼 수 있습니다. Maya의 ACES 설정은 Maya에서 ACES를 켰을 때 색이 달라지는 원인, Blender의 AgX 공유는 Blender와 Nuke에서 OCIO config를 공유하는 방법, Houdini의 텍스처 입력은 Karma 텍스처 색공간을 지정하는 위치에서 더 확인할 수 있습니다.
결국 팀 색을 맞추는 기준은 OCIO 환경변수 하나가 아니라, 동일한 config·LUT 버전과 씬의 Display/View 설정입니다.
공식 문서
vfx 잡학지식

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