콘텐츠로 이동

리그 & 멀티 리그

씬에 물건이 하나만 있는 경우는 드뭅니다. 캐릭터 둘, 소품 하나, 카메라 하나가 모두 같은 Harmony node graph나 Maya 아웃라이너 안에서 삽니다 — 그런데 그것들을 구분 없는 한 덩어리로 내보내면, 반대편에도 구분 없는 한 덩어리로 도착합니다.

Rig 열은 그것들을 갈라놓는 수단입니다. 파일에 기록되는 태그이며, import 시에 무엇이 별개의 단위로 만들어질지를 결정합니다:

애플리케이션 rig 하나가 되는 것
Blender armature 하나
Maya group 하나, 그 rig의 root들이 그 아래에
Harmony node group 하나

Rig 열

Maya export 목록의 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 하나만 떼어내고 나머지는 건드리지 않습니다.

그래서 spaceshipturbine이 둘 다 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은 이 목록을 위에서부터 훑어 내려가며 뭔가 답이 나올 때까지 확인해 정해집니다:

  1. 여러분이 직접 지정한 값 — 입력했거나 골랐던 것은 그대로 유지됩니다.
  2. 전용 카메라 chainCamera (여러 개면 Camera_1, Camera_2, …).
  3. 애플리케이션 자체의 힌트 — Maya에서는 joint가 속한 group.
  4. 감싸고 있는 group — Harmony에서는 노드 경로상의 group.
  5. root 자신의 이름, peg 접미사를 떼어낸 것.
  6. Rig, 최후의 수단으로.

카메라 번호는 안정적입니다

전용 카메라 chain이 하나보다 많을 때, root들은 번호가 매겨지기 전에 이름순으로 정렬됩니다. 그래서 Camera_1Camera_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 BlenderIn Maya를 참조하세요.


애플리케이션을 넘나드는 이름

rig 이름은 일반 텍스트로 이동하며, 만들어질 armature나 group의 이름으로 쓰입니다. 단순하게 유지하세요 — 슬래시 없이, 앞뒤 공백 없이 — 그러면 세 애플리케이션 모두를 온전히 통과합니다.

서로 다른 rig에 속한 chain 두 개가 같은 이름의 항목을 담고 있어도 괜찮습니다: OTS는 맨 이름이 아니라 전체 경로로 매칭하므로, 두 rig에 있는 같은 이름의 bone은 별개로 유지됩니다.