리그 & 멀티 리그¶
씬에 물건이 하나만 있는 경우는 드뭅니다. 캐릭터 둘, 소품 하나, 카메라 하나가 모두 같은 Harmony node graph나 Maya 아웃라이너 안에서 삽니다 — 그런데 그것들을 구분 없는 한 덩어리로 내보내면, 반대편에도 구분 없는 한 덩어리로 도착합니다.
Rig 열은 그것들을 갈라놓는 수단입니다. 파일에 기록되는 태그이며, import 시에 무엇이 별개의 단위로 만들어질지를 결정합니다:
| 애플리케이션 | rig 하나가 되는 것 |
|---|---|
| Blender | armature 하나 |
| Maya | group 하나, 그 rig의 root들이 그 아래에 |
| Harmony | node group 하나 |
Rig 열¶
Root 행에는 편집 가능한 드롭다운이 붙습니다. 자식 행은 흐린 텍스트와 함께 어느 rig을 물려받는지 알려주는 툴팁이 붙습니다 — 자식은 절대 별도의 선택지가 아닙니다.
이 열은 네 페이지 모두에 나타나며, 그룹핑은 두 포맷 사이에서 공유됩니다. 하나의 씬, 하나의 그룹핑, 어떤 파일로 나가든 마찬가지입니다: .anm export 페이지에서 rig 이름을 바꾸면 .pvt export 페이지에 즉시 반영됩니다.
셀에서 할 수 있는 세 가지¶
Rig 셀을 더블클릭하면 직접 입력할 수 있습니다. 이 셀은 편집 가능한 콤보입니다: 더블클릭하면 텍스트에 커서가 놓이고, 셰브론을 쓰면 씬에 이미 있는 rig 목록에서 고를 수 있습니다.
| 동작 | 결과 |
|---|---|
| 드롭다운에서 기존 rig 선택 | 이 chain을 그 rig으로 병합합니다 |
| 더블클릭 후 이름 입력 | rig의 이름을 바꿉니다 — 그 태그를 지닌 모든 chain이 따라옵니다 |
+ New rig… 선택 |
이름을 묻고 이 chain만 새 rig으로 옮깁니다 |
| 셀 비우기 | 이 chain의 자동 그룹핑을 되돌립니다 |
이름을 입력하는 것과 + New rig…를 고르는 것의 차이는 확실히 익혀둘 만합니다: 입력은 그 태그를 공유하는 모두에게 영향을 주는 이름 변경이고, + New rig…는 이 chain 하나만 떼어내고 나머지는 건드리지 않습니다.
그래서 spaceship과 turbine이 둘 다 spaceship으로 태그되어 있는 상태에서 아무 셀이나 더블클릭해 freighter라고 입력하면 둘 다 따라옵니다 — chain 하나를 빼낸 게 아니라 rig의 이름을 바꾼 것이니까요. 하나만 옮기려면 + New rig…를 쓰세요.
연결성 잠금¶
OTS가 절대 어기게 두지 않는 규칙이 하나 있습니다:
연결된 chain은 절대 쪼갤 수 없습니다
자식은 언제나 부모의 rig을 공유합니다. 떨어져 있는 root 둘을 하나의 rig으로 병합할 수는 있지만, 어떤 bone을 자신이 매달린 bone과 다른 armature에 넣을 수는 절대 없습니다.
이건 UI의 한계가 아닙니다 — 이것이 import를 의미 있게 만드는 조건입니다. 부모와 다른 armature에 있는 bone은 부모가 없는 것이고, 포즈가 틀리게 됩니다.
| 하고 싶은 것 | 가능한가요? |
|---|---|
| 별개의 캐릭터 root 둘을 하나의 rig으로 병합 | ✅ 네 |
| 소품의 root를 자기만의 rig에 넣기 | ✅ 네 |
| 카메라 chain을 캐릭터의 rig으로 옮기기 | ✅ 네 — 별개의 chain이니까요 |
| 척추를 허리에서 두 rig으로 쪼개기 | ❌ 아니요 — 연결되어 있습니다 |
그러니 최소 단위는 chain이고, 여러분이 정하는 것은 어떤 chain들이 rig을 공유하느냐입니다.
OTS는 그룹핑을 어떻게 제안하는가¶
여러분이 직접 할 일은 거의 없습니다: OTS가 열을 대신 채워주고, 대체로 맞습니다. 각 root의 rig은 이 목록을 위에서부터 훑어 내려가며 뭔가 답이 나올 때까지 확인해 정해집니다:
- 여러분이 직접 지정한 값 — 입력했거나 골랐던 것은 그대로 유지됩니다.
- 전용 카메라 chain →
Camera(여러 개면Camera_1,Camera_2, …). - 애플리케이션 자체의 힌트 — Maya에서는 joint가 속한 group.
- 감싸고 있는 group — Harmony에서는 노드 경로상의 group.
- root 자신의 이름, peg 접미사를 떼어낸 것.
Rig, 최후의 수단으로.
카메라 번호는 안정적입니다
전용 카메라 chain이 하나보다 많을 때, root들은 번호가 매겨지기 전에 이름순으로 정렬됩니다. 그래서 Camera_1과 Camera_2는 export할 때마다 같은 것을 가리킵니다 — 어쩌다 다른 순서로 선택했다고 해서 뒤바뀌지 않습니다.
캐릭터 chain 안에 사는 카메라 — rig 아래에 parent된 peg이 카메라를 구동하는 경우 — 는 전용 카메라 chain이 아닙니다. 캐릭터의 rig을 물려받는데, 그게 맞습니다: 캐릭터와 함께 움직이니까요.
실전에서¶
파일 하나에 캐릭터 둘¶
둘 다 스캔하세요. OTS는 보통 각 rig을 그 root의 이름으로 짓고, 열에 이미 두 개의 rig 이름이 보일 겁니다. 마음에 안 드는 이름을 하나 골랐다면 덮어써 버리세요.
import 시 Blender는 armature 두 개, Maya는 group 두 개, Harmony는 node group 두 개를 만듭니다.
캐릭터와 그 카메라¶
기본 상황입니다. 캐릭터 chain은 자기 이름을 갖고, 카메라 chain은 Camera를 갖습니다. import 시 Create Rig가 캐릭터를 만들고 Create Cameras가 카메라를 만듭니다 — 별개의 것들이니 버튼도 별개입니다.
일부러 병합하기¶
반대편에서 하나의 rig으로 다뤄지길 원하는 소품 두 개: 두 번째 소품의 드롭다운에서 첫 번째 소품의 rig 이름을 고르세요. 병합됩니다. 연결되지 않은 root들이니 허용됩니다.
Blender에는 왜 Rig 열이 없는가¶
세 애플리케이션 중 둘은 이 열을 주는데 Blender는 주지 않습니다. 일관성이 없어서가 아닙니다 — 각각에서 "rig"이 실제로 무엇인지에서 따라 나오는 결과입니다.
| rig이란 무엇인가 | bone이 다른 rig으로 옮겨갈 수 있나? | |
|---|---|---|
| Blender | armature — 자기 datablock을 가진 실제 오브젝트. bone은 정확히 하나의 armature 밖에서는 존재할 수 없습니다 | 아니요. Blender 자체의 데이터 모델이 금지합니다 |
| Maya | 관습. joint는 그저 DAG 안의 transform 노드일 뿐이고, armature 오브젝트라는 건 없습니다. "rig"이란 보통 root를 parent해 넣은 group이거나, 아예 아무것도 아닙니다 | 네 — 그저 reparent일 뿐입니다 |
| Harmony | 관습. peg은 graph 안의 노드이고, "rig"은 감싸고 있는 group입니다 | 네 |
그래서 Blender에서는 OTS가 개입하기도 전에 답이 이미 정해져 있고, 열은 잠깁니다: 선택된 각 armature가 자기 이름을 단 자기만의 rig으로 export됩니다. bone을 다른 rig으로 재태그하게 해준다면 export가 지킬 수 없는 약속을 하는 셈입니다 — 부모가 다른 armature에 있는 bone은 부모가 없습니다.
Maya와 Harmony에서 그룹핑은 진짜로 관습이고, 따라서 진짜로 결정거리이며, 그 결정을 내리는 자리가 이 열입니다. OTS는 합리적인 기본값을 제안하고 — Maya에서는 joint의 가장 가까운 비-joint 조상, Harmony에서는 감싸고 있는 group — 여러분이 고칠 수 있게 둡니다.
연결성 잠금은 셋 모두에 적용됩니다
Maya와 Harmony가 편집 가능하다고 해서 느슨한 건 아닙니다. 잠금은 어디에서나 그대로입니다: 연결되지 않은 root는 병합할 수 있고, 연결된 chain은 절대 쪼갤 수 없습니다. 그러니 Maya와 Harmony에서의 자유란 언제나 "어떤 chain들을 함께 묶을까"일 뿐, 결코 "이 chain을 반으로 자르자"가 아닙니다. Blender는 자기 데이터 모델 덕분에 같은 보장을 공짜로 얻습니다.
import 시에는 셋 모두 rig 태그를 온전히 존중합니다: rig 세 개를 담은 파일은 Blender에서 armature 세 개, Maya에서 group 세 개, Harmony에서 node group 세 개를 만들어냅니다.
In Blender와 In Maya를 참조하세요.
애플리케이션을 넘나드는 이름¶
rig 이름은 일반 텍스트로 이동하며, 만들어질 armature나 group의 이름으로 쓰입니다. 단순하게 유지하세요 — 슬래시 없이, 앞뒤 공백 없이 — 그러면 세 애플리케이션 모두를 온전히 통과합니다.
서로 다른 rig에 속한 chain 두 개가 같은 이름의 항목을 담고 있어도 괜찮습니다: OTS는 맨 이름이 아니라 전체 경로로 매칭하므로, 두 rig에 있는 같은 이름의 bone은 별개로 유지됩니다.