Nuke/3D
Nuke 3D Matrix Knob 이해하기
르면가게
2024. 12. 13. 16:09
Enter the Matrix Knob:
Nuke 6.1에서는 3D 노드(예: ReadGeo, Axis, Camera 등)에서 Matrix Knob 기능이 추가되었습니다. 이 기능은 노드의 변환 데이터를 4x4 행렬 형태로 표현하며, 로컬 및 월드 데이터를 포함합니다. 이를 활용하면 복잡한 3D 변환 작업을 간소화할 수 있습니다.
1. Matrix Knob의 기본 개념
- 4x4 행렬(homogeneous coordinates)
행렬은 노드의 변환 데이터를 수학적으로 표현한 방식이에요.- 로컬(Local) 행렬: 해당 노드의 직접적인 변환값을 저장.
→ 일반적인 Transform Knob 값을 반영하며, "Specify Matrix"를 체크하면 직접 행렬 값을 수정할 수 있어요. - 월드(World) 행렬: 부모 노드의 영향을 포함한 최종적인 변환 데이터를 저장.
→ 이 값을 통해 노드의 절대적인 XYZ 좌표를 확인할 수 있어요.
- 로컬(Local) 행렬: 해당 노드의 직접적인 변환값을 저장.
2. 행렬 데이터 읽기
행렬 데이터를 직접 읽는 것은 복잡해 보이지만, 기본적인 구조를 이해하면 간단합니다.
- 평행이동(Translation):
- 행렬의 마지막 열의 마지막 세 칸에 저장.
단, Scale, Skew, Pivot 값이 없을 때만 적용됩니다.
- 행렬의 마지막 열의 마지막 세 칸에 저장.

- 회전(Rotation):
- 행렬의 특정 셀에 삼각함수 값(sine/cosine) 형태로 저장.
예: Y축 회전 45도 → 0.707 (45도의 사인 또는 코사인 값)
→ 스케일, 스큐, 피벗 값이 추가되면 데이터가 달라질 수 있어요.
- 행렬의 특정 셀에 삼각함수 값(sine/cosine) 형태로 저장.
3. 예제 시나리오: 카메라 계층 구조 데이터 복사
목표
Camera1의 월드 변환 데이터를 Camera2로 복사.
- Camera1은 Axis에 종속되어 있고, Camera2는 독립적인 데이터가 필요해요.
과정
- Camera2 설정
- Camera2의 Local Matrix 그룹에서 "Specify Matrix" 체크.
- Edit Expressions 사용
- Animation 메뉴 → Edit Expressions를 선택.
- 모든 Local Matrix 칸에 다음 표현식을 입력
Camera1.world_matrix
- 결과 확인
- Camera2의 Local Matrix가 Camera1의 World Matrix 데이터를 복사.
- 이제 Camera2는 Camera1의 모든 월드 변환 데이터를 포함하면서 독립적으로 동작해요.
4. 활용 방법 요약
- 로컬 데이터(Local Matrix): 개별 노드의 변환값을 직접 수정하거나 표현식으로 연결.
- 월드 데이터(World Matrix): 부모 변환을 포함한 절대 좌표계를 활용.
- Specify Matrix: 행렬 값을 수동으로 설정하거나, 다른 노드의 데이터를 복사할 때 사용.
5. 한눈에 보는 Matrix Knob 구조
Local Matrix | 현재 노드의 변환 데이터를 표현. 기본 Transform Knob과 연계. |
World Matrix | 부모 변환을 포함한 절대 위치 데이터를 표현. |
Specify Matrix | 행렬 값을 수동으로 설정하거나 표현식으로 조작 가능. |