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

#houdini#copernicus#cop#signature#coordinate-space

← 목차로 돌아가기

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편

  1. 00 Houdini Copernicus Ultimate Guide 튜토리얼 정리 index
  2. 01 핵심 개념
  3. 02 생성·패턴 노드
  4. 03 값 조정과 리매핑
  5. 04 블렌딩과 합성
  6. 05 색 보정
  7. 06 필터와 이펙트
  8. 07 SDF와 거리장
  9. 08 UV·왜곡·좌표
  10. 09 지오메트리·3D 연동
  11. 10 ID·세그먼트·변환 유틸리티
  12. 11 파일 입출력과 렌더 파이프라인
  13. 12 프로그래밍과 고급 기능