후디니 Karma 텍스처 색이 물 빠지거나 맵이 이상할 때: MaterialX에서 색공간 지정하는 자리
같은 텍스처인데 Karma에서 컬러가 물 빠져 보이거나 재질이 예상보다 번들거린다면, 색공간은 어느 설정에서 정해야 할까요? 후디니 텍스처 색공간이 이상할 때는 파일을 바꾸기 전, 같은 입력이 다르게 읽히는 지점부터 가려야 합니다. Signature, File Color Space, OCIO 설정을 차례로 비교하겠습니다.
후디니 텍스처 색공간에서 먼저 구분할 두 항목
MaterialX 네트워크에서 텍스처를 읽는 MtlX Image 노드를 선택하면 Signature와 File Color Space가 함께 보입니다. 두 항목은 이름이 비슷해도 역할이 다릅니다. 하나는 노드가 내보낼 타입을 정하고, 다른 하나는 입력 색공간을 지정하는 항목으로 표시됩니다.
Houdini 19.5.435에서 확인한 Signature 메뉴에는 Float, Color, Color 4, Vector 2, Vector 3, Vector 4가 있었고 기본값은 Color였습니다. Karma 텍스처를 연결할 때는 이 출력 타입과 변환 규칙을 함께 살펴봐야 합니다.
이 메뉴의 선택지는 이미지의 픽셀값을 어떤 타입으로 내보낼지 정합니다. 컬러 맵과 수치 맵은 같은 파일 형식이어도 목적이 다릅니다. 실제 차이는 같은 입력을 두 Signature로 읽었을 때 드러납니다.
이 구분은 단순히 출력 타입만 선택하는 문제가 아닙니다. Color와 Vector 계열은 색공간 변환 동작도 다릅니다. SideFX Karma User Guide에 따르면 MtlX Image의 color3/color4 Signature는 항상 Auto로 처리하고, float/vector3/vector4는 값 변환 없이 읽습니다.
MtlX Image에는 File Color Space 항목도 있습니다. SideFX의 20.0·21.0·22.0 문서는 이 색공간 파라미터가 USD/UsdMaterialX에서 일반적으로 지원되지 않는다고 안내합니다. 다만 Houdini 22.0.341 변경 내역에는 XPU에서 USDZ 패키지 안의 EXR을 읽을 때 이 값을 존중하지 않던 버그 수정이 있습니다. 따라서 일반적인 색공간 변환 수단으로 기대하지 말고, 해당 조합은 버전과 렌더 결과를 확인하세요.
Houdini 19.5.435에서 확인한 MtlX Tiled Image에도 Signature와 File Color Space 항목이 있었습니다. 이 글의 렌더 비교는 MtlX Image를 대상으로 합니다. File Color Space라는 이름만으로 Karma의 변환 결과를 예상하기는 어렵습니다. 두 입력 예를 살펴보겠습니다.
MaterialX 색공간과 Auto: Karma는 어떻게 판단할까?
MtlX Image에서 Color를 선택하면 Auto 판단이 적용됩니다. SideFX Karma User Guide에 따르면 Auto의 판단 순서는 다음과 같습니다.
- 파일 이름에 있는 역할 문자열을 확인합니다.
- 파일 메타데이터를 확인합니다.
- 앞선 정보로 판단하지 못하면 8-bit 이미지는 sRGB, 그 밖은 linear로 처리하는 규칙을 적용합니다.
Karma의 기본 Render Working Space는 Linear Rec.709 (sRGB)입니다. Color Signature는 파일이 sRGB 입력으로 판단될 때 그에 맞는 변환을 거칩니다. 반대로 Vector 3는 입력 수치를 변환 없이 읽습니다.
다만 파일 이름에 문자열을 추가하는 것만으로 특정 색공간을 강제할 수 있다고 생각하면 안 됩니다. 역할 문자열은 사용 중인 OCIO config에 맞을 때만 의미가 있습니다. 공식 문서와 2024년 포럼 관찰에 관련 동작이 나타나지만, 기본 config에서 .raw.가 인식되지 않은 재현도 있습니다. 이름을 변경했다면 실제 렌더에서 결과를 확인하세요.
같은 PNG인데 Signature에 따라 색이 달라지는 이유
다음 비교는 Houdini 19.5.435, Windows, Karma CPU에서 재현한 결과입니다. OCIO를 별도로 지정하지 않은 기본 config-aces-cg.ocio 조건이며, 작업공간은 Linear Rec.709로 판단한 환경입니다. Houdini 21.0 문서의 설명과 19.5.435의 실제 재현 결과는 구분해서 봐야 합니다.
동일한 8-bit PNG의 채널 값 128을 MtlX Image에서 읽었습니다. Color Signature에서는 약 0.2158, Vector 3에서는 약 0.5020이 나왔습니다. 이 파일이 Auto에서 sRGB로 판단돼 Color에는 변환이 적용되고, Vector 3에는 정규화된 입력 수치가 유지된 결과입니다.

이 차이 때문에 컬러 텍스처를 Vector 3로 읽으면 의도한 색과 다르게 보일 수 있습니다. 반대로 수치 맵을 Color로 읽으면 필요하지 않은 색공간 변환이 적용될 수 있습니다.
Roughness가 예상보다 번들거릴 때
Roughness 맵에서도 Signature 차이가 나타납니다. 8-bit PNG 값 140은 정규화하면 약 0.55입니다. 이를 Float로 읽으면 약 0.55가 유지되지만, Color로 읽어 sRGB 디코드가 적용된 채널을 roughness에 연결하면 약 0.262가 됩니다.
이번 Karma CPU 렌더에서는 Color로 읽은 쪽이 더 매끈하고 번들거렸습니다. 이는 MtlX Image Signature 선택에 따라 roughness에 전달되는 값이 달라진 사례입니다. 여기서는 Signature에 따라 입력 수치와 렌더 결과가 달라진 사실만 다룹니다.

Roughness나 Metallic처럼 수치를 전달해야 하는 맵은 먼저 Float로 설정하세요. 색이 아니라 데이터로 읽어야 하는 이유는 Roughness·Metallic 맵을 Raw로 설정하는 이유에서도 확인할 수 있습니다.
8-bit 외의 파일은 자동 판단을 믿어도 될까?
Karma User Guide는 Auto에서 8-bit 이미지에 sRGB를 적용한다고 설명합니다. 그러나 Houdini 19.5.435 재현에서는 16-bit PNG color3도 약 0.2158로 변환되었습니다. 문서의 8-bit 설명과 이 재현 결과가 다르므로, 16-bit 입력은 파일별 렌더 결과로 판단해야 합니다.
16-bit PNG·TIFF는 파일별로 실제 렌더 결과를 확인해야 합니다. 19.5.435의 한 가지 재현 결과를 모든 버전과 모든 이미지 형식에 적용해서는 안 됩니다.
Auto 판단이 맞지 않을 때 확인할 OCIO 설정
1. OCIO Editor의 Input File Rules
Houdini의 OCIO Editor에서는 Input File Rules로 파일 이름 패턴이나 확장자별 색공간을 지정할 수 있습니다. 최신 UI에서는 Edit > Preferences > OCIO로, 이전 UI에서는 Edit > OCIO Settings로 접근합니다. OCIO의 기본 구조는 OCIO 개요 글에서 이어서 볼 수 있습니다.
파일 이름의 역할 문자열을 Auto 판단에 활용하려면 현재 config에 어떤 규칙이 있는지 확인해야 합니다. 파일명만 수정하고 결과를 확정하지 말고 Karma 렌더를 통해 실제 변환 여부를 점검하세요.
2. 명시적인 변환은 Karma OCIO Color Transform
입력과 출력 색공간을 명시적으로 지정해야 한다면 Karma OCIO Color Transform VOP을 확인하세요. 이 노드는 Houdini 19.5부터 제공되며 MaterialX 노드와 함께 사용할 수 있습니다.
노드에서 From Space와 To Space를 지정하여 필요한 색공간 변환을 설정합니다. 앞서 소개한 수치와 이미지 비교는 Houdini 19.5.435의 Karma CPU 재현입니다. Karma XPU는 이 비교의 대상이 아닙니다.
3. USD UV Texture를 쓰고 있다면
MtlX Image가 아닌 USD UV Texture를 사용 중이라면 Source Color Space 항목을 확인하세요. 선택지는 Raw, sRGB, Auto입니다. 여기서 Auto는 파일을 보고 자동 판단하는 옵션으로 이해하면 됩니다. 관련 문서 간 세부 설명에는 차이가 있으므로 특정 파일 형식의 결과를 일괄적으로 단정하지 마세요.
어디서 정하고, 어떤 순서로 확인해야 할까?
Houdini MaterialX·Karma에서는 MtlX Image의 Signature를 컬러 맵은 Color, 단일 채널 수치 맵은 Float, 노멀맵은 Vector 3로 설정하고, File Color Space만으로 변환을 기대하지 마세요.
이 선택으로 해결되지 않으면 다음으로 OCIO Input File Rules와 수동 변환 노드를 살펴봅니다. 먼저 맵의 용도와 Signature를 맞춘 뒤 자동 판단을 확인하는 순서입니다.
렌더 전 최종 확인 순서
- MtlX Image Signature: 컬러는 Color, 단일 채널 수치 맵은 Float, 노멀맵은 Vector 3인지 확인합니다.
- Auto 입력 판단: 파일 이름 규칙과 메타데이터, 이미지 형식을 확인합니다.
- File Color Space 제한: USD/UsdMaterialX에서 해당 파라미터를 변환 수단으로 가정하지 않습니다.
- OCIO 설정: Auto 판단이 의도와 다르면 Input File Rules 또는 Karma OCIO Color Transform을 검토합니다.
- 실제 렌더: Karma CPU의 확인 결과와 XPU 미검증 범위를 구분하고, 특히 16-bit PNG·TIFF는 결과를 직접 비교합니다.
후디니 텍스처 색공간이 이상하면 File Color Space보다 MtlX Image Signature부터 확인하세요.
공식 문서
vfx 잡학지식


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