磁铁¶
磁铁是一个按名字捕捉文件夹的命名目的地。
定义一个叫 PROPS 的磁铁;从此以后,任何叫 PROPS —— 或 props、或 PROPS_v03、或你给它起的某个别名 —— 的文件夹,在你拖进来时都会落到你的 PROPS 分支下,无论它在交付里埋得多深。
它们为什么存在¶
交付文件夹来的时候是没分好类的。它来的时候是 layout 画师的文件结构碰巧长成的样子,而同样那四五个目的地会出现在这部片的每一个场景里:背景、角色、道具、特效。
磁铁就是让你把这些目的地说一次,然后不用再拖来拖去。
创建一个¶
在 Browser 的 Magnets 区块里按 +:
| 字段 | 作用 |
|---|---|
| Magnet Name | 目的地,也是分支的名字 —— 例如 VEHICLES |
| Aliases | 逗号分隔的替代名,都路由到同一处 —— cars, bus, truck, motorcycle |
匹配不区分大小写。 CAR 也匹配 car 和 Car,对话框会直说,而不是让你自己去发现。
匹配是怎么进行的¶
一个文件夹名会被以三种方式测试,最长的候选胜出:
- 精确 ——
PROPS匹配磁铁PROPS - 前缀 ——
PROPS_v03匹配PROPS - 后缀 ——
KOG_PROPS匹配PROPS
最长优先很重要:同时定义了 BACK 和 BACKGROUND 两个磁铁时,一个叫 BACKGROUND 的文件夹去 BACKGROUND,而不是 BACK。
别名的匹配方式和主键完全一样,两者都归结到主关键词 —— 所以 truck 落在 VEHICLES 里,用的名字是 VEHICLES。
启用与停用¶
每个磁铁都有开/关状态,Magnets 标题里的漏斗按钮
用来过滤列表。
一个停用的磁铁依然存在,依然记着它的别名,只是什么都不捕捉。对于没有道具的场景,把它关掉,而不是删掉、下周再把别名重打一遍。
匹配到停用磁铁的文件夹会作为普通文件夹进来
什么都没丢 —— 但也什么都没被分流。OSA 会在导入时说明("PROPS magnet is off: 'PROPS' came in as a plain folder, nothing was routed"),因为悄无声息的不分流,看起来跟磁铁坏了一模一样。
编辑与移除¶
右键一个磁铁 → Edit Item… 修改它的名字或别名。重命名磁铁就重命名目的地;别名跟着走。
− 移除选中的磁铁。移除不会碰任何已经暂存的东西 —— 分支还在原地,只是不再是目标了。
从磁铁生成树¶
Staging 工具栏里有两个按钮,一按就替你把目的地建出来:
| 按钮 | 作用 | |
|---|---|---|
| Generate Magnet Tree | 每个启用的磁铁建一个 slot,只在 staging 树里 | |
| Generate + Assemble | 同上,然后直接装配进 Node View |
每个生成出来的 slot 都是一个正经的 super node —— (Backdrop > Peg > Comp) —— 因为一个目的地分支本来就该是这样:
当你正要拖素材进来、想让目的地先候着,就用 Generate。当你想让空结构现在就存在于 Harmony 里 —— 比如让 layout 画师从它开始干活 —— 就用 Generate + Assemble。
它能独立工作,而配方来自预设¶
Generate + Assemble 不需要素材,也不需要 staging。 在一个空场景上打开 OSA,按下它,你就在 Node View 里拿到整套目的地层级 —— peg、group、composite、带颜色的 backdrop,以及配方要求的任何效果。这是把一个搭好架子的空场景交给开镜头的人最快的办法。
而它建出的东西不是写死的:它是当前生效的 Preference Set 里的 Magnet Generator 配方。
| 存在预设里的 | 所以换一套就会改变 |
|---|---|
| 有哪些磁铁 | 目的地 |
| 哪些是启用的 | 会建出哪些目的地 |
| 它们的顺序 | 创建的先后 |
| 每个的生成配方 | 每个目的地出生自带的组件和效果 |
| 每个磁铁的 backdrop 颜色 | Node View 一眼看上去是什么样 |
所以,"背景目的地上需要一个 Blur"的片子和"不需要"的片子,是两个 Preference Set,不是两套工作流。按下按钮前先看看顶栏的 Preference Set 下拉 —— 它就是你即将建出的东西的全部配置。
出厂的 Standard 预设,供参考:BACKGROUND、PROPS 和 CHARACTER 出生即 Backdrop > Peg > Comp(分别是蓝、绿、橙),而 EFFECTS 出生时一样,再加一个 Transparency、一个 Glow 和一个 Blur,紫色。
编辑这些配方:偏好设置 → Magnet Generator。
Magnetize Scene(Vacuum)¶
Magnetize Scene 反着来:它透过磁铁读取已有的 Harmony 场景,并把找到的东西暂存起来。
它已经跑过了 —— OSA 打开时会自动磁化
你不需要按这个按钮才能开始。每次 OSA 窗口打开,它都会自己磁化场景,所以你现在看到的这棵树,已经是透过磁铁读出来的当前场景。
这就是为什么在昨天组装过的场景里重新打开 OSA,它会原样回来;也是为什么这个按钮是留给第二次的:你在 Node View 里动了什么,或者改了磁铁,想让树对着现在的场景重新读一遍。
顺序是刻意的,而且重要:自动 vacuum 先跑,之后 OSA 才会提议恢复已保存的会话。那个会话是把 vacuum 的结果一起记下来的,所以这个提议是在信息更多、而不是更少的情况下做出的 —— 你也不会对着一个空窗口等着做决定。
你就是这样接手别人搭的场景、或者你昨天装配的场景,然后在 OSA 里继续做下去 —— Node View 里已有的节点会和你的磁铁比对,然后作为 slot 回到树里。
反馈行会准确告诉你它找到了什么:
Vacuum: 4 candidate(s) with magnets ['BACKGROUND', 'CHARACTER', 'EFFECTS', 'PROPS']
如果场景压根读不了(比如没有 Harmony 会话),那会作为一条独立的消息报告出来 —— "场景里什么都没有"和"桥根本没打开"是两个不同的问题,OSA 拒绝用同一块屏幕糊弄你。

