Targets¶
target 是一个 pose layer 被允许移动的 Harmony 节点 — 一个 peg、一个 deformation group、一张 drawing。target 列表就是 layer 知道自己拥有角色哪一部分的方式。
一个有 key 但没有 target 的 layer 会阻塞 Compose,原因写在按钮的 tooltip 里:
The "Eyebrows" layer is keyed but has no targets. Add what it should move to its target list.
添加与移除¶
- 在 Harmony 的 Node View 中选中节点。
- 点击 Targets 工具栏里的
+。
它们到达时的嵌套方式,和它们在 Harmony 里的嵌套完全一致 — 先是 Top 下,然后是它们所在的 group,再然后是节点本身。
− 移除选中项。当 layer 处于活动状态时,Delete 效果相同。
选中一个 group 表头并操作它,会影响到它下面的每一个 target。
工具栏¶
| 控件 | 作用 |
|---|---|
Filter… |
对名字、类型以及完整的节点路径做不区分大小写的匹配。只要一行本身或它的任意后代匹配,这一行就会保持可见;空的 group 会被隐藏。过滤时会出现一个 12/98 计数器。 |
All / None |
选中全部行 / 清空选择。悬停在列表上时,Ctrl+A 和 Ctrl+Shift+A 效果相同。 |
| 漏斗 | Filter attributes — 停用在这个 layer 的所有 snap 上都保持不变的 channel。右键点击它可以打开 Auto-filter static channels at Compose。 |
| 放大镜 | 在 Node View 中找到选中的 target。 |
⇄ |
Flip Sides — 在每个 page 内交换左 ↔ 右。当 layer 没有 pair 时会被禁用并附带原因。 |
+ / − |
从 Node View 的选择中添加 / 移除选中项。 |
Magnets¶
工具栏下方的一栏放的是 magnet 关键词。任何名字中包含某个关键词的节点都会被自动拉进列表 — brow、eyebrow、sobrancelha。
- 点击
+添加一个关键词;对话框会要求填写Keyword:并自动转成小写。 - 点击某个药丸上的
×来移除它。 - Magnet 是按 pose layer 划分的,并且会随着 preset 一起迁移。
这正是character preset 可移植的原因:preset 携带的是词语,而在下一个角色身上,这些词语会找到那个角色对应的节点。
各列¶
| 列 | 保存的内容 |
|---|---|
| Name | 节点的名字。它的颜色带有含义 — 见下文。 |
| Type | Drawing、Peg、Deform、Group,或者对 channel 行为 Attribute。 |
| Side | 哪个 grid 驱动这个 target。见Pages, Pairs & Sides。 |
| Weight | 仅限 Deform Follow — 这个 point 随视线拖动的程度,0–1。 |
| Skip | 当 Octo Skip Nodes 已集成时才出现。 |
当 layer 只有一个 solo page、这个概念显得多余时,Side 列会自己隐藏。
各列会和相邻列互相让出宽度,而不是溢出:拖动一条分隔线,最后一列会吸收多出来的空间,而拖动动作只会停下,不会产生水平滚动条。
排序¶
点击表头会循环切换:第 1 次点击 ▼ 降序,第 2 次 ▲ 升序,第 3 次回到原始顺序。 未排序时两个箭头都是灰色,只有当前生效的方向会变白。
Deform chain 行永远不会重新排序 — 打乱一条 chain 会让它无法辨认。而且存储的顺序不会因为你排序了视图而改变。
Name 颜色¶
单一优先级,一次遍历就能解析出来:
| 颜色 | 含义 |
|---|---|
| 红色 + 红色的 Σ | 冲突 — 两个 author 以一种无法结合的方式写这个节点和 channel。 |
| 蓝色 | 叠加(additive) — 这个 target 叠加在另一个 author 的值之上。末尾的 Σ 标出正在做叠加的那一个。 |
| 黄色 | 已修改 — 在 rig 被引入之后新增的。 |
| 默认 | 没有特别之处。 |
重叠¶
当两个 layer 指向同一个节点时,ORC 会标记那一行并说明会发生什么。严重程度取决于混合方式,而不是仅仅重叠这个事实:
| 色调 | Blend | 含义 |
|---|---|---|
| 蓝色 | Additive | 两者共存 — 一个是叠加在另一个之上的偏移,零表示没有变化。 |
| 黄色 | Override | 一个在这个 channel 上悄悄替换了另一个。 |
悬停在这一行上会列出其他的 author 名字。
Channels¶
展开一个 target 可以看到它的 channel — 也就是这个 layer 驱动的 Harmony attribute。
空的 channel 列表意味着 AUTO:驱动帧所暗示的一切。这是默认值,通常也是对的。
被停用的 channel 会以红色加删除线显示,和 Harmony 本身的样子一致。它仍然留在列表里,可以重新打开。
右键点击一个 channel:
| 项目 |
|---|
Deactivate channel / Activate channel |
Remove channel |
Activate all in node |
Deactivate all in node |
peg 显示的是它们的父 composite(POSITION_3D、SCALE_3D……)而不是标量叶子;deform curve 显示 offset、length0、orientation0、length1、orientation1。
静态 channel¶
一个在所有已 author 的 snap 上值都完全相同的 channel 是静态的 — 它什么都不做,只是浪费时间。漏斗按钮会停用当前选择(如果没有选择,则是整个 layer)中的静态集合。
右键点击漏斗启用 Auto-filter static channels at Compose,让它每次都自动发生。
Deform chains¶
Deform target 嵌套三层:group › chain › curve — 就像本页顶部截图里的嵌套那样,robin-G › Deformation-eye-2 › 1 › Curve_2 分别是一个 target、它的 chain 和它的某条 curve。容器行都显示为 Group;叶子行显示为 Deform、Peg 或 Drawing,因为一个 group 的成员并非全都是同一种类型。每一行都会精确按照 Harmony 里的样子显示节点自己的名字,所以列表里的一行和 Node View 里的节点读起来始终一致。
每一层都可以拥有自己的 Side 和 Weight,按一个方向解析:
curve → group → target
继承来的值会以暗淡的样子显示;显式设置一个值会让它变实。一行始终显示解析后的值,所以它永远不会在驱动它的东西上撒谎。
curve 之间意见不一致的 group 会显示为 Mixed — 这是信息,不是一个可以挑选的选项。
Skip¶
在安装了 Octo Skip Nodes 并开启集成之后,每一行都会得到一个 Skip 复选框。勾选它会在 Compose 时给那个节点打上 OSN 的 skip 符号,让 B 导航跳过它。该节点在 Node View 里依然完全可达。
- 表头的复选框是一个由各行驱动的二元开关,所以一个部分状态永远不会把你困住。
- group 表头会级联到它下面的每一个叶子,并显示一个三态框。
- Ctrl+Alt+A 勾选所有可见行,Ctrl+Shift+Alt+A 取消勾选它们。
- 一次批量修改算作一个 undo 步骤。
右键菜单¶
| 项目 | 备注 |
|---|---|
Remove selected |
计算受影响的实际叶子行数。 |
Skip selected / Don't skip selected |
当 Skip 列存在时。 |
Copy Side (L) / Copy Sides (7 curves) |
范围体现在标签里,而不取决于这一行是否被折叠。 |
Paste Sides / Paste Sides Mirrored |
当结构不匹配时会被禁用,原因作为 tooltip 显示。 |
大列表上的性能¶
一个头部有 500 个以上 target 是正常情况,列表也是为此设计的:行 widget 只为屏幕上可见的部分创建,批量重建会在旧列表的快照后面冻结,而不是先清空,批量编辑只会用一次 undo 快照,而不是每行一次。
相关¶
- Pages, Pairs & Sides — Side 列
- Pose Layers
- Look-At — peg 和 deform 使用的是同一个列表
- Visibility Groups — hide-nodes 使用的这个列表

