跳转至

视觉指示器

ORC 用很少的颜色说很多话。这一页就是全部的词汇表。

统领的规则是:颜色被有意地节省使用。 Outliner 只有恰好四种颜色状态,grid 只有一种绿色,而那些仅仅是"有趣"的信息则被刻意留成灰色。


绿色表示"active 节点在此处有 key"

只有一种绿色,用于所有类型的 key——一个 pose 的 frame、一个 driver 的值、一个 constraint 的状态、一个 look-at 的 key。

位置 样子
一个 grid snap
一个 slider 的刻度
一个 slider 的 handle handle 在处于有 key 的位置时变绿,凹槽也随之染色
一个字段标签 绿色文字
每个可见 grid 的 cursor,短暂地 一闪绿光——刚刚记录了一个 key

一个 navigator 只显示一个节点的 key,这就是为什么一种颜色就够了。

绿色始终关于 active 节点

在 driver 的页面上,pose 的绿色在源头就被抑制,并被那个 driver 自己的 key 取代。否则,一个每个 snap 都有 key 的 rig 会整片亮起,却什么都说明不了。

一个被 pin 住的 navigator 会显示 frame 编号,但没有绿色——它是一份参照,没资格宣称拥有你的 key。


其他的 grid 标记

标记 含义
一个空的 snap
back face 的一个 side snap,通过 Share Sides 从 front 继承而来。可见、可点击,但不可编辑。
Modified——自 rig 被导入以来,这个 snap 的 frame 发生了变化
Removed——空的,但参照在这里有一个被删除的 frame。没有这个环,它看起来会和导入时本来就空的 snap 一模一样
这里没有 frame

cursor 是唯一带边框的圆点,它同时携带两个信息——它的填充是这个 snap 的状态,它的边框是这个 snap 是否被修改过:

Cursor 含义
一个没有 key 的 snap
一个有 key 的 snap
……并且这个 snap 被修改过
一个没有 key 而被移除的 snap——光标下是空的,黄色是因为参照在这里有一个 frame

Modified 永远是一个环或一条边框,绝不是填充,因为它和这个 snap 是否有 key 是正交的两件事。在 cursor 上,黄色会取代白色,而不是再加一圈。

同样的三种标记也出现在 Navigator 里,所以 divergence 在你导航时也是可见的,不只是在你 authoring 的时候。在它的 slider 上,环没有地方可去——一个 tick 只是一条 2 像素的线——所以标记变成了一种拆分:tick 的头部变黄,主体保留有 key 的颜色,停在上面的 handle 则带一个黄色的环。

这两个界面回答的是不同的问题,标记的范围也随之不同:

  • Editor 的 authoring grid 上——你在这里固定一个 frame——黄色是精确且按页面的:就是这个 snap 的 frame 发生了偏离,在这个页面上。你看到的 grid 是这个 layer 整个堆叠中的一页(一个 head snap × 一个 knob 位置),所以只有当你停在发生偏离的那一页上时,环才会显示。把 head 或 knob 导航到别处,它就消失;回来,它还在。
  • Navigator 上——你在这里选择一个位置——黄色会向上汇总:通过这里被寻址的某处发生了偏离。control 的 grid 也钉在 knob 的当前页面上(它下方的 knob 会同时给两者翻页),而 knob 的 tick 仍然是广角取景器:只要一个 tick 的页面在任何 head snap 上存有任何偏离,它就会亮。

两条规则让这些标记保持诚实:

  • Navigator 属于选中的 layer。它的黄色显示的是那个 layer 的偏离,与别人无关——点击一个干净的 pose layer,它的 navigator 就是干净的,哪怕同一个 control 下的兄弟 layer 发生了偏离。一个 driver 或 look-at 的页面只标记它自己的值。发生偏离的是发生偏离的那个 layer,不是它的邻居。
  • 顺着踪迹往里走。一个 knob tick 亮了 → 导航过去,control grid 会点亮那个 head snap → 点击它,authoring grid 会给出精确的那一格的环。navigator 上的一个黄色标记是一支箭头,不是一个判决。

黄色关注两种数字

一个 rig 保存着两种被 authored 的数字,黄色都会关注:

  • Frames——一个 pose snap 指向时间轴上的哪一帧。上面的标记描述的就是这个。
  • Values——一个 driver 或一个 look-at 在某个 snap 上保存的值。重新打开一个已经 compose 过的 rig,在某个 snap 上拖动某个 driver 的 slider,那个 snap 就会在这个 driver 自己的 navigator 上变黄——它的 pose layer grid、它的 slider 的 tick 头部、它的 knob 卡片——以及寻址到它的那个 control snap 上。look-at 的 key 也是同样的处理。

同一个值重新打 key 不算一次变化:divergence 比较的是它现在是什么它原来是什么,而不是你有没有碰过它。把一个 driver 调回它最初的位置,黄色就会消失。

移除同样是一次变化。 删除一个参照里有的 pose——在一个导入或重新打开的 snap 上按 F7——被清空的格子会保留黄色的环(里面有一个小小的灰点),slider 的 tick 会变空但带着黄色的头部,停在那里的光标则是带黄色边框的蓝色。正是这个环把"这是我删掉的""导入时这里本来就什么都没有"区分开——一个导入的 MC 完全可以合理地带着空格子,所以单凭空缺本身什么也说明不了。而且因为一次移除和其他任何偏离一样也是一次 divergence,Restore 会把被删除的 pose 找回来

有两处刻意的空白。Constraints 永远不会标记——一个 constraint 是全局的开关,没有按 snap 存的值,所以没有什么可以偏离。而一个导入的 Harmony MC 没有 driver 或 look-at 的值可以发生变化——那些是只有在 ORC compose 之后才存在的 ORC 概念——所以 value 的黄色只会出现在重新打开的 ORC rig 上。

黄色究竟是为了什么

它的一半正是它字面所说的:这已经和我导入时不一样了,让你能把自己的工作和你最初带入的那份 MC 区分开。

另一半是一张安全网,而这一半才是它配得上这个颜色的原因。一个 frame 编号是一件很容易被意外改动的小事——在一个 snap 上误拖了一下,一个打错的数字,一次多填了一行的 fill。事后 rig 看起来没有任何问题:pose 仍然有一个 frame,圆点仍然是绿色的,grid 看起来仍然完工了。没有标记的话,你第一次发现的时刻会是在 compose 之后,在 Harmony 里,眼看着一个 pose 落到了错误的 drawing 上——远在你还记得自己做过这件事之后。

黄色补上了这个缺口。它在"不再处于原位"发生的那一刻就说出"这个已经不在它原来的位置了"——就在这个 snap 上,在这个 layer 的名字里,在你已经在看着的这个 navigator 上。大多数时候,它只是在确认一个你本来就想要的改动。唯一一次它不是,你会在几秒钟内发现,而不是在一次 compose 之后。

每一个黄色都有它的逆操作 — Restore

这个标记同时也是回去的路。在任何显示 divergence 的界面上右键,一个 Restore Reference 条目会把基线盖回恰好那个标记所覆盖的范围——同样的范围,一分不多:

Editor grid 上下文菜单

  • Editor grid——Restore Reference Frame 还原当前页面上被点击的那个 snap;Restore Reference Frames on This Grid 还原这一页上每一个发生偏离的 snap。
  • Navigator 的 control grid——Restore Reference Pose Here 还原选中的 snap 为选中的 layer 所寻址的一切,在它当前的 knob 页面上:frame,以及对一个 driver 或 look-at 页面来说,它在这个 snap 上发生偏离的
  • Knob tick——还原选中的 layer 在那个位置上的 key。

Navigator 上下文菜单 Knob navigator 上下文菜单

一个被重新计时的 key 会拿回它的参照 frame。一个新增的 key——参照里从来没有过的——会被移除,连同捕获的 pose 一起:还原到最初的 pose,意味着这个 key 回到不存在的状态。一个被移除的 key——参照里有、而你删掉了的——会带着它的参照 frame 复活。每一次 restore 都是单独一步撤销,状态栏会汇报数量。

这些条目始终会被列出,当它们无法执行时会灰化并给出原因:没有参照(这个 rig 是从零创作的——没有导入或重新打开的东西可以还原到)或者这里没有任何偏离。这个参照就是 divergence 用来比较的那一个,无论它来自导入的 Harmony MC 还是重新打开的 ORC rig。

它覆盖任何从某个 MC 返回的 rig——不管是你自己的还是 Harmony 的。唯一的空白是一个全新 rig 的第一次会话,它没有更早的版本可以对比,所以什么都不会被标记,也没有什么可以被标记。

这也是为什么这个标记刻意保持安静——一个细环,一个染色的名字——而绝不是一个警告对话框。发生偏离是正常且预期中的事:你打开这个 rig 正是为了改动它。黄色只是汇报,不是反对。


Outliner 的颜色

第二列里的 dimension chip 是灰色的。红色是这棵树唯一的颜色状态:

颜色 含义
灰色 正常。
红色 一个 compose blocker

一行被 block 时会被整体重新着色——名字、chip、两个 glyph 以及 Σ——因为这是唯一会阻止 Compose 的状态:两个 extra knob 在写同一个节点和通道,而它们无法相加。

另外,一个黄色的名字标记一个已经偏离其 MC 导入源的 layer。


Keyed、interpolated、driven

在 driver 和 look-at 字段上:

颜色 状态
绿色 #64C878 在这个 snap 上有 key
红色 #DC5050 Interpolated——从相邻的 key 混合而来
粉色 #E0608C 被另一个 driver driven

keyed 的绿色胜过 driven 的粉色,移除这个 key 会显露出底下的粉色。

一个 driven 的 knob 依然可以互动——你可以推动它来预览;compose 会从它的源头覆写它。一个被某个 driver 控制的 constraint 会变粉,并变为只读,但右键点击依然有反应。

slider 和它的数字框都会被着色,绝不只是其中一个。


Target 列表的颜色

一个优先级,一次性解析:

颜色 含义
红色名字 + 一个红色的 Σ Conflict——两个作者在同一个节点和通道上,无法合并
蓝色名字 Additive——这个 target 叠加在另一个作者之上。末尾的 Σ 标记出正在做叠加的那一个。
黄色名字 Modified——自 rig 被导入以来新增的
红色 + 删除线 一个被停用的通道,与 Harmony 自身的外观一致
变暗的数字 一个继承来的权重或 side。实心表示在此处设置。

重叠的色调

严重程度取决于混合方式,而不只是重叠这个事实本身:

色调 混合方式 含义
蓝色 Additive 两者共存——一个是偏移量,零意味着没有变化
黄色 Override 一个悄悄地替换另一个

尾随的 glyph

画在 dimension chip 之后,第二列的右侧。

Glyph 含义
一个 control 同时拥有 Front 和 Back 两个 face
一个 layer 有 L/R 的 mirror 配对。两个或以上会加上一个小小的上标计数。
Σ additive 方式 compose——它的 key 是增量,不是绝对值

mirror 的 glyph 和 Σ 共用同一个位置,而Σ 永远优先


Pin

Glyph 状态
实心的白色图钉 Pinned
空心、更暗淡 未 pin

只有 control、pose layer 和 knob 有 navigator,所以只有它们能带 pin。


Feedback bar

消息以固定的顺序堆叠,所以警告永远不会遮住确认信息:

颜色 含义 典型例子
中性 信息 "Cleared 84 snap(s)"
蓝色 一个提议或一个状态 "Saved session found — Front: robin-head-MC"
绿色 成功 "Compose complete — Top/robin-head-MC"
黄色 一个你可以采取行动的拒绝,或一个已激活的确认 "Click − again within 5s to confirm removal."
红色 一个错误 "Nothing to undo"

两次点击确认

有几个按钮会进入待命状态,而不是立即执行。一个待命中的按钮会变成琥珀色,feedback bar 会说明后果;让计时器耗尽会解除待命。

位置 保护的对象
删除一个带数据的节点 丢失已 key 的 pose
覆盖一个 preset 丢失已保存的布局
Compose,当存在警告时 CONFIRM?
Cancel,在 Compose 或 Unroll 期间 中途中止写入
在有 key 的情况下应用一个 grid preset Replace 9 key(s)?
Widget Editor 的 Cancel 丢弃未应用的编辑
preset 提示框中的 Replace / Add 丢弃已 authored 的 pose

只有在真的有东西可能丢失时,确认才会触发。 在一个什么都没打过 key 的 rig 上,删除是立即执行的——一个永远都会触发的确认,只是个减速带,不是安全网。


变灰,而非隐藏

当某样东西无法使用时,ORC 会把它变灰,并把出路写进 tooltip,而不是把它移除:

Pick a control first — Globals has no control grid to key across.

Front and Back have different row counts — the side columns can't align to share. Match their rows to enable Share Sides.

Flip Sides — this layer has no L/R pair (solo grids have no sides to flip).

一个被禁用的 Compose 按钮的 tooltip,永远就是它被禁用的原因。 一个被禁用的 Paste、一个变灰的 scope、一个被锁住的 Unroll 也是同样的道理。

如果某样东西看起来不可用,而你说不出原因,把鼠标悬停在它上面。


图标

Outliner 的每一行都是一个角色 glyph 加一个类型 glyph。完整的表格在 The Outliner Tree 里,但值得记住的规则是:

内部的线条就是 snap 的停靠点。 一个连续型的 widget 类型,画出来正好就是它离散型的孪生体,少了那些线条。


相关内容