Houdini Copernicus Ultimate Guide 튜토리얼 정리 · 1편
핵심 개념
COP 네트워크의 구조와 성격, mono/UV/RGB/RGBA 시그니처 체계, -1~1 좌표 공간, 레이어 프로퍼티, op: 참조, Inspect 등 이후 모든 노드 설명의 기반 개념을 정리함.
[SOURCE] SideFX · The Ultimate Copernicus Guide | Every COP Node Explained
카테고리 houdini
Copernicus(COP)는 Houdini 20.5에서 새로 도입된 컴포지팅 컨텍스트임. 이미지를 "픽셀 = 복셀"인 2D 복셀 그리드로 다루기 때문에, 같은 데이터가 컴포지트 뷰에서는 이미지로, 뷰포트에서는 볼륨으로 동시에 표시됨. 이 장에서는 COP 네트워크의 위치와 성격, 시그니처(자료형) 체계, 값 범위와 좌표 공간 등 이후 모든 노드 설명의 기반이 되는 개념을 정리함.
이 문서는 SideFX 공식 튜토리얼 The Ultimate Copernicus Guide | Every COP Node Explained를 학습하며 정리한 기록임 — 오리지널 창작물이 아니라 원본 강의 내용을 주제별로 재구성한 자료임.
요약
- COP 이미지 = 2D 복셀 그리드(픽셀 = 복셀). 기본 해상도 1024×1024. 해상도를 올려도 공간 크기는 불변, 복셀 크기만 작아짐.
- 네트워크는 좌→우 수평 워크플로. COP network는 거의 모든 레벨에서 생성 가능함.
- 시그니처(자료형): Mono(파랑) / UV(주황, 2성분) / RGB(초록) / RGBA(노랑) / ID(정수) / Geometry. 입출력 시그니처는 임의 호환되지 않음 — conversion 노드로 일치시켜야 함.
- 좌표 공간: (-1,-1) ~ (1,1), 중심 (0,0). UV Sample은 -1~1, Texture Sample은 0~1, Ramp의 position 입력은 -1~1을 기대함.
- 값 범위: 화면 표시는 0~1로 클리핑될 뿐, 실제 값은 제한 없음. 확인은 컴포지트 뷰 우클릭 → Inspect. Inspect의 position 표시는 0~1이라 실제 공간(-1~1)과 다름 — 변환 필요.
op:경로: COP 내부 Null을 외부 어느 컨텍스트에서든 텍스처처럼 참조하는 문법.op:접두어 없이는 동작하지 않음.- 레이어 프로퍼티: resolution / pixel scale / border / precision(기본 32bit) 등 레이어를 따라 흐르는 메타데이터. Layer Properties 노드로 후처리 변경 가능함.
- 다중 출력 노드에서 상위 레벨로 나가는 출력은 디스플레이 플래그 노드의 첫 번째 출력임.
- COP 레이어는 볼륨으로 취급됨 — VEX
volumesample/volumesamplev로 SOP/DOP과 양방향 데이터 교환 가능함. - SOP 포인트를 COP 공간에 정확히 투영하려면 Grid를 XY 평면, 2×2 크기로 만들어야 함.
COP 컨텍스트 소개
- Copernicus(COPs)는 20.5에서 새로 나온 컴포지팅 컨텍스트임.
- COP의 이미지는 2D 복셀 그리드임 — 각 픽셀이 곧 복셀임. 기본 해상도는 1024×1024이며, COP network 노드의 default resolution 파라미터 또는 내부의 Size Reference 노드로 해상도를 지정함.
- 해상도를 올려도 그리드의 공간 크기는 그대로이고 복셀 크기만 작아짐.
- 내부에 Constant 등을 놓으면 뷰포트에는 볼륨으로, 컴포지트 뷰에는 이미지로 동시에 표시됨 — 사실 둘은 같은 데이터임.
팁 / 워크플로
- 튜토리얼 강연자는 인트로 그래픽(필름 그레인, 게이트 위브 등) 대부분을 COP만으로 30분 만에 제작했음 — 컴포지팅과 텍스처 제작 양쪽에 두루 쓸 수 있는 컨텍스트임.
COP Network 생성 위치
- COP network는 거의 모든 레벨(오브젝트 레벨, 지오메트리 레벨 등)에서 생성 가능함.
- 지오메트리(SOP) 레벨에서 만들면 SOP 노드처럼 동작하며, external COP 참조 옵션이 있음. 더블클릭으로 내부(Copernicus 컨텍스트)에 진입 가능함.
- 지오메트리 레벨 COP network는 출력이 이미지가 아니라 실제 지오메트리가 될 수도 있음 — 예컨대 내부 디스플레이 플래그가 Preview Material에 있으면 머티리얼 경로가 붙은 지오메트리가 상위로 출력됨. (렌더·입출력 참조)
수평 워크플로
- COP 내부는 좌→우 수평 워크플로임. 입력이 왼쪽, 출력이 오른쪽임.
- SOP의 상→하 흐름에 익숙하다면 방향만 다를 뿐 개념은 동일함.
op: 경로 참조
한 줄 요약: COP 내부 결과를 외부의 어떤 컨텍스트에서든 텍스처처럼 참조하게 해주는 경로 문법임.
사용 방법
- COP 내부에 Null을 만들어 이름(예:
texture_out)을 부여함. - 노드 경로를 복사한 뒤 대상 파라미터(예: UV Quick Shade의 texture map, 머티리얼의 diffuse/roughness/displacement 등)에
op:접두어 + 경로 형식으로 입력함. op:접두어가 없으면 동작하지 않음. 어떤 컨텍스트에서든 사용 가능함.
팁 / 워크플로
- 머티리얼 연동: Stage 레벨 Material Library에서 MtlX Image 노드의 파일명 자리에
op:+ COP Null 경로를 넣으면 일반 이미지 텍스처와 완전히 동일하게 취급됨.diffuse,roughness,displacement등 Null 이름별로 경로 끝만 바꿔 재사용함. (렌더·입출력 참조) - 지형 예제: COP에서 가공한 하이트맵 텍스처를 Null(
terrain_texture)로 빼고, SOP의 HeightField Quick Shade에서 map 이름에op:경로를 넣으면 COP 텍스처가 지형에 바로 적용됨. (지오메트리 연동 참조) - USD로 저장할 때 텍스처를 함께 디스크에 기록하려면 Layer Attribute Create로
savepath메타데이터를 붙여야 함. (렌더·입출력 참조)
시그니처(자료형)와 출력 색
한 줄 요약: 각 노드의 입출력은 시그니처라는 자료형을 가지며, 노드 출력 단자의 색으로 구분됨.
| 시그니처 | 출력 색 | 구성 |
|---|---|---|
| Mono | 파랑 | 단일 성분 float. 각 픽셀이 임의의 양/음 소수값을 가짐 |
| UV | 주황 | 2성분(R, G 채널) |
| RGB | 초록 | 3성분 |
| RGBA | 노랑 | 알파 포함 4성분 |
| ID | — | 타일 등 요소별 고유 정수값 |
| Geometry | — | 실제 지오메트리(내부에 Grid 등) |
- ID: Tile Pattern 같은 노드는 mono/ID/UV 등 다중 출력을 가짐. ID 활용법은 ID·세그먼트 참조.
- Geometry 출력도 존재함 — 상위 레벨에서 지오메트리를 다루는 일부 노드가 있음.
- 노드의 signature 파라미터는 출력 시그니처를 정함.
다중 출력 미리보기
- 노드 우하단의 출력 이름을 클릭해 미리보기 출력을 전환할 수 있음("viewing output 2" 표시됨).
- 이는 미리보기용일 뿐임 — 상위 레벨로 나가는 출력은 디스플레이 플래그가 켜진 노드의 첫 번째 출력임.
시그니처 변환의 필요성
- 시그니처는 입력/출력 모두에 있으며 임의로 호환되지 않음. 예: mono를 RGB 입력에 바로 연결할 수 없음.
- Layer 탭 아래에 각종 변환(conversion) 노드가 있음 — RGBA to RGB, RGB to Mono, Mono to RGB, ID to Mono 등. (컬러 변환은 컬러, ID 계열 변환은 ID·세그먼트 참조)
- 출력과 입력의 시그니처를 일치시키는 습관이 필요함. 예컨대 Eikonal에 스탬프 결과를 넣을 때도 먼저 mono로 변환해 시그니처를 맞춰야 함.
값 범위와 Inspect
한 줄 요약: 화면 표시는 0~1로 클리핑되어 보일 뿐, 실제 값은 그 범위를 얼마든지 벗어날 수 있음.
- 값이 1 이상이면 전부 흰색, 0 이하면 전부 검정으로 보이므로 화면만 보고 값을 단정하면 안 됨.
- 컴포지트 뷰에서 우클릭 → Inspect로 실제 픽셀 값을 확인 가능함(예: -10, 10 등).
- Clamp 노드로 최대 1로 클램프해도 화면상 차이가 없을 수 있음 — 값은 1을 넘거나 0 아래로 내려갈 수 있음을 항상 인지해야 함. (값 정리는 값 리맵의 Remap / Equalize / Clamp 참조)
- Inspect의 둘째 행은 픽셀 position을 보여줌 — 단 이 좌표는 0~1 범위로 표시되므로, 실제 COP 공간(-1~1)에서 쓰려면 변환이 필요함(아래 좌표 공간 참조).
레이어 프로퍼티 (Layer Properties)
한 줄 요약: 각 레이어(노드 출력)를 따라 흐르는 메타데이터 묶음임.
주요 항목
- resolution: 해상도.
- pixel scale: 픽셀 스케일.
- border: 이미지 경계 밖 처리 방식(wrap/clamp/mirror 등).
- precision: 채널당 부동소수점 저장 비트 수(기본 32비트).
- tile visualization, type info 등.
팁 / 워크플로
- Constant가 특정 해상도를 갖는 이유는 상위 COP network의 레이어 프로퍼티를 상속받기 때문임.
- Size Reference를 쓰면 그 레이어만의 별도 프로퍼티(해상도 등)를 가질 수 있음.
Layer Properties노드를 체인 중간에 끼우면 border, precision, type info 등을 후처리로 변경할 수 있음. 예: Streak Blur에서 이미지 상하단으로 번짐(bleeding)이 보이면 border를 Clamp로 바꿔 해결함. (고급 활용 참조)
좌표 공간
한 줄 요약: COP의 공간은 UV의 0~1이 아니라 (-1,-1) ~ (1,1), 중심이 (0,0)임.
- 포지션 맵이나 UV를 다룰 때 기대하는 공간이 다르면 문제가 생기므로 반드시 기억해야 함.
- UV Sample은 이미지 공간(-1~1)을, Texture Sample은 텍스처 공간(0~1)을 기대함 — 두 노드는 사실상 같은 노드이고 좌표 공간만 다름. Remap으로 상호 변환 가능함. (UV·왜곡 참조)
- Ramp 노드의 position 입력 역시 0~1이 아니라 -1~1 범위를 기대함. (생성·패턴 노드의 Ramp 참조)
- SOP에서 포인트를 가져와 스탬프할 때는 Grid를 XY 평면, 2×2 크기로 만들어야 COP 공간(-1~1, 즉 크기 2)에 정확히 투영됨. (지오메트리 연동 참조)
- Inspect로 읽은 좌표(0~1)를 그대로 쓰면 틀린 위치가 됨. 교정 hack:
UV Map(0~1) →Remap(0~1을 -1~1로) →UV Sample로 이미지를 올바른 공간으로 옮기면, Inspect에서 읽은 좌표를 그대로 넣어 기대한 색을 정확히 샘플링할 수 있음. (값 리맵의 Fill 예제 참조)
볼륨으로서의 활용
한 줄 요약: COP 레이어는 일반 볼륨처럼 취급 가능하므로 SOP/DOP와 자유롭게 데이터를 주고받을 수 있음.
사용 방법
- 레이어에 이름(예:
density)을 주면 Attribute from Map의 2번 입력이나 Volume Sample 등으로 데이터를 가져올 수 있음. - VEX에서 직접 샘플링도 가능함:
v@N = volumesample v(1, 0, v@P);처럼 COP network 노드를 wrangle 입력으로 연결해 볼륨으로 샘플링함. 벡터 데이터는volumesamplev를 사용함.
팁 / 워크플로
- Chladni Patterns의 모래 파티클 시뮬 예제가 이 방식의 대표 사례임 — COP에서 만든 노멀맵을 SOP 레벨 COP network로 참조하고, Solver 안의 wrangle에서 볼륨 샘플링해 포인트를 이동시킴.
- 반대로 SOP/DOP의 볼륨(연기 시뮬 등)을 Geometry to Layer로 COP에 가져와 후처리할 수도 있음 — 양방향 파이프라인이 가능함. (지오메트리 연동 참조)
Houdini Copernicus Ultimate Guide 튜토리얼 정리 · 전체 12편
- 00 Houdini Copernicus Ultimate Guide 튜토리얼 정리 index
- 01 핵심 개념
- 02 생성·패턴 노드
- 03 값 조정과 리매핑
- 04 블렌딩과 합성
- 05 색 보정
- 06 필터와 이펙트
- 07 SDF와 거리장
- 08 UV·왜곡·좌표
- 09 지오메트리·3D 연동
- 10 ID·세그먼트·변환 유틸리티
- 11 파일 입출력과 렌더 파이프라인
- 12 프로그래밍과 고급 기능