跳转至

Targets

视频教程 — 即将推出

target 是一个 pose layer 被允许移动的 Harmony 节点 — 一个 peg、一个 deformation group、一张 drawing。target 列表就是 layer 知道自己拥有角色哪一部分的方式。

The Targets panel

一个有 key 但没有 target 的 layer 会阻塞 Compose,原因写在按钮的 tooltip 里:

The "Eyebrows" layer is keyed but has no targets. Add what it should move to its target list.

添加与移除

  1. 在 Harmony 的 Node View 中选中节点。
  2. 点击 Targets 工具栏里的 +

它们到达时的嵌套方式,和它们在 Harmony 里的嵌套完全一致 — 先是 Top 下,然后是它们所在的 group,再然后是节点本身。

移除选中项。当 layer 处于活动状态时,Delete 效果相同。

选中一个 group 表头并操作它,会影响到它下面的每一个 target。

工具栏

Targets toolbar

控件 作用
Filter… 对名字、类型以及完整的节点路径做不区分大小写的匹配。只要一行本身或它的任意后代匹配,这一行就会保持可见;空的 group 会被隐藏。过滤时会出现一个 12/98 计数器。
All / None 选中全部行 / 清空选择。悬停在列表上时,Ctrl+ACtrl+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 关键词。任何名字中包含某个关键词的节点都会被自动拉进列表 — broweyebrowsobrancelha

  • 点击 + 添加一个关键词;对话框会要求填写 Keyword: 并自动转成小写。
  • 点击某个药丸上的 × 来移除它。
  • Magnet 是按 pose layer 划分的,并且会随着 preset 一起迁移。

这正是character preset 可移植的原因:preset 携带的是词语,而在下一个角色身上,这些词语会找到那个角色对应的节点。

各列

保存的内容
Name 节点的名字。它的颜色带有含义 — 见下文
Type DrawingPegDeformGroup,或者对 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_3DSCALE_3D……)而不是标量叶子;deform curve 显示 offsetlength0orientation0length1orientation1

静态 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;叶子行显示为 DeformPegDrawing,因为一个 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 快照,而不是每行一次。

相关