跳转至

Knobs

视频教程 — 即将推出

knob 是被当作使用的 pose layer,而不是被当作一组 pose 使用。

knob 是一种角色,不是一种类型。任何 pose layer 都可以变成它:把另一个 layer 的 Knob 选择器指向它,或者在 Outliner 里把一个 layer 拖到它上面。

变成一个轴改变的是它是什么,而不是它自己的 pose 能做什么:

保留的 放弃的
它的 grid,以及编辑它的权限 Pairs — knob 没有 L/R 双胞胎
它的target 列表 Pages — knob 只有单一 page
自己创作的 pose

knob 永远是独立、单 page 的。这就是全部代价。

所以把一个成对的 layer 变成 knob,必须先把它收拢成一个,ORC 不会背着你这么做。一个有多个 grid、且额外 grid 上有帧的 layer 会被拒绝:

"Mouth" has authored frames on its extra grids — a knob is a single solo grid. Collapse it to one grid first.

自己把它收拢成单一的 solo grid 就能通过。一个额外 grid 是空的 layer 会被无声地收拢。

收拢实际上会付出什么代价

不是帧。一个 layer 的每个 page、每一侧共用同一个 snap 对应同一帧 — 你在一个 grid 上创作,ORC 会把它写到所有 grid 上 — 所以 pose 在收拢过程中会保留下来。

一个 solo layer 无法表达的是 sides:哪个 target 由哪个 grid 驱动。放弃的正是这份路由关系。

Mirror 决定双胞胎帧落在哪里

复制到双胞胎 grid 上的不是直接复制 — snap 会沿着 layer 的 mirror 轴翻转。开着 Mirror X 在左边创作 R0C0,写入的是右边 grid 的 R0C6,不是它的 R0C0

所以创作那一刻生效的 mirror 轴,会被烙进这些帧落地的位置,之后再改轴并不会重新映射你已经做好的 key。收拢一个镜像过的 layer,关掉 Mirror X,再配成对,新的创作会落在和旧的不一样的 snap 上。

这都不算错误 — 翻转一个轴同样是你故意反转双胞胎读取方向的方式。只有在你没预料到时才是意外。

经验法则:在一个的 layer 上,随便改。在一个已创作的 layer 上,预期旧的 key 会留在原处,再自己决定要不要重新打 key。

把一个 layer 指定为 control 的 face 也受同样的保护,原因相同。

Knob editor

它带来什么

假设你的 mouth layer 有一个 3 × 3 的角形 grid。现在给它一个 13 个位置的 phoneme knob。

mouth layer 并不会多出 13 个 pose。它多出的是每个 phoneme 一整个 3 × 3 grid — 117 个 pose,以"这个角形,在这个 phoneme 上"来定位。

这就是"keying across"的意思,和一个 layer 与它的 control 之间的关系一样 — 只是又深入了一层。

两种类型

两者都创作。两者都有 target。区别在于它们自己的 pose 活在哪个 key domain 里 — 由此决定 Navigator 在你创作时给你什么。

control 的 knob 额外的 knob
谁指向它 一个 control 的 face 一个普通的 pose layer
它牵动什么 control 的整个 pose grid — turnaround 本身 只有指向它的那个 layer
它自己的 pose 沿着什么 keyed across 仅自己的轴 自己的轴以及 control 的 grid
Navigator 给它什么 没有 control grid control 的 grid

原因不是规则,是算术。control 的 knob 就是 control 的一个维度 — control 已经通过它 key,如果再叠加 control 的 grid,就是把同一个轴数了两遍。选中它时 ORC 会说明:

This knob authors its own dimensions. The control's grid adds no axis here — the control already keys through this knob.

额外的 knob 是作为子级坐在 control 内部的,所以它确实会拿到 head grid,它的 pose 会像其它任何 layer 一样,随 control 的 pose 而变化。

一个 control 的 Front 和 Back face 共用一个 knob — 在一个上设置,另一个也会跟着变。

给 layer 一个 knob

两种方式,效果相同:

  • 选中 layer,在它头部的 Knob 组合框里选一个 layer。
  • 拖拽一个 layer 到另一个上,在 Outliner 里。tooltip 会点名你拖到的那个 layer,并准确说明会发生什么 — 拖到一个叫 Head Knob 的 layer 上,会显示 "Key across «Head Knob» (it becomes a knob)"

组合框的 tooltip 是这一页的浓缩版:

The KNOB this layer keys across — its extra control axis (a phoneme/expression grid, the W slider…). Pick a layer to make it this layer's knob (or drag a layer onto another in the outliner). THIS layer's targets stay here; the knob keeps its own grid, targets and poses, but becomes solo and single-page.

消费者的 target 留在消费者身上

这个组合所驱动的东西,列在指向 knob 的那个 layer 上,不在 knob 本身上。knob 自己的 target 列表是独立的,驱动的是这个 knob 自己 pose 出来的东西。

已经有 pose 的 layer 会保留它们 — 落在位置 0

采用一个 knob,会把这个 layer 已有的 key 重新安置到 knob 的第一个位置上:位置 0 显示的正是这个 layer 之前显示的内容,其余每个位置都从空白开始,等着创作。(Compose 本来就是这样读它们的 — 这次移动只是让编辑器与之一致。)

要移除一个 knob,把选择器设回

knob 能是什么、不能是什么

每个 layer 只能有一个 knob。 选择器是单个组合框,选新的会替换旧的。

ORC 会拒绝没有意义的接线方式,每次都在反馈栏里给出原因:

拒绝 原因
"Can't — that would cycle the dimensions." knob 不能沿着一个反过来沿着它的东西 keyed across。
""Eyebrows" belongs to "Head" — a layer only keys across knobs of its OWN control. Make the knob global to share it." Control exclusivity。要在多个 control 之间共享一个轴,把它设为全局
""Mouth" has authored frames on its extra grids — a knob is a single solo grid. Collapse it to one grid first." knob 是单个 grid。Pages 和 pairs 是 pose 的概念。

成功后你会得到绿色确认: ""Mouth Corners" now keys across "Head Knob" (it's now an axis)."

knob 是终端节点。 knob 自己不会再有 knob 选择器 — 那一行直接隐藏。knob 的链条不属于这套模型。

编辑一个 knob

选中一个 knob,给你的是普通的 pose-layer 页面:一个可编辑的 grid、一个 target 列表、它自己的帧。头部会说明它的角色 — Knob Layer in Head Control — Navigator 会像上表所说的那样,给 control 的 knob 去掉 control grid。

你能对一个 layer 做的一切,在这里都能做:改变它的形状和 Pos 数量、添加 target、给 pose 打 key、设置它的 visibility group。

重新塑形一个 knob 会给它的消费者重新编号

改变 knob 的形状,会把骑在它身上的所有 layer 持有的每一个 key 重新定位,让每个已创作的位置保住自己所在的 snap。ORC 会汇报它做了什么: "Knob reshaped — 84 key(s) renumbered to the new grid."

1-D 和 2-D knob

形状 合成后 rig 里的 widget
一个 slider 一个 slider — 动画师拖动的一根横条,N 个位置
一个 grid 第二个 2-D widget

一个 2-D knob 的代价是两个维度,而不是一个。这就是一个 5D layer 和一个 6D layer 的区别。

沿着 knob 填充

一旦 layer 有了 knob,它的头部就会出现 Fill Dimensions。它会把这个 layer 已创作的帧,按每个位置的帧偏移量,复制到 knob 的每一个位置上 — 在细化之前粗略打好一个 knob 轴的最快方式。

Fill Grid & Fill Dimensions

代价

每一个 knob 的位置都会成倍增加你可以创作的 pose 数量、Compose 花费的时间,以及它占用的内存。

Rig Pose 数
一个全局的 3 × 3 layer 9
……在一个 5 × 3 control 里 135
……再加一个 13 位置的 knob 1,755
……换成一个 3 × 3 的 knob 1,215

你不必把它们全部打上 key — 没打 key 的 snap 会直接从相邻位置混合。但你添加的每一个 knob,都是一个关于这个 rig 需要多少创作量的决定。

相关