导入文件¶
一切都从左边的 Browser 进来:双击一个文件,或者把选中的东西(或整个文件夹)拖进 Staging 列。
这时候还没有任何东西被写进 Harmony。这里的"导入"意思是 "把这个文件的一份计划放进树里"。
OSA 能读什么¶
| 格式 | 类型 | 变成 |
|---|---|---|
.psd / .psb |
Photoshop | 一整条分支 —— 见 PSD |
.png |
栅格 | 一张 drawing,或一个序列中的一个曝光 |
.jpg / .jpeg |
栅格 | 同上 |
.tif / .tiff |
栅格 | 同上 |
.tga |
栅格 | 同上 |
.tvg |
Toon Boom 矢量 | 原样拷贝进来 —— 它本来就是一张 Harmony drawing |
.svg |
矢量 | 解析后写成原生 Harmony 笔画 |
.tpl |
Harmony 模板 | 作为一个不透明的块进入 staging |
.anm |
Octo Transform Sync 动画 | 动画应用到该槽位的 peg 上 |
.pvt |
Blender 烘焙(枢轴) | 该槽位的枢轴数据 |
为什么 .tvg 和 .svg 走的不是同一条路
一个 .tvg 就是一张 Harmony drawing,所以它被逐字节拷贝 —— 不转换、不处理 alpha、不对齐;根本没有东西要转换。一个 .svg 是源:Harmony 完全没有可脚本化的 SVG 导入,所以 OSA 自己解析路径,把真正的铅笔笔画写进 drawing。SVG 文件本身从不进入场景。
文件夹¶
拖一个文件夹会把文件夹和它的内容一起带进来,文件夹结构就变成树的结构。子文件夹变成分支;里面的文件变成叶子。
进来的路上会发生三件事:
- 名称会被解析出标签 —— 一个叫
arm=P-G的文件夹进来时,它的 peg 和 group 已经勾好了。 - Magnets 会捕获它认得的东西 —— 一个叫
PROPS的文件夹会被路由到你的PROPS分支下,而不是落在根上。 - 带编号的文件会被归成序列 —— 见下文。
在 PSD 里,magnet 是一个名字完全一致且没有标签的文件夹
一个 Photoshop 文件夹只有在它的名字就是那个 magnet —— PROPS,或它的某个别名 —— 并且不带任何标签时,才算 magnet 信号。文件夹本身不会被创建;它里面的东西会被路由到 PROPS 下。
任何带着 = 和标签的东西都是一个独立的节点,永远不是信号:PROPS/Prop-1=P-D 给你一张带 peg 的 Prop-1 drawing,放在 PROPS 里面。而一个只是像 magnet 的名字不算数 —— Prop-1 是一个 prop,不是 PROPS 文件夹。
图像序列¶
一个装着带编号文件的文件夹不是十二张 drawing —— 它是一张 drawing 带十二个曝光。
OSA 检测编号,建出单个槽位,把每个文件作为一个独立的帧放进内在的 Frames 文件夹。Range 列随后报出它找到了什么:
| Range 列显示 | 含义 |
|---|---|
Seq: 1-840 |
一段连续的曝光 |
Seq: 1-12, 20-24 |
两段,中间有空隙 —— 区间被合并,并如实报出 |
Frame 3 |
第 3 帧上的单个曝光 |
Hold: 5-8 |
一张 drawing 保持四帧 |
Empty |
一个还没有画稿的 drawing 槽位 |
Template |
一个 .tpl |
数字才是锚点。 决定一个文件成为哪一帧的不是它在列表中的位置,而是名字里的数字。序列中缺失的文件会留下一个洞,而这个洞会被报出来,不会被悄悄补上。
见 Frames 与曝光。
PSD¶
OSA 自己解析 PSD,并把每个图层栅格化 —— 从不调用 Harmony 自带的分层 PSD 导入。正是这一点让接下来的一切成为可能:
- 组变成分支。 Photoshop 的层级就是 staging 的层级。
- 图层名被当作标签读。 Photoshop 里的
head=P-G-C在 Harmony 里就是一个 peg、一个 group 和一个 composite。 - art-layer 标签为画稿指路。
line=LA和flats=CA变成同一张 drawing 的两个 art layer。 - 调整图层变成效果节点。 Brightness/Contrast、Hue/Saturation、Levels 等等 —— 见 PSD 调整图层。
- 图层蒙版变成遮罩,接进效果的 matte 端口。
- 剪贴图层附着到下方的图层上,就像它们在 Photoshop 里的读法一样。
导入替你补上的东西¶
Photoshop 没有 Harmony cel 的概念,所以进来的路上会创建一些东西。它们的存在是为了让在 Photoshop 里打标签尽可能地轻:
| PSD 里 | 树里 |
|---|---|
一个带画稿、标了 =D 的图层 |
一张 drawing,加上一个带 frame 1 的 Frames 文件夹,画稿在里面 |
一个标了 =P-G-C 的组 |
一个勾上了 peg、group 和 composite 的槽位 |
标了 =LA、=CA、=OL 的图层 |
一张 drawing,它的三个 art layer 被填上 |
| 一个没有 art-layer 标签的图层 | 画稿落在 Line Art 上 |
图层上的 =D 这种情况值得知道,因为它是最省你打字的那一种。这是一个真实打好标签的文件:
看最下面那一组。sky+clouds=P-C 是一个文件夹:它会变成一个带 peg 和 composite 的槽位,并把里面的东西聚合起来。里面是两个图层,cloud=P-D 和 sky=P-D —— 各自是一张 drawing、各自带一个 peg,而 sky 就像在 Photoshop 里那样排在 cloud 下面,因为树的顺序就是合成顺序。
现在假设天空的画稿属于文件夹本身。给那个文件夹标 =D,会把容器的 drawing 放到它的子级上方 —— 天空就跑到云的前面去了。而只为装一个图层就造一个 sky=D 容器纯属多此一举。所以你标那个图层:sky=D,作为 cloud 的兄弟,正好在合成顺序需要它的位置 —— 而 OSA 补上那个 frame,因为在 Harmony 里,一张没有已曝光 cel 的 drawing 是不存在的。
也请注意:每个带画稿的图层都自己带着 D —— fg=P-D、cloud=P-D、sky=P-D —— 而那些只负责聚合的文件夹没有:wall=P-C、tube+glow=P-C。是 D 把一行变成 drawing,而 OSA 是在已经有 D 之后才替你写出那个 frame;它不会因为发现了像素就替你加上 D。如果你不写,图层照样会进来 —— 作为它落到的那个容器所拥有的画稿,一个 art layer 或一条轨道 —— 但不会成为一张自己的 drawing。
.psb(Photoshop 大文档)走的是同一个解析器 —— 它就是同一种格式,只是尺寸字段是 64 位的,你那些 30 000 像素的背景就是存成这个的。
空图层不是失误
OSA 绝不会因为一个图层包围盒为空就把它剪掉。在很多流程里空白图层是合法的占位符,而删掉画师的占位符,比 staging 一张空 drawing 更糟。
Harmony 模板(.tpl)¶
一个模板作为单独一行到来,标着
Template,带着它声明的帧范围(Seq: 1-840)。
它是不是普通槽位的两种行之一(另一种是内在的 Frames 文件夹)。Harmony 把模板当作一个块交出来:OSA 摆放它、给它认父、为它路由,但不打开它,因为它的内部属于 Harmony。
drawing 能去的地方它都能放 —— 包括 magnet 分支里,在那儿它和其他一切一样被自动认父。
Alpha 与对齐¶
Inspector 的 Import Options 里有两个按 drawing 设置的选项,两者的默认值都很诚实,取自 Harmony 自己对该格式会做的选择:
Alpha —— 文件的透明度怎么解释:
| 模式 | 什么时候用 |
|---|---|
Premultiplied with Black |
PNG、JPG、TIFF、TGA 的默认 |
Straight |
PSD 的默认 |
Premultiplied with White |
在白底上合成过的画稿 |
Clamp Colour to Alpha |
边缘溢色,你想裁掉而不是修正 |
Alignment —— 图像怎么适配到场景:
| 标签 | 作用 |
|---|---|
Actual Size |
在工程自己的分辨率下,一个图像像素 = 一个场景单位 |
Project Resolution |
同样的规则,缩放到工程分辨率 |
Fit |
把整张图装进摄像机内 |
Vertical Fit |
按高度适配,水平方向自由居中 |
Horizontal Fit |
按宽度适配 |
Pan |
对齐到第一页 —— 给会滚动的画稿用 |
这些是关键字,不是序号
OSA 写的是 Harmony 的对齐关键字,绝不是枚举的整数。那套编号哪儿都没有文档,而猜一个序号,正是那类会让场景看着对、读起来错的 bug。
导入模式¶
每个 drawing 容器都要回答一个问题:画稿是进到 drawing 内部,还是这个 drawing 只是一个指向外部文件的罐子?
| 模式 | 含义 |
|---|---|
| Art Layers (默认) | 画稿落在 drawing 的 art layer 里。由你选哪一个。 |
| Original Bitmap | 这张 drawing 原样引用文件。根本没有 art layer。 |
是矢量还是位图,由文件决定,不由你决定¶
在 Art Layers 模式下没有矢量/位图的开关可调,因为那从来就不是一个真正的选择:文件本身已经是其中之一,而 OSA 会把每个 art layer 写成它的画稿所要求的那种模式。
| 文件 | art layer 被写成 |
|---|---|
.tvg |
矢量 —— 按它本来就是的那张 drawing 复制进来 |
.svg |
矢量 —— 重绘为 Harmony 的原生笔触 |
.png、.tga、.tiff、.jpeg、一个 PSD 图层 |
位图 |
而且种类是从签名字节里读出来的,不是从扩展名 —— 一个其实是 TIFF 的 .png,会按它真正是什么来处理,而不是按它叫什么。
一个 art layer 只有一种类型
Harmony 的 art layer 要么是矢量、要么是位图,绝不会两者兼有,所以把 .svg 和 .png 堆在同一个 Colour Art 上就是冲突。最上面那条轨道决定这一层的类型,另一种类型的轨道会被跳过 —— 在导入报告里被逐条点名,并且仍然留在你的暂存树里,你创作的东西不会丢失。完整规则,以及区分两者的图标,见:Drawings, Art Layers & Subart。
那个模式放弃了什么、换来了什么,见 Original Bitmap。
Transform Sync 文件¶
.anm 和 .pvt 携带的是来自 Octo Transform Sync 的动画和枢轴,不是画稿。它们可以浏览、可以进 staging,但永远不会变成 drawing —— 它们附着到该槽位搭出的 peg 上。


