콘텐츠로 이동

Unroll

Video tutorial — coming soon

Unroll은 Compose의 역방향입니다. Compose는 authored한 pose를 Master Controller로 굽고, Unroll은 MC 안에 저장된 pose를 가져와 Harmony timeline 위에 keyframe으로 다시 만듭니다.

Unroll

다음과 같은 경우에 사용하세요.

  • timeline에서 잃어버린 pose를 복구할 때 — 아래를 참고하세요,
  • 물려받은 rig의 pose를 frame 위로 되돌려 편집할 수 있게 할 때,
  • 애니메이터에게 keyframe이 있는 rig 버전을 넘겨줄 때,
  • front MC와 back MC를 하나의 timeline으로 병합할 때 — Harmony 자체의 unroll로는 할 수 없는 작업입니다.

composed MC는 pose의 backup입니다

첫 번째 용도가 제작 하루를 구해주는 용도입니다. composed MC가 담고 있는 pose는 자신의 state 파일 안에 있는 완전한 사본입니다 — 유래한 timeline frame에 의존하지 않습니다. 그래서 그 frame들이 삭제되거나, 덮어써지거나, 잘못된 저장으로 사라져도, MC는 여전히 모든 pose를 가지고 있고, Unroll이 그것들을 keyframe으로 timeline에 되돌려 놓습니다. Compose는 그것들을 구워 넣고, Unroll은 다시 꺼냅니다.

Unroll할 수 있는 것

MC 표시 이름 pose의 출처
ORC로 compose된 MC ORC composed MC ORC 자체의 pose 데이터와 manifest
Toon Boom slider MC Harmony slider MC .tbState 파일 안의 state
Toon Boom grid MC Harmony grid MC .tbState 파일 안의 state
Toon Boom stack / cube MC Harmony stack MC .tbState 파일 안의 state

순수 Toon Boom MC도 작동합니다. ORC는 이들을 고유한 UI 스크립트로 인식하고 Toon Boom의 state manager를 통해 pose를 읽습니다.

어디서 시작하는가

시작 위치 Scope
control의 ⤓ Unroll 버튼 그 control — face 모두
control을 右클릭 → ⤓ Unroll Poses… 그 control — face 모두
pose layer의 ⤓ Unroll 버튼 그 layer만 체크된 상태로 대화상자를 엽니다

layer 버튼은 MC를 import한 free layer에서만 나타납니다 — 처음부터 authoring한 layer는 unroll할 MC가 없습니다.

로드된 MC가 없으면 버튼이 회색으로 비활성화되고, tooltip이 이유를 알려줍니다.

Locked until a Master Controller is loaded for this rig — set the MC in the source bar above.

Front + Back을 한 번에

두 슬롯이 모두 설정되어 있으면, ORC는 이들을 병합하여 하나의 timeline으로 unroll합니다. 계획(plan)의 제목은 robin-front-MC + robin-back-MC이고, 각 경고는 어느 MC에서 왔는지 이름을 붙입니다.

대화상자

Unroll scope

무엇을 구울지 체크할 수 있는 트리이며, Outliner와 같은 glyph로 그려집니다.

기본값
control 체크됨. 체크 해제하면 그 자식이 회색이 됩니다.
Front / Back 체크됨. 각 side는 독립적으로 scope되므로, front만 구울 수도 있습니다.
free pose layer 체크됨.
knob 자체 target이 있을 때만 체크됨.
Globals global layer가 존재하면 체크됨.

target이 없는 knob는 비활성화되고, 이유를 알려줍니다.

Knob — a dimension, not a pose layer. It has no targets of its own, so there is nothing to unroll here. Checking a layer that rides this knob already unrolls every pose along the knob's dimension.

트리 아래에는 실시간 카운트가 표시됩니다 — Baking 2055 of 2055 pose(s). 0이 되면 Unroll 버튼이 비활성화됩니다.

MC 전체, control 하나, layer 하나, global layer 하나, 또는 side 하나를 굽는 모든 경우를 하나의 메커니즘이 다룹니다.

Frame offset

Frame offset은 모든 source frame에 더해집니다. 0은 pose를 원래 frame에 복원하고, 양수는 모든 것을 뒤로, 음수는 앞으로 이동시킵니다.

pose 테이블

Unroll table

Show poses table을 체크하면 pose마다 한 행씩 표시됩니다.

Column 편집 가능
Src Frame 아니오 — pose가 authoring된 위치
Dst Frame — 기록될 위치
Snap Key 아니오 — pose의 address
Tabs 아니오 — 어느 stack이 기여하는지

native MC는 대신 Src Frame, Dst Frame, Pose Name을 표시합니다.

행 텍스트는 다음과 같이 경고 색으로 물듭니다.

색상 의미
Amber 이 destination frame에 둘 이상의 pose가 몰립니다
Red destination frame이 1 미만입니다

Reset Dst는 모든 행을 Src + offset으로 되돌립니다.

테이블은 기본적으로 켜져 있지만, 500개 이상의 pose가 있는 계획에서는 속도를 위해 꺼진 채로 열립니다. 두 view 모두 항상 준비되어 있으므로 전환은 즉시 이루어집니다.

Warnings

Message 의미
466 frame(s) with multiple poses: 51, 52, 53… (+458) 나중 snap이 그 frame들에서 이전 것 위에 쌓입니다.
N frame(s) ≤ 0 — fix before applying 고쳐질 때까지 Unroll을 막습니다.

실행하기

진행 팝업이 각 chunk를 보고합니다.

Frame 1200 / 2055 — controls=600 · layer writes=205488 · failed=0
Counter 의미
controls= 적용된 facade state — control pose마다 하나
layer writes= pose layer 데이터로부터의 개별 attribute 기록. 이 숫자가 큰 이유입니다.
failed= 노드나 column을 찾지 못한 기록

Cancel은 armed 방식입니다 — 한 번 클릭하면 4초간 armed 상태가 되고, 다시 클릭하면 중단됩니다. 이 마찰은 의도적입니다 — unroll 도중에 중단하면 timeline이 부분적으로만 기록된 상태가 됩니다. 중단은 chunk 경계(50 frame)에서만 일어나며, 기록 도중에는 절대 멈추지 않습니다.

모든 작업은 Harmony undo 한 단계 안에서 실행되므로, Ctrl+Z 한 번으로 전부 되돌릴 수 있습니다.

Outcome Message
정상 Unroll done — 2055 pose(s), controls=600 · layer writes=205488 · failed=0
실패 있음 Unroll: 2000 OK, 55 failed write(s), 2 failed frame(s) — see log
취소됨 Unroll cancelled — 812 pose(s) applied

무엇을 기록하는가

Unroll은 파일을 기록하지 않습니다. 출력의 전부는 keyframe, attribute 값, 그리고 씬 안의 drawing exposure입니다.

각 frame에 대해 control 자체의 pose를 그 state 파일로부터 복원합니다 — head peg, jaw deformer, lip-sync drawing까지, authoring된 그대로 — 그런 다음 pose layer의 deform offset, handle 길이, peg transform, drawing exposure를 해당 노드에 직접 기록합니다.

native MC에는 그런 데이터가 없으므로, 각 destination frame에서 이름 붙은 state를 그대로 적용할 뿐입니다.

Unroll과 Compose를 함께

이 둘은 하나의 loop가 갖는 두 방향입니다.

authored poses  ──Compose──▶  a Master Controller  ──Unroll──▶  timeline keyframes

이 왕복 덕분에 다른 사람이 만든 MC — 심지어 순수한 Toon Boom MC라도 — 를 가져와 frame으로 unroll하고, ORC로 import해서 필요한 부분을 다시 authoring한 다음, 다시 compose해서 내보낼 수 있습니다.

Re-editing a Composed MC를 참고하세요.