
EXR-IO와 Cryptomatte: 3D 아티스트를 위한 합성 가이드
소개
복잡한 3D 씬을 렌더링할 때—건축 시각화이든, 캐릭터 작업이든, 제품 샷이든—우리는 절대 단일 평면 출력에 만족하지 않아요. 우리는 분리가 필요해요. 우리는 제어가 필요해요. 우리는 3D 씬을 건드리지 않으면서 렌더링 시간 이후에 머티리얼을 조정하고, 오브젝트를 격리하고, 색감 등급을 세밀하게 조정할 수 있어야 해요. 이게 바로 다층 OpenEXR 파일이 필수적이 되는 순간이고, EXR-IO와 Cryptomatte이 우리의 합성 워크플로우를 변환하는 곳이에요.
Super Renders Farm에서는 엄청난 양의 다층 EXR 시퀀스를 생성하는 분산 렌더링 파이프라인으로 작업하고 있어요. 이 파일들은 수십 개의 패스를 포함해요—뷰티, 디퓨즈, 스페큘러, 노멀 맵, 오브젝트 ID, 머티리얼 ID—모두 하나의 포맷에 쌓여 있어요. 이런 레이어들을 효율적으로 접근하고 조작하는 것은 선택이 아니에요; 그건 프로덕션 작업의 기초예요. EXR-IO 2.0 Photoshop 플러그인이 Cryptomatte 지원과 결합되면, 우리는 정확히 그걸 할 수 있는 도구를 갖게 돼요.
이 가이드는 완전한 워크플로우를 따라가요: EXR-IO와 Cryptomatte이 무엇인지를 이해하는 것부터, Photoshop에서 설정하는 것까지, 우리가 우리의 렌더팜에서 사용하는 실제 합성 전략을 구현하는 것까지요.
EXR-IO란 무엇인가요?
EXR-IO는 OpenEXR 파일을 읽고 쓰는 Photoshop 플러그인이에요—시각 효과와 전문 렌더링을 위한 업계 표준이에요. 표준 Photoshop 파일 포맷과 달리, OpenEXR (.exr)은 여러 개의 레이어, 채널, 메타데이터를 모두 32비트 부동소수점 색상 깊이로 저장할 수 있어요. 이건 렌더링 엔진에서 완전한 색상 정밀도와 다이나믹 레인지를 유지한다는 의미예요.
EXR-IO는 Photoshop이 다음을 할 수 있게 해줘요:
- 다층 EXR 파일을 Photoshop 레이어로 직접 임포트
- 렌더링 엔진(V-Ray, Arnold, Corona, RenderMan)에서 임의의 채널 데이터 읽기
- EXR 파일에 임베드된 메타데이터 접근(렌더링 시간, 엔진 버전, 프레임 번호)
- Photoshop 컴프를 EXR로 다시 내보내기, 레이어 구조와 색상 공간 보존
우리에게 이건 렌더팜에서 50개 레이어의 EXR 파일을 가져와서 Photoshop에서 열 수 있고, 즉시 모든 패스가 자신의 레이어로 분리되어 보인다는 의미예요. 변환 없어요. 손실 없어요. 어떤 패스가 어떤 채널에 해당하는지에 대한 추측 없어요.
Cryptomatte란 무엇인가요?
Cryptomatte (암호화 매트 시스템)는 시각 효과를 위해 개발된 표준 레이어 인코딩 시스템이에요. 전통적인 매트 채널(그레이스케일 마스크를 저장함) 대신에, Cryptomatte은 암호화된 해시를 사용하여 오브젝트와 머티리얼 ID를 레이어로 인코딩해요. 이건 의미해요:
- 렌더링된 이미지의 어떤 오브젝트든 클릭할 수 있어요
- Cryptomatte은 그 오브젝트의 완벽한 매트 마스크를 자동으로 생성해요
- 매트는 모션 블러, 반사, 투명도를 올바르게 캡처해요
- 여러 개의 오브젝트를 선택하고 매트를 결합할 수 있어요
- Cryptomatte은 렌더링 엔진 전체에서 작동해요(V-Ray, Arnold, Corona, RenderMan 모두 지원)
우리가 렌더링 엔진에서 Cryptomatte 출력을 활성화하면, 렌더러는 매트 타입마다 두 개의 레이어를 생성해요: Object와 Object00(데이터 레이어와 매트 레이어). EXR-IO은 이런 레이어들을 Photoshop에서 직접 읽을 수 있고, Photoshop 플러그인(또는 수동 선택 워크플로우)이 우리가 필요한 매트를 추출할 수 있어요.
여기의 가치는 속도예요. 손 그리기 마스크나 비싼 외부 도구를 실행하는 대신에, 우리는 오브젝트를 클릭하고, 픽셀-퍼펙트 매트를 얻어요. 머리카락이 있는 캐릭터 작업, 깃털같은 반사, 또는 복잡한 투명도의 경우, 이건 게임을 바꾸는 거예요.
Photoshop에서 EXR-IO 설정하기
Cryptomatte 워크플로우로 들어가기 전에, 우리는 EXR-IO를 설치하고 구성해야 해요.
설치:
- EXR-IO 사이트에서 EXR-IO 2.0 다운로드
- 플러그인을 Photoshop의 Plugins 폴더로 추출(일반적으로 Mac에서는
Applications/Adobe Photoshop/Plugins/, Windows에서는Program Files/Adobe/Adobe Photoshop/Plugins/) - Photoshop 재시작
- 설치 확인: File > Open으로 가서 이제 파일 브라우저에서
.exr파일들을 봐야 돼요
환경설정:
설치 후, Photoshop 환경설정에서 EXR-IO를 열어요:
- 색상 공간: 렌더 출력이 선형이면(CG의 표준) "Linear"로 설정. 렌더링 엔진으로 명시적으로 요구되는 경우에만 "sRGB"로 설정
- 알파 선곱(Premultiplication): 렌더링 엔진의 출력과 일치(대부분의 엔진은 "Straight" 알파 사용)
- 레이어 조직: 임포트 시 모든 레이어를 병합하려고 하면 "자동 병합"만 활성화—우리는 분리가 필요하기 때문에 이를 권장하지 않아요
- 메모리 관리: 8K 시퀀스로 작업하면, "느린 로드"를 활성화하여 Photoshop이 모든 레이어를 RAM에 한 번에 로드하는 것을 방지해요
EXR-IO: 기본 다층 워크플로우
Photoshop에서 EXR-IO으로 다층 EXR을 열기는 직설적이에요:
- File > Open,
.exr파일 선택 - EXR-IO은 사용 가능한 모든 레이어를 보여주는 대화상자 표시
- 임포트할 레이어 선택(또는 모두 임포트)
- Open 클릭
- Photoshop이 각 EXR 레이어를 Photoshop 레이어로 포함한 새로운 문서 생성
여기서 정밀도가 중요해요. 우리의 렌더팜에서의 전형적인 렌더는 다음을 내보낼 수 있어요:
- Beauty (렌더링 엔진에서의 최종 합성)
- Diffuse Direct / Diffuse Indirect
- Reflection / Refraction
- Specular
- Shadow
- Ambient Occlusion
- Z-Depth (포그 및 깊이 효과용)
- Normal Map
- Object IDs
- Material IDs (Cryptomatte이 적용되는 곳)
각각은 자신의 Photoshop 레이어가 돼요. 거기서부터, 우리는:
- 레이어 블렌드 모드 조정(그림자엔 Multiply, 반사엔 Screen)
- 조정 레이어 적용(Curves, Levels, Hue/Saturation)
- 마스크를 사용하여 특정 영역에 효과 제한
- 아카이브 또는 다운스트림 작업용으로 최종 합성을 EXR로 다시 내보내기
중요한 점: 우리는 비파괴적으로 작업해요. 원본 EXR과 모든 데이터는 손상되지 않아요.
EXR-IO에서 Cryptomatte 레이어 이해하기
렌더링 엔진이 Cryptomatte 데이터를 출력하면, EXR 파일은 여러 개의 레이어 쌍을 포함해요. 예를 들어, 단일 오브젝트 Cryptomatte 패스는 다음을 생성해요:
Object(매트 레이어—실제 마스크)Object00(데이터 레이어—암호화된 해시)
렌더링 엔진이 또한 Material Cryptomatte을 출력하면:
MaterialMaterial00
우리가 EXR-IO으로 EXR을 임포트할 때, 두 레이어 모두 Photoshop에 나타나요. 매트 레이어(Object, Material)는 그레이스케일 이미지로, 흰색 = 선택됨, 검정색 = 선택 안 됨이에요. 데이터 레이어(Object00, Material00)는 우리가 플러그인이나 외부 도구를 사용하여 매트를 디코딩하는 경우 필요한 해시를 포함해요.
전형적인 워크플로우에서, 우리는 매트 레이어 자체에 초점을 맞춰요. Cryptomatte 오브젝트 매트는 레이어 마스크로 직접 사용되거나, 색감 보정을 오브젝트별로 제어하는 조정 레이어 마스크로 복제될 수 있어요.
Cryptomatte 워크플로우: 렌더링 엔진 설정
Cryptomatte 데이터를 출력하려면, 우리는 우리의 렌더링 엔진을 구성해요. 여기 Super Renders Farm에서 사용되는 다양한 엔진 전체에서 이를 어떻게 하는지 있어요.
V-Ray (3ds Max, Maya, Cinema 4D):
- V-Ray 렌더 설정 열기
- Render Elements로 이동
- 새로운 요소 추가: "Cryptomatte (Object)"
- Object와 Material 데이터를 모두 원하면 "다중 매트 모드" 활성화
- 출력 경로 설정(EXR 포맷)
- 파일 이름 지정 구성:
[Scene]_[Layer]_[Pass].exr
Arnold (Maya, Houdini):
- AOV Manager에서, 새로운 AOV 생성
- "Cryptomatte"을 AOV 타입으로 선택
- "Object" 또는 "Material" 또는 둘 다 선택
- 렌더링하고 Arnold는 Cryptomatte 데이터를 직접 EXR로 쓰기
Corona Renderer (3ds Max, Cinema 4D):
- 렌더 설정에서, Corona Map Packs로 가기
- "Cryptomatte" 팩 활성화
- 필요에 따라 "Object"와 "Material" 체크
- EXR로 렌더링
세 엔진 모두 표준 Cryptomatte 데이터를 출력해요. 차이는 UI예요. 출력 포맷은 동일해요.
Cryptomatte을 포함한 다층 EXR 내보내기
렌더링이 완료되고 Cryptomatte 패스를 포함하면, 엔진은 다음을 포함하는 EXR 파일을 쓰기:
- 모든 표준 뷰티 및 기술 패스(디퓨즈, 스페큘러 등)
- Cryptomatte Object 레이어 및 데이터
- Cryptomatte Material 레이어 및 데이터(선택 사항)
- 모든 메타데이터(렌더링 시간, 프레임 번호, 엔진 버전)
우리는 이를 최고 품질 설정으로 저장해요: 16비트 또는 32비트 부동소수점, 압축 없음(또는 디스크 공간을 절약하기 위해 손실 없는 ZIP 압축). 복잡한 씬에서의 단일 프레임은 500MB에서 2GB일 수 있어요. 시퀀스의 경우, 우리는 손실 없는 압축을 사용하여 저장을 최적화하고 빠른 SSD 어레이에 저장해요.
Photoshop에서 Cryptomatte 레이어로 마스킹하기
EXR-IO를 통해 EXR이 Photoshop에서 열리면, 우리는 Cryptomatte 매트 레이어를 사용할 수 있어요. 여기 우리의 오브젝트 마스크를 추출하고 사용하는 워크플로우가 있어요.
단계 1: Cryptomatte 매트 레이어 찾기
Layers 패널에서, Object(또는 머티리얼 기반 매트엔 Material)로 이름 지어진 레이어를 찾아요. 이건 각 오브젝트/머티리얼이 다른 음영을 갖는 그레이스케일 이미지예요.
단계 2: 레이어 마스크 생성하기
마스킹할 레이어를 선택해요(예: 색감 조정 레이어). 우클릭 > Add Layer Mask. "Layer Mask"가 선택됐는지 확인(Vector Mask 아님).
단계 3: 마스크에 Cryptomatte 매트 지정하기
레이어 마스크를 선택해요(레이어 자신이 아님—Layers 패널의 흰색 직사각형). Cryptomatte Object 레이어를 복사해요. 마스크를 선택하고, 붙여넣기. Cryptomatte 데이터가 이제 조정 레이어가 영향을 주는 것을 제어하고 있어요.
단계 4: 마스크 정제하기
마스크가 너무 부드럽거나 원하지 않는 영역을 포함하면, 이를 조정해요:
- 마스크에서 Levels 또는 Curves 적용(레이어가 아님, 마스크)
- 마스크에 Threshold 조정을 적용하여 단단한 모서리 선택 생성
- 브러시를 사용하여 마스크에 수동으로 칠하기 또는 빼기
이 접근법은 빨라요. 손 선택이나 AI 선택 도구를 사용하는 대신에, Cryptomatte은 렌더링 엔진 자체의 오브젝트 ID에 기반한 정밀도를 제공해요.
실제 합성 예시: 머리카락이 있는 캐릭터
특정 예시를 걸어가보자: 복잡한 머리카락이 있는 캐릭터를 합성하기. 도전은 머리카락이 캐릭터의 얼굴, 어깨, 배경과 교차한다는 거예요. 전통적인 매트는 신중한 모서리 작업이 필요했어요. Cryptomatte은 이를 완벽하게 처리해요.
렌더 설정:
- V-Ray 또는 Arnold를 사용하여 캐릭터와 배경 렌더링
- 표준 패스 출력: Beauty, Diffuse, Specular, Shadow, AO
Character_Body,Character_Hair,Environment에 대한 ID를 포함하는 Cryptomatte Object 출력
Photoshop에서:
- EXR-IO로 EXR 열기
- 모든 레이어 임포트
- Beauty 레이어 위에 Hue/Saturation 조정 레이어 생성
- 조정 레이어에 레이어 마스크 추가
- Alt+클릭 레이어 마스크, Object Cryptomatte 레이어 붙여넣기
- 마스크에서 Curves 또는 Levels를 사용하여 머리카락 격리(
Character_HairID에 해당하는 특정 음영) - 조정 레이어 자신에서, 채도 감소 및 머리카락만을 위해 따뜻함 증가
- 머리카락에 다시 마스킹된 그림자 어두워짐용으로 다른 조정 레이어 추가
결과: 우리는 수동 마스킹 없이 머리카락 조정을 신체 조정에서 분리했어요. 모서리 품질은 우리의 손 작업이 아님, 렌더링 엔진에 의해 결정돼요.
렌더팜 출력 처리: 다중 프레임 시퀀스
Super Renders Farm에서, 우리는 일반적으로 단일 프레임을 렌더링하지 않아요. 우리는 시퀀스를 렌더링해요. 애니메이션은 240 프레임일 수 있고, 각 프레임은 Cryptomatte 데이터를 포함한 1GB EXR 파일을 생성해요. 임포트와 조직을 자동화하는 것은 필수적이에요.
워크플로우:
- 배치 통합: 렌더가 완료되면, 우리는 렌더팜에서 로컬 SSD 어레이로 모든 EXR을 복사해요
- 메타데이터 검토: 우리는 Photoshop에서(EXR-IO를 통해) 한두 개의 프레임을 확인하여 모든 예상 레이어가 있는지 확인해요
- 색상 공간 확인: 우리는 색상 공간이 우리의 출력 규격과 일치하는지 확인해요(Linear, sRGB, ACEScg 등)
- Python 스크립팅(선택 사항): 복잡한 시퀀스의 경우, 우리는 Python 스크립트를 작성해요(Photoshop은 Python API를 가지고 있어요) EXR을 배치 임포트, 일관된 마스크 적용, 조정된 시퀀스 내보내기
시퀀스의 경우, 우리는 일반적으로 Photoshop에서 한번에 240 프레임을 모두 열지 않아요. 대신:
- 프레임 1에서 룩을 개발해요(Cryptomatte 마스크가 제자리에)
- "Edit > Fill Layers" 또는 Action 기반 배치 처리를 사용하여 전체 시퀀스에 같은 Photoshop 조정 레이어 적용
- 각 프레임을 EXR로 다시 내보내기
- 결과는 모든 프레임에 같은 합성이 적용된 새로운 EXR 시퀀스예요
이게 EXR-IO의 힘이 접선이 되는 곳이에요. 우리는 모든 레이어와 데이터를 편집 사이클을 통해 보존해요.
FAQ
EXR-IO가 8비트 또는 16비트 EXR을 읽을 수 있나요, 아니면 32비트만?
EXR-IO는 모든 비트 깊이를 읽어요—8비트, 16비트, 32비트 부동소수점. Photoshop은 부동소수점 EXR으로 작업할 때 내부적으로 32비트로 변환돼요. 아카이브와 전달의 경우, 우리는 일반적으로 16비트 EXR을 내보내요, 이는 파일 크기와 정밀도의 균형을 맞춰요.
Cryptomatte 플러그인을 Photoshop용으로 별도로 구매해야 하나요?
아니에요. EXR-IO는 Cryptomatte 레이어를 표준 그레이스케일 데이터로 읽어요. 추가 소프트웨어 없이 매트 레이어를 직접 마스크로 사용할 수 있어요. 타사 Cryptomatte 플러그인(After Effects용 Cryptomatte처럼)은 자동화된 선택 도구를 제공하지만, Photoshop 작업의 경우 매트 레이어 자신이 충분해요.
렌더링 엔진이 Cryptomatte을 지원하지 않으면 어떻게 하나요?
이전 엔진(V-Ray 3.x, 이전 Arnold 버전, 일부 Corona 빌드)은 Cryptomatte 빌트인이 없을 수 있어요. 엔진 설명서를 확인하거나 최신 버전으로 업데이트해요. Cryptomatte은 2019년 이후 현대 렌더링 엔진의 표준이었어요.
EXR-IO로 Photoshop 문서를 EXR로 다시 내보낼 수 있나요?
네. File > Export As, EXR 포맷 선택, EXR-IO가 모든 보이는 Photoshop 레이어를 EXR 파일로 쓰기. 16비트 또는 32비트를 선택, 압축 설정, 저장. 내보낸 EXR은 레이어 구조와 메타데이터를 유지해요.
렌더와 Photoshop 간의 색상 공간 불일치를 어떻게 처리하나요?
항상 렌더링 엔진이 Photoshop 작업 공간과 같은 색상 공간으로 출력하는지 확인해요. 우리는 우리의 파이프라인 전체에서 보편적으로 Linear 색상 공간을 사용해요. EXR-IO 환경설정에서, Color Space를 "Linear"로 설정해요. 임포트 후 이미지가 너무 밝거나 어두워 보이면, 렌더링 엔진의 출력 색상 공간을 확인하고 EXR-IO 환경설정을 적절히 조정해요.
더 알아보기
기본 합성 기법에 대해, 우리의 최고의 3D 렌더링 소프트웨어 가이드를 봐요. 더 깊은 기술 워크플로우의 경우, VFX 팀을 위한 전문 렌더링 워크플로우를 살펴봐요.
추가 자료: EXR-IO 공식 설명서

