History & Undo¶
History 面板在 Navigator 下方,位于左列的下半部分。它就是整个撤销模型,以可见的方式呈现。
一条时间线,不是两个栈¶
ORC 用的是 Photoshop 的模型:一份单线的列表加一个指针,不是撤销栈加重做栈。
- 高亮行上面的一切都是过去。
- 它下面的一切都是前进分支 — 重做会重放的内容。它会以灰色画出,图标半透明。
- 做新的事情会从你所在的位置截断前进分支。
一行细细的 Initial state 固定在顶部,始终可以到达。
使用它¶
| 操作 | 方式 |
|---|---|
| 撤销 | Ctrl+Z |
| 重做 | Ctrl+Shift+Z 或 Ctrl+Y |
| 跳到任意位置 | 点击那一行 |
点击一行会直接跳过去 — 往回二十步是一次点击,不是二十次撤销。跳转只移动指针,从不推入新条目,所以你可以自由地四处查看再回来。
反馈栏会说明发生了什么: "Undo: add driver", "Jump: capture frame"。无处可去时会用红色显示 "Nothing to undo"。
在一个文本字段内,Ctrl+Z 撤销的是你的输入 — 字段自己的撤销优先。
读懂一行¶
每个条目带的是你做的事情种类对应的图形符号,不是动词。添加一个 driver 显示的是 driver 的闪电图标,不是一个通用的加号 — 你扫视历史时找的是你碰了什么。
| 符号 | 种类 |
|---|---|
| 一个 driver | |
| 一个 constraint | |
| 一个 visibility group | |
| 一个 look-at | |
| 一个 control | |
| 一个 preset | |
| 一帧或一个 snap | |
| 一个 target | |
| 一次 side 或 mirror 的改动 | |
| 一次粘贴 | |
| 一个 channel | |
| 一张 drawing | |
| 一次重命名 | |
| 一次添加或一次移除 |
什么算作一步¶
比你想的要多,而且是故意的。
一个手势就是一个条目。 删除一个 pose layer 在内部会触发一次结构改动、一次 knob 解绑,以及一次轴清除 — 三个各自本会成为一个条目的请求,那样一次 Ctrl+Z 就只能撤销一半。ORC 保留第一个,丢掉其余的。
一次滑块拖动是一个条目。 拖动一个 driver 或 look-at 的 slider,每秒会触发大约六十次改动。ORC 会在拖动开始前给这个值拍个快照,然后等你停下来。
一次批量写入是一个条目。 一次 grid fill、一次 preset apply、一次 grid paste,不管碰到多少个 snap,都只拍一次整体的快照。
它不做什么¶
撤销从不写入你的 Harmony 场景。 Compose 是 ORC 里唯一会这么做的东西。撤销一次 pose layer 删除,会在 ORC 内部恢复它;你的场景从一开始就没被碰过。
深度和内存¶
两个限制,第二个才是真正会在重型 rig 上咬人的那个:
| 限制 | 默认值 | 位置 |
|---|---|---|
| 条目数量 | 50 | Preferences 里的 History depth,10–250 |
| 内存 | 一个固定上限 | 不可配置 |
每个条目都是 rig 的完整快照,所以更深的历史会花费真实的内存。当总量太大时,无论你设的深度是多少,最旧的条目都会被丢弃,并记录在日志里。
调低深度会立即生效地清理。
一份文档,一份历史¶
从 ORC 内部打开的 Widget Editor 共享这份历史。撤销一次 widget 移动,History 面板会跟着后退;撤销一次 pose layer 删除,编辑器的画布会重新加载。
独立版 Widget Editor 是一份独立的文档,有自己的撤销,和自己的深度设置。
History 不会被保存¶
这个面板是一个会话级工具。关闭 ORC 就结束了它 — 它不会写入磁盘,恢复会话时也不会带回来。
会留存下来的是工作本身:你的 rig 数据会自动保存,重新打开时会提示恢复。见 Re-editing a Composed MC。
在一次长时间的 apply 期间¶
在应用一个 preset 或一个 session 期间,ORC 会阻塞输入并显示等待光标。这是故意的:在一次 apply 进行到一半时点击一个 navigator,会让你看到半恢复状态,看起来像个 bug。事件会被丢弃而不是排队,所以这不会有任何代价。
如果这次 apply 需要询问你什么,阻塞会为了那个问题解除,问完之后再恢复。
相关¶
- Keying & Auto-Capture
- Preferences — History depth
- Pose Presets — 哪些会作为单个可撤销步骤应用
