Export —— 从 Harmony 导出到 SVG、PDF、AI¶
Octo Vector Bridge 是双向的桥。导入器把矢量画面带进 Harmony;Export 把一个 drawing 的矢量画面带出去 —— 以 SVG、PDF 或 AI 的形式,带着四个艺术层、逐点的精确线宽和真实颜色。
它在 Octo Tools 工具栏上有自己的按钮,就在导入器旁边:Octo Vector Bridge — Exporter。
为什么需要它¶
Harmony 没有工作室能用的矢量导出。Write node 的 PDF 把每条线压成单一线宽、丢掉透明度、只导出 Line Art 和 Colour Art,而且网络里只要有效果或 rig 就会变成黑屏。utransform 根本不列出 SVG,它的 PDF 导出来是空白页。
Export 通过 Drawing.query.getData 读取的是绘图本身,不是渲染结果。因此它天生不受 rig、cutter 和效果影响,能看到全部四个艺术层,铅笔线也带着绘制时的线宽到达。
窗口¶
- Drawings to export —— Read 节点的树,每个 drawing 下面是它的四个 art layer。打开时已经填入 Node View 中选中的节点。列表头部的 + 按钮添加更多 —— From Node View selection,或从 From scene… 选择任意 Read 节点 —— − 移除选中的 drawing。Frames 列显示该节点曝光了多少帧,在每个 art layer 上则显示其中有多少帧含有矢量。
- Frames —— All exposed(节点显示绘图的每一帧)、Current frame,或一个 Range。
- Art layers —— 在树中按 drawing 勾选:Overlay、Line Art、Colour Art、Underlay。两类行会变灰,并在 Frames 列给出原因:bitmap 表示节点上该 art layer 的开关设为 Bitmap(Export 只写矢量,这个图层不会导出任何东西);empty 表示一个 Vector 图层在所有曝光帧上都没有画。空图层永远不会被称为 bitmap。
- Output —— 文件夹、格式、布局,以及 Crop to content。 Skip empty exposures 默认开启:art layer 上没有画面的曝光不会生成文件。关闭后会为它写一个空文件,让编号保持连续。
格式¶
| 格式 | 保留逐点线宽? | 说明 |
|---|---|---|
| SVG | 是,以 data-widths 保存 |
往返格式:OVB 重新导入时压感完整保留 |
| 否 —— 每条线一个线宽 | Harmony 精确的填充、颜色与 alpha;到处都能打开 | |
| AI | 否 —— 每条线一个线宽 | 就是 PDF 字节加上 Illustrator 的扩展名(自 Illustrator 9 起 .ai 就是 PDF 容器);在 Illustrator 中以可编辑路径打开 |
PDF 与 AI 的格式本身没有可变线宽的描边,所以选中其中之一时窗口会显示一条常驻提示。如果需要压感在 OVB 之外也能画出来,请在矢量编辑器中把线条转换为填充轮廓 —— 几何和线宽数据都在文件里。
渐变填充在三种格式中都会保留:SVG 用 <linearGradient>/<radialGradient> 定义,PDF 和 AI 用真正的 shading。你在 Harmony 里摆放的手柄就是它的几何。
位图格式¶
Export 不只是矢量的出口。任何矢量 art layer 都可以写成像素,格式就是 Harmony 管线真正读取的那几种:TGA、PNG、JPG、TIF。
| 格式 | 透明度 | 说明 |
|---|---|---|
| TGA | 有 | Harmony 管线实际写出的格式,往返最稳妥 |
| PNG | 有 | 无损,到处都能打开,默认值 |
| TIF | 有 | 无损,适合离开 Harmony 的工作 |
| JPG | 无 | 有损,空背景上的画面会落在白色背景上 |
选中 JPG 时会一直显示提示,理由和 PDF 一样:它是唯一会改变图像的格式。
位图是从矢量生成的,按文档自身尺寸绘制。它不是渲染:没有摄像机,没有特效,没有合成。需要渲染画面时,请使用 Harmony 的 Write node。
节点上处于 Bitmap 模式的 art layer 只能以位图导出:里面没有可读的矢量,所以它的 Output 开关锁定在位图。
按 art layer 选择矢量或位图¶
每个 art layer 在树的第三列有一个 Output 开关:矢量或位图,用的是导入器和 Octo Scene Assembler 相同的两个图标。它最终变成什么文件,在 Output 卡片里决定一次:SVG、PDF、AI 用 Vector Format,TGA、PNG、JPG、TIF 用 Bitmap Format。这和 Blender、Maya 导出器是同一个模型,学一次就够。
Bitmap 模式的 art layer 开关锁定在位图。选择 Single file, grouped 会禁用开关,因为合并文件是一个矢量文档;位图行不会进入其中,工具提示会说明原因。
位图输出按场景分辨率渲染,并裁切到摄像机画框:摄像机以外的画面不会导出。把鼠标放在 Bitmap Format 上会看到这条说明,让事实出现在做选择的地方。
布局¶
- Separate files per art layer ——
<node>/<OL|LA|CA|UL>/0001.svg。与 OVB 导入器读取的文件夹相同,因此导出结果能原位重新导入,每个艺术层落在自己的层上。 - Single file, art layers as groups ——
<node>/0001.svg,内含按绘制顺序排列的<g id="UL">、<g id="CA">、<g id="LA">、<g id="OL">。这是网站或 Illustrator 想要的形态。
Crop to content¶
关闭时,文件的 viewBox 是相机 field,正是导入器所期望的 —— 导出结果会回到原来的位置。开启时,viewBox 收紧到画面加一圈边距:图标周围不再有 field 大小的空白。裁切只改变 viewBox,别的什么都不改;两种情况下文件中的坐标完全相同。
往返¶
用 Separate files、不裁切,导出到一个文件夹;打开导入器,把该文件夹作为 drawing 添加。填充回来还是填充,铅笔线回来还是带压感的铅笔线,每个艺术层落在自己的层上。使这一切成立的读取器,正是导入器从节点拉取现有画面时使用的那一个,并且经过精确往返的测试。
长序列
Export 逐帧进行,可以在帧与帧之间取消。在多帧上暴露的同一个 drawing 只读取一次、每帧写一次,因此导入器的帧索引得以保留。