Controls¶
一个 control 是一个 turnaround holder,也是它下方一切的 carrying parent。
它做两件事:
- 它持有一个 Front face,以及可选的一个 Back face——每一个都是一个 pose layer——并给完成后的 rig 一个
Front ↔ Back开关,用来在两者之间切换。 - 它是其他 pose layer 跨越打 key 的对象。你的眉毛不是只有九个 pose;它们是在 head 的十五个 pose 的每一个上都有九个 pose。
每个 rig 都以一个名为 Head 的 control 开始。你可以重命名它、删除它,或者按角色需要添加任意多个——一个躯干、第二个头、一个道具。
Face¶
一个 face 是一个 pose layer 在做一件特定的工作:成为这个 control 自己的 grid。一个 face 永远是单页的独立 grid——它没有自己的 L/R 配对,因为整个 control 才是被 pose 的对象。
要设置一个 face,选中这个 control 并点击 Set Front。菜单提供:
| 条目 | 作用 |
|---|---|
| 任何符合条件的 pose layer | 采用那个 layer 作为这个 face。 |
New Layer |
创建一个新 layer,已经分配给这个 face,类型和尺寸与另一个 face 保持一致(默认 5 × 3)。 |
Import MC… |
从 Node View 导入一个 Master Controller 作为这个 face,带来它的 grid、frame 和 target。 |
这个菜单只列出你可以合法使用的 layer:
- Knob 永远不会出现——knob 是一个轴,不是一组 pose。
- 已经属于另一个 control 的 layer 会被排除。见下方的排他性。
- 一旦设置了一个 face,只有形状相匹配的 layer 才会被提供——grid 只能配 grid,slider 只能配 slider。
一旦设置了一个 face,按钮会显示那个 layer 的名字和类型图标。✕ 会解除它:这个 layer 会被吐回去,变成一个独立的 layer,targets 和 frames 都完好无损。这不是删除——删除要在 Outliner 里做。
只有 Front 也是一个完整的 rig
你不需要 Back face。如果角色以后需要 turnaround 再加一个;这个开关只会在 control 真正同时拥有两个 face 时,才会出现在合成后的 rig 里。
切换 face¶
Front ⇄ / Back ⇄ 切换你正在编辑哪一个 face。这个选择是按 control 各自记住的——把 Head 切到 Back 不会影响 Torso。
如果目标 face 是空的,开关依然会切过去,所以你可以到达一个空的 Back 并把它填上。
Face 会被吸收¶
Face 不会在 Outliner 里作为独立的行出现——它们被画进了 control 里面。这就是为什么一个有两个 face 的 control 仍然只显示一行,标记着 ⇄ turnaround 尾部图标。
每个 control 只有一种类型¶
一个 control 的两个 face 永远是同一种类型——要么都是 grid,要么都是 slider。你从来不需要自己去强制维持这一点:设置一个 face,或者之后改变它的类型,ORC 会当场把另一个 face 转换过去以匹配。一个 grid 类型的 back,在你把 front 变成 slider 的瞬间就会变成 slider,并以 front 的刻度数量为初始值。
只有类型是锁定的。维度是自由的——一个 5 × 3 的 front 配一个 7 × 3 的 back 是一个正常的 control。维度真正重要的唯一场合是紧接下面的 Share Sides:行数必须匹配,侧边的列才能对齐。
Share Sides¶
当一个 control 同时有两个 face 时,Share sides(在 slider face 上是 Share Extremes)会让 Back grid 停止 author 自己的极端列——它们改为来自 Front。
思路是:一个角色纯左和纯右的侧面剖影,不管是从正面还是背面看过去,都应该是一样的。两次 author 是你不需要做的重复劳动,也是可能随时间产生分歧的劳动。
| Face 类型 | 共享的内容 |
|---|---|
| Grid | 第一列和最后一列。 |
| 竖直 Slider | 第一行和最后一行——两个极端。 |
在 Back grid 中,这些 snap 会以青绿色(teal)渲染,并且是只读的。它们仍然可以点击,用来跳转到 Front 在那里 author 的那个 frame。
这个开关在无法使用时会自我说明:
| 状态 | 原因 |
|---|---|
| 隐藏 | 没有设置任何 face——类型未知,没有东西可以共享。 |
| 可见但禁用 | 只设置了一个 face。"Set both a Front and a Back to share the sides (L/R columns)." |
| 禁用并带行数警告 | 两个 face 都设置了,但行数不同。"Front and Back have different row counts — the side columns can't align to share. Match their rows to enable Share Sides." |
共享的影响不止于 frame:放在 Back face 侧边列上的一个 driver 或 look-at key,会坍缩到 Front 的 key 上,因为值是共享的,地址也必须是共享的。
排他性¶
一个 pose layer 只属于一个 control。
一个属于 control A 的 face 或子节点的 layer,不能变成 control B 的 knob 或 face。这就是按 control 划分的封装,也正是它防止了一个双头 rig 内部互相串扰。
如果你尝试这样做,ORC 会点名拒绝:
"Eyebrows" belongs to "Head" — a layer only keys across knobs of its OWN control. Make the knob global to share it.
要在多个 control 之间共享一个轴,就把它变成全局的。 一个全局 layer 不属于任何 control,任何东西都可以跨越它打 key。
添加和复制¶
从 Outliner 的 + → Control 添加一个 control。它会以空的状态被创建,名为 New Control,内联重命名已经打开。
右键点击一个 control 可以 Duplicate Control,它有两种模式:
| 模式 | 复制的内容 | 使用场景 |
|---|---|---|
Structure only Ctrl+D |
各个 face——grid 形状、widget 外观、knob、back 开关——target 列表为空 | 上/下眼睑的工作流:克隆形状,然后让副本指向不同的节点。 |
Full (layers & targets) |
一切:face、target、自有的 pose layer、knob、driver 和 look-at,带上全新的 key 和重新映射的引用 | 一个行为完全相同的第二个角色部件。 |
两种模式都不会复制 pose——副本是重新 author 的,而不是复制来的。
删除¶
删除一个 control 是被允许的,包括根 Head。
- 它的自由 layer 会被送到第 0 层(变成全局的)。
- 它的face 会随之被删除。
Delete Hierarchy会连同 control 一起,拿走它拥有的一切:face、knob、look-at 和自由 layer。
一个被释放的 face 会重新变成可见的一行——什么都不会悄无声息地消失。
一个 control 带给合成后的 rig 什么¶
| 在 ORC 中 | 在 Camera View 中 |
|---|---|
| Face 的 grid | 一个动画师拖动的 grid 或 slider widget |
| 两个 face 都设置了 | 一个 Front ↔ Back 复选框 |
| Share Sides 开启 | Back 的极端值悄悄复用 Front 的 pose |
| Face 上有一个 knob | 一个能移动整个 turnaround 的第二 widget |
Front ↔ Back 复选框是按 control 各自的:根 control 以及每一个同时拥有两个 face 的额外 control,都会合成出自己的复选框——一个双头 rig 可以独立切换每一个头,而一个从未拥有 Back 的 control 就干脆没有复选框可以显示。这和每一个内置开关遵循的规则一样:它只在 rig 给它东西可以操作时才会出现——参见 Interpolation,那是唯一一个全局性的开关。
相关¶
- Pose Layers —— 什么在跨越一个 control 打 key
- Knobs —— 给一个 control 一个额外的轴
- Dimensions & Key Domains —— 一个 control 的 grid 如何加入总和
- Unroll —— 把一个 control 的 pose 烘焙回时间轴
