跳转至

Original Bitmap

视频教程 —— 即将推出

每个 drawing 容器都在 Import Options → Mode 里回答一个问题:

模式 这张 drawing 是……
Art Layers (默认) 一张原生的 Harmony drawing;画稿住在它的 art layer 里
Original Bitmap 一个罐子,原样指向那个图像文件

Inspector 中的 Original Bitmap

这张截图一帧讲完整个故事:Line Art 保持白色,因为它是被指向的那一层 —— 配方;其余三层则变灰加删除线,是被搁置而不是被删除。黄色横幅替你把账算好了:"Original Bitmap composes only the pointed layer (Line Art), so 2 slot(s) in the other layers will be skipped."

Original Bitmap 放弃了什么

根本没有 art layer。 不是"它们是空的" —— 是这个概念不适用。这个模式下的 drawing 没有 Underlay、Colour Art、Line Art 或 Overlay,因为它的内容是那张外部位图,不是一张 Toon Boom drawing。

由此得出两件事,OSA 对两件都很小心:

  • 树不再点名某个层。Art Layers 模式的 drawing 在 Details 里显示 [Colour Art],而 Original Bitmap 的显示 [Original Bitmap]。在那儿点名一个层会是谎言。
  • 矢量不能落到这里。 一条被路由到 Original Bitmap drawing 上的 .svg.tvg 轨道不会被写入 —— 而它也不会从你的树里被删掉。见什么会留下来

它换来了什么

  • 像素是文件自己的。 没有转换趟次,没有重编码,没有把 alpha 解释进一张 Toon Boom drawing。你交付的就是场景引用的。
  • 大画稿依然便宜。 一张 30 000 像素的背景不必变成原生 drawing 才能用。
  • 裁切就是枢轴归一化。 在这个模式下,裁切就是 AutoPivot 归一化曝光的方式,一趟走完。

那么没有层要怎么堆叠

这里两个模式恰好互为镜像,值得读两遍。

画稿住在 frame 里。 没有 art layer,曝光就是唯一必然存在的地方 —— 所以 frame 容器成了画稿的家。那个家是 OSA 自己的记账;Harmony 最终拿到的是一个已曝光的 cel,反正曝光本来就是这个东西。

在 Original Bitmap 下你仍然可以在一个曝光上叠多张图。你仍然在 staging 树里把那个堆叠搭在一个 art layer 之下 —— 因为 staging 树是一份计划,而计划需要一个地方来存放一摞有序的东西。那个 art layer 叫做配方:它不是目的地,它是一份"要合并什么"的清单。

Assemble 运行时:

模式 堆叠压平到哪
Art Layers 轨道压平进那个 art layer;容器自己的画稿压平在它所指向的层之上;frame 变成纯粹的节奏
Original Bitmap 配方压平进 frame —— 因为没有 art layer 可住

由容器决定哪一层是配方。 drawing 容器坐在各个 frame 之上,它的 Target Layer 点名那个堆叠会被合成的 art layer。在一个 art layer 本来毫无意义的模式里,这是唯一存活下来的指令:它说的是 "这一摞,按这个顺序,就是这张位图"

所以这个指针的方向和原生模式正好相反,而这种对称就是整个设计:

模式 Target Layer 的意思 方向
Art Layers frame 自己的画稿去哪 frame → 层
Original Bitmap frame 是由什么做成的 层 → frame

同一个字段,同一个指针,相反的方向 —— 这也正是 frame 一开始就必须能够持有画稿的原因。要是它只是个纯粹的节奏节点,配方就没有东西可以压平进去

为什么配方层之后会消失

合成一旦发生,配方就已经把活干完了。OSA 把清空的那一层从树里移除,因为在 Original Bitmap 下它存在的唯一意义就是指向一次合成 —— 留着它,就是给你看一个场景不可能有的层。

为什么 Assemble 之后树会变

Harmony 里没有 subart layer 这种东西:只有四个 art layer 和那个 frame,没有别的。Assemble 一结束,一棵满是堆叠的 staging 树就是在描述一个场景存不下的世界。

所以 OSA 把每张落地了的 drawing 的堆叠改写成场景真正具有的形状。被压平的那一行保留 SCENE_ART 和它的来源 —— 画稿从哪来、它的类型、它的缩略图 —— 而这个槽位继续接受新的轨道。下一次合成在它之上继续合成。

压平不是终点,而是基底。 没有什么背着你留的隐藏配方:场景里的那份画稿就是源。

压平之后什么会留下来

OSA 压平的是落地了的,不是被要求的。写入器记录每一个真正到达元素的源;没有到达的东西在那个集合里,并且在你的树里留下来

  • 一条被路由到 Original Bitmap drawing 上的矢量轨道,
  • 混合堆叠中的落选者,
  • 一个在 staging 和 Assemble 之间不见了的文件。

把它们移除,就等于为一个场景从未收到的东西删掉作者的劳动。这也意味着中途取消只会压平那些源确实过去了的 drawing —— 这是唯一可选的诚实规则,因为 Assemble 不是一个事务。

如果针对某张 drawing 的节点路径报出了任何阻断性失败,那张 drawing 就完全不会被压平:一次被拒绝的写入意味着"落地集合"可能正好以那种误导人的方式不完整。

切换是瞬时的,什么也不转换

模式是一种读法,不是一场手术。拨动它,答案立刻生效:没有对话框,没有转换,你树里的任何东西都不会动。frame 还是 frame,art layer 还是 art layer,每条序列都留在你创作它的原地。

变的是哪些行有效。在 Original Bitmap 里,不是配方的那些层会显示为删除线 —— 被搁置,而不是被删除 —— 被指向的那一层保持活跃,因为它的堆叠正是压平时要合成的内容。切回 Art Layers,一切原样归位。

真正的压平发生在 Assemble、按下按钮的那一刻 —— 绝不发生在切换时。Frames 容器是空的也没关系:合成横竖读的都是被指向那一层的堆叠。

选择模式

什么时候用 Art Layers 什么时候用 Original Bitmap
画稿还要在 Harmony 里上色、裁切或重画 画稿已经是终稿,只需要摆放
你想让线条和颜色在不同的层上 这张图是一块平的画板
源是矢量(.svg.tvg 源是一张你不想被转换的大栅格图
你想在合成时按层控制 你想要文件自己的像素,原封不动