跳转至

Constraints

视频教程 — 即将上线

一个 constraint 在节点之间连接变换通道,并且可以被开关切换。

两种类型,这就是全部的词汇量:

类型 作用
Copy target 跟随一个 source peg,在你选定的通道上
Lock target 在那些通道上被 冻结在原地

+ → Constraint 添加一个。它会直接进入自己的编辑器。

Constraint editor

它究竟是怎么工作的

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 CopyLock
Source 要跟随的 peg。仅 Copy 有效。
Position / Rotation / Scale 各自三个开关按钮 —— XYZ
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/ZROTATION.ANGLEX/Y/ZSCALE.X/Y/ZSKEW。被勾选的通道会填充为蓝色。

一个 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 里找那个正确的节点。

相关