Pages, Pairs & Sides¶
一个角色有两条眉毛。它们通常是镜像的,有时不是,而且大多数时候需要一起摆姿势,少数时候需要分开摆。
Pages、pairs 和 sides 就是一个 pose layer 处理这件事的方式。
Page¶
page 是一个 layer 的 grid 的编号变体。一个 layer 从一个 page 开始,用 grid 那一行的 + 添加更多。
一个 page 装的是:
- 一个 pair — 两个 grid,分别标着
Left-1和Right-1,或者 - 一个 solo — 一个 grid,标着
Solo-1。
grid 那一行下面那条带编号按钮的细条用来切换 page。只有一个 page 时它会被隐藏。
page 编号是稳定的 id
删掉 page 2,剩下的还是 1 和 3。这个空缺是对的 — 你的 target 的 side 归属仍然指着 page 3,重新编号会悄悄改变它们的指向。
什么随 page 变化,什么不变¶
| 随 page 变化吗? | |
|---|---|
| grid 驱动哪些节点 | 是 — 这正是 page 的意义 |
| 创作出来的帧 | 否 — 在任何一个 page 上创作的帧,会在所有 page 上生效 |
| mirror 轴 | 否 — 它们属于整个 layer |
最后一条常让人意外。page 关乎的是路由,不是时间:同一个表情发生在同一帧上;不同的是哪个 grid 牵动哪些节点。
Pair 和 Solo¶
grid 头部的那个按钮很聪明:
| 当 | 显示 | 做的事 |
|---|---|---|
| 一个成对的 grid | × |
移除那个 grid — 这个 page 变成 solo |
| 一个 solo grid | + |
把第二个 grid 加回来 — 这个 page 变成 pair |
变成 solo 不会丢失任何东西。帧本来就是共享的,而任何原本在被丢弃那一侧的 target,从此单纯由留下的那个 grid 驱动。
ORC 会记得每个 target 原本来自哪里,所以重新配对这个 page,会把每个 target 放回它原来的 grid。 你可以自由地收拢和重新配对。
Side¶
每个 target 都带一个 Side,说明哪个 grid 驱动它。只要 layer 不止一个平凡的单一 solo page,target 列表里就会出现 Side 列。
| 值 | 含义 |
|---|---|
Left-1 |
由 page 1 的左侧 grid 驱动 |
Right-2 |
由 page 2 的右侧 grid 驱动 |
Both-3 |
由 page 3 的两个 grid 一起驱动 |
Solo-1 |
page 1 是 solo;只有一个 grid |
Mixed |
一个 deform 曲线互相冲突的组 — 仅用于提示信息,永远不能被选择 |
look-at 的 peg 和 deform 列表还多一个值,Orphan,表示 side 因为 solo pair 而被丢弃 — 见 Look-At。pose layer 从不显示它。
一个 solo page 只贡献它的 Solo-N 这一项 — 不会有对应这个编号的 Left、Right 或 Both。
即使显示的已经是对的,也要重新选一次 side
一行如果是从它所属的组继承 side,显示的就是那个 side。再选一次同样的值仍然会真正提交它,这一点很重要:一个镜像 rig 上继承来的 Both,会把左右取平均,可能正好抵消回静止 pose。如果一个 target 看起来毫无反应,就明确地给它设置 side。
Cascade¶
deform 链按一个方向解析它们的 side:
curve → group → target
一条什么都没说的 curve 继承它所在 group 的 side;一个什么都没说的 group 继承 target 的 side。行显示的是解析后的值,所以一行永远不会误导你哪个 grid 在驱动它。继承来的值以暗淡显示;设置过的显示为实色。
一次分配多个¶
选中多行,改动一个 Side 组合框 — 改动会级联到整个选区。
Mirror¶
layer 头部的 Mirror X 和 Mirror Y 决定一对 grid 中的双胞胎 grid,如何跟随你正在拖动的那一个。
| 翻转的方向 | |
|---|---|
| X(默认开启) | 左/右 — 标准的左右对称 |
| Y | 上/下 — 用于眼睑/嘴唇之类的配对 |
| 两者都关 | 双胞胎是一份原样复制,不是镜像 |
这两个轴属于整个 layer,不属于某个 page — rig 本身是对称的,一对的 mirror 轴和它的兄弟不一致,那是 bug,不是特性。
在创作之前先设置好 mirror 轴
创作一个 snap 时也会把它写入双胞胎 grid,但双胞胎的 snap 会沿这些轴翻转。开着 Mirror X,在左边打 key R0C0,写入的是右边 grid 的 R0C6 — 不是它的 R0C0。
这意味着你创作那一刻生效的轴,会被烙进这些帧落地的位置,之后再改轴不会重新映射你已经做好的 key。一个开着 Mirror X 创作过的 layer,关掉之后重新配对,新的 key 会落在和旧 key 不一样的 snap 上。
在一个空 layer 上改变 mirror 轴不花任何代价。在一个已创作的 layer 上,这是一个决定,不是意外:它同样也是故意反转双胞胎读取方向的手段。只需预期已有的 key 会留在原处 — 只有新的创作会跟随新的轴。
在合成后的 rig 里,动画师会得到两个运行时开关:
| 开关 | 效果 |
|---|---|
| Mirror | 在一对之内 — 最后移动的那个 handle 驱动它的双胞胎。 |
| Mirror All | 跨越多对 — 移动一对会驱动每一个兄弟对。只有当某个 layer 确实持有两个或更多成对的 page 时才会出现。 |
Mirror All 生效期间会强制打开 Mirror。
Flip Sides¶
Targets 工具栏里的 ⇄ 按钮,在同一个 page 编号内交换 Left ↔ Right:Left-1 变成 Right-1,Right-2 变成 Left-2。Both-N 和 Solo-N 不受影响。
它只翻转存储的 side 值 — 从不涉及节点路径,从不涉及关键帧,从不涉及 pose。它是用来修正一个建反了的 target 列表的工具。
在没有 pair 的 layer 上,这个按钮会带着原因被禁用,而不是隐藏: "Flip Sides — this layer has no L/R pair (solo grids have no sides to flip)."
look-at 的 peg 和 deform 列表带有同样的按钮。
Copy & Paste Sides¶
在 target 列表里右键点击一个 target 行:
| 项目 | 复制的内容 |
|---|---|
Copy Side (L) |
只有这一行的 side |
Copy Sides (7 curves) |
这一行整个 side 模式,逐条曲线复制 |
Paste Sides |
应用这个模式 |
Paste Sides Mirrored |
应用它,并交换 L 和 R |
范围写在标签里,从来不取决于这一行是否折叠。 有几百个 target 时,你折叠组是为了塞进屏幕,不是为了表达意图 — 折叠只决定哪个项目会以粗体作为默认项。
一个不兼容的剪贴板,会让 Paste 带着原因作为 tooltip 被禁用,而不是悄悄地只粘贴一部分。这个保护是结构性的:组数相同、每组曲线数相同、模块顺序相同。
剪贴板在切换 layer 时依然保留,即使源 target 被删除也依然保留。
Share Sides¶
那是一个 control 的功能,不是 layer 的 — 它让 control 的 Back face 复用 Front 的极值列。见 Controls → Share Sides。
相关¶
- Pose Layers
- Targets — Side 列所在的列表
- Grids & Snaps

