콘텐츠로 이동

Constraints

Video tutorial — coming soon

constraint는 노드 사이의 transform 채널을 연결하며, 켜고 끌 수 있습니다.

두 종류뿐이고, 이것이 전체 vocabulary입니다.

Type 하는 일
Copy targets가 선택한 채널에서 source peg를 따라갑니다
Lock targets가 그 채널에서 제자리에 고정됩니다

+ → Constraint로 하나를 추가합니다. 바로 editor로 들어갑니다.

Constraint editor

실제로 작동하는 방식

ORC는 expression을 쓰지 않습니다. Harmony 자체의 column sharing을 사용합니다 — constraint를 켜면 target의 속성이 source의 column에 연결되어, 어느 쪽을 움직여도 둘 다 움직입니다 — 네이티브하게, 평가 비용 없이, 디버깅할 expression도 없이 말입니다.

끄면 연결이 풀리고, targets는 다시 정적으로 편집 가능해집니다.

끄는 것은 꺼져 있는 동안 한 작업을 보존합니다

ORC는 constraint가 마지막으로 켜져 있었을 때 각 target이 가졌던 column을 기억하고, 그것을 먼저 복원합니다. 그것이 없으면 Compose 시점에 발견한 column으로 대체합니다. 그 사이에 만든 key들은 유지됩니다.

Setup

Targets

constraint가 작용하는 노드들입니다. Node View에서 +로 추가합니다.

여기에는 순수한 Harmony 노드만 들어갑니다 — constraint에는 internal target이 없습니다.

Behaviour

Field 하는 일
Label 애니메이터가 보는 이름입니다.
Type Copy 또는 Lock입니다.
Source 따라갈 peg입니다. Copy에서만.
Position / Rotation / Scale 각각 세 개의 toggle 버튼 — X, Y, Z.
Skew toggle 하나.
Visibility Group on/off checkbox가 위치하는 곳입니다.

+로 source를 선택하면 Harmony 선택 항목에서 읽어와 애니메이션이 감지된 채널을 자동으로 체크합니다 — 이는 편의 기능일 뿐 잠금이 아니며, 여전히 어느 것이든 토글할 수 있습니다.

Lock에서는 Source 행 전체가 비활성화됩니다.

Lock freezes the targets' own channels in place — there is no source node to read from. Switch Type to Copy to follow a source peg.

Channels

열 개의 채널은 POSITION.X/Y/Z, ROTATION.ANGLEX/Y/Z, SCALE.X/Y/Z, SKEW입니다. 체크된 채널은 파란색으로 채워집니다.

constraint에는 채널이 최소 하나는 필요합니다

마지막 남은 것을 끄는 것은 거부됩니다 — 버튼이 amber로 깜빡이고 feedback bar에 이렇게 표시됩니다.

A constraint needs at least one channel — turn another on before clearing this one.

이것이 없으면 constraint는 조용한 no-op로 compose될 것입니다.

Values

Enabled / Disabled checkbox 하나뿐입니다. 이것이 runtime interface의 전부입니다.

Compose 시점의 상태가 composed rig가 태어날 때의 상태이며, re-compose는 그것을 다시 찍습니다.

driver로 gate하기

constraint에는 scope도 없고 snap별 key도 없습니다 — 전역입니다. shot 도중에 바뀌게 하려면 checkbox driver에게 맡기세요.

Enabled checkbox를 右클릭하세요.

Item 효과
Add Driver ▸ rig 안의 모든 checkbox driver를 나열합니다
+ New Driver… 하나를 만들어서 그것에 gate합니다
Remove gate (Direct) 다시 평범한 수동 toggle로 돌아갑니다

일단 gate되면 checkbox는 pink로 바뀌고 읽기 전용이 됩니다 — 이제 driver를 통해 조작합니다. 右클릭은 여전히 작동하므로 gate를 바꾸거나 제거할 수 있습니다.

tooltip이 어느 것이 소유하고 있는지 알려줍니다.

Driven by "Arm IK" — toggle it via that driver, or right-click here to change the gate.

그 driver가 나중에 checkbox가 아니게 되면, gate는 조용히 사라지는 대신 유지되고 표시됩니다.

Driven by "Arm IK" — but that driver is no longer a Checkbox, so it cannot turn this on/off. Set it back to Checkbox, or right-click here to remove the gate.

다시 Checkbox로 되돌리면 gate가 복원됩니다. 삭제된 driver에 걸린 gate는 gate 없음으로 되돌아갑니다.

constraint가 사는 곳

constraint는 전역 전용입니다. Outliner에서 이들은 항상 Rig의 direct child이며, Dimensions 열에는 를 표시하고, 다른 곳으로 드래그할 수 없습니다. key할 snap별 값이 없기 때문에 선택할 scope도 없습니다.

Muting

Outliner에서 右클릭 → Mute: "Skip this constraint at compose without deleting it (dimmed in the outliner)." 행이 어두워지고 Compose가 무시합니다.

Deform chains

target이 deformation chain 안의 drawing이나 peg라면, ORC가 알아서 chain의 group까지 resolve합니다 — Node View에서 올바른 노드를 직접 찾을 필요가 없습니다.