Constraints¶
一个 constraint 在节点之间连接变换通道,并且可以被开关切换。
两种类型,这就是全部的词汇量:
| 类型 | 作用 |
|---|---|
Copy |
target 跟随一个 source peg,在你选定的通道上 |
Lock |
target 在那些通道上被 冻结在原地 |
用 + → Constraint 添加一个。它会直接进入自己的编辑器。
它究竟是怎么工作的¶
ORC 不写表达式(expression)。它用的是 Harmony 自己的 column sharing:打开一个 constraint,会把 target 的属性链接到 source 的 column 上,于是动任意一边都会同时动两边 —— 是原生的,没有求值开销,也没有表达式需要调试。
关闭它会把两者解除链接,target 会重新变回可以静态编辑的状态。
关闭它,会保留你关闭期间做的改动
ORC 会记住每个 target 在这个 constraint 最后一次开启时所处的 column,并优先恢复到那个状态。如果做不到,它会退回到在 Compose 时找到的那个 column。你在这期间打的 key 都会被保留。
Setup¶
Targets¶
这个 constraint 作用于的节点。用 + 从 Node View 里添加它们。
这里只能是纯粹的 Harmony 节点 —— 一个 constraint 没有内部 target。
Behaviour¶
| 字段 | 作用 |
|---|---|
Label |
动画师看到的名字。 |
Type |
Copy 或 Lock。 |
Source |
要跟随的 peg。仅 Copy 有效。 |
Position / Rotation / Scale |
各自三个开关按钮 —— X、Y、Z。 |
Skew |
一个开关。 |
Visibility Group |
开关 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 至少需要一个通道
关掉最后一个会被 拒绝 —— 按钮会闪琥珀色,反馈栏会显示:
A constraint needs at least one channel — turn another on before clearing this one.
没有这个限制,这个 constraint 就会在 compose 出来后变成一个静默的空操作(no-op)。
Values¶
只有一个 Enabled / Disabled checkbox。这就是全部的运行时界面。
Compose 那一刻的状态,就是合成出的 rig 出生时的状态,重新 compose 会重新盖上这个状态戳。
用 driver 做 gate¶
一个 constraint 没有 scope,也没有按 snap 打的 key —— 它是 global 的。要让它在某个 shot 里发生变化,把它交给一个 checkbox driver。
右键点击 Enabled checkbox:
| 项目 | 效果 |
|---|---|
Add Driver ▸ |
列出这个 rig 里的每一个 checkbox driver |
+ New Driver… |
新建一个,并以它做 gate |
Remove gate (Direct) |
回到普通的手动开关 |
一旦被 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 只能是 global 的。 在 Outliner 里,它们始终是 Rig 的直接子级,在 Dimensions 列显示为 —,并且不能被拖到别处。这里没有 scope 可选,因为根本没有按 snap 打的值。
Muting(静音)¶
在 Outliner 里右键 → Mute:"Skip this constraint at compose without deleting it (dimmed in the outliner)." 该行会变暗,Compose 会忽略它。
Deform 链¶
如果某个 target 是变形链(deformation chain)内部的一个 drawing 或 peg,ORC 会替你把它解析到该链所在的组 —— 你不用自己去 Node View 里找那个正确的节点。
相关¶
- Drivers —— 为它做 gate 的那个 checkbox
- Visibility Groups —— 开关出现的位置
- The Outliner —— constraint 所在的位置
