跳转至

更新日志

v1.0.0 —— 公开发布

Octo Vector Bridge 的首个公开版本 —— 连接 Blender、Maya 和 Toon Boom Harmony 的线条画桥梁。

亮点

  • 3D 线条画 → 原生 Harmony pencil —— Blender(Grease Pencil Pencil+)和 Maya(Pencil+)的笔画会变成可编辑的 Harmony 矢量 pencil 线条,摄像机精准,逐帧对应。
  • 保留可变线宽 —— 来自 Grease Pencil 的真实逐点压感;对于 Pencil+,展平后 EPS 的线宽和颜色通过对栅格渲染采样来重建。WYSIWYG:Previewer 显示什么,落地的就是什么。
  • 内置 Potrace 描摹器 —— Image-Trace 风格的栅格 → 矢量,支持 Black & WhiteGreyscaleColour(最远点中位切分)。B&W 用 Potrace 描摹填充形状,用 Zhang–Suen thinning 描摹 pencil 中心线。
  • Export(Harmony → SVG / PDF / AI) —— 桥梁变成双向。导入器旁的按钮可以把一个 Read 节点的矢量画面 —— 全部四个艺术层、逐点精确线宽、真实颜色与 alpha —— 导出为 SVG(保留压感用于往返)、PDF 或 AI。读取的是绘图而非渲染,因此 rig 和效果永远不会让输出变黑。位图艺术层以灰色显示并注明原因;PDF/AI 带有常驻提示:每条线只画一个线宽。Blender 和 Maya 也新增了 AI 容器。
  • Structure 树 — 一棵 drawing → 艺术层 → pass 的树,在 Blender 或 Maya 中编排,Harmony 导入器再以同样的树读回。它就是磁盘上的文件夹布局:用箭头或拖动改变顺序,位置即成为 NN_ 堆栈序号。
  • 位图 pass — 一个 pass 除了矢量之外还能产出 PNG 序列:Blender 的 Render PassCompositor 节点,或 Maya 的 Materials 渲染(任意渲染器,带其 Render Layer 与 AOV)。线条与渲染落在同一个 drawing 的不同艺术层上。
  • 位图导入 —— 将栅格作为自包含的 Toon Boom bitmap(默认)导入,或保持它链接到原始文件
  • 遮挡 —— 从摄像机进行光线投射,移除隐藏在几何体背后的笔画(Blender 原生 SVG 导出无法做到的剔除)——自动完成、逐层处理:每个实心网格都会遮挡线条,关闭其渲染图标即可豁免;并带有 WYSIWYG 的保留-vs-剔除叠加预览。
  • Import SVG as Grease Pencil(Blender)—— 一个 .svg 或整个 OVB 导出文件夹回到 Blender 成为 Grease Pencil 对象:每个 art layer 一个图层,逐点线宽变成笔画半径,颜色变成材质,文件夹变成帧序列,放在活动摄像机的平面上,让导出回到摄像机看到它的位置。导出文件夹里的每个绘图都会进入(独立对象或图层组),曲线保持贝塞尔,可保留帧号,Reload 会原地重新读取来源并保留你对对象的编辑。
  • 填充与渐变跨过桥梁(Blender)—— Blender 导出器把 Grease Pencil 填充写成填充 path,把双色渐变材质写成 SVG 渐变;导入器把 SVG 渐变变成轴向记录在笔画上的渐变材质,并把曲线保持为贝塞尔。在 Harmony 中,Line 和 Fill 颜色色块以条纹显示来源颜色,悬停时计数。
  • WYSIWYG Previewer —— 场空间摄像机取景、以光标为锚点的缩放、中键 / Space 平移、洋葱皮(矢量位图)、吸附和场网格。
  • Outliner = 节点图 —— 你构建的树就是 Apply 时写入的 Harmony 网络:peg、group、composite,以及按绘制顺序的同级聚合。Delete Node(提升子节点)vs Delete Hierarchy。
  • 逐 art-layer 的 Inspector —— 线宽包络 + 压感细节、点清理、笔尖渐细,以及整张 drawing/peg 变换,各自逐 subartlayer 处理。
  • Original Bitmap drawing — 一个 drawing 可以是一张平整的位图,而不是四个艺术层;艺术层选择器变成一份 Recipe,指明它从哪一个堆栈压平而来,矢量轨道永远不会进入其中。
  • 权重绘制笔刷 + Thickness 笔刷 —— Relax、Simplify 和 Pressure 绘制一个 0..1 热力图遮罩;非加权的 Thickness 笔刷直接雕刻线条粗细。全部非破坏性,一键 Clear。
  • Merge split lines —— 可选地将 Harmony 的平面切分片段重新接合为单个可编辑笔画,带三态主开关和逐 art-layer 覆盖。
  • Subartlayers(多 pass) —— 将多个 pass 作为独立矢量对象堆叠在一个 art layer 上;导入时的组织器,在 Apply 时干净地折叠进一个 Harmony art layer。
  • Gizmo 轴心 — 艺术层(蓝色)与 peg(绿色)gizmo 都带有可拖动的轴心:拖动角手柄会以它为基准缩放,因此以角色脚底为基准缩放时脚不会漂移。Alt 则以中心缩放。
  • 调色板 — 可以导入到场景的任意调色板或一个新调色板,并直接在 drawing 卡片中创建、重命名和改色。它们在 Apply 时才真正建立;RGBA 相同的已有颜色会被复用,绝不重复创建。
  • 逐子美术层的配方(Grease Pencil) —— 每个子美术层都存储其 Line Art / Thickness 修改器的配置方式:堆叠顺序、开/关、edge type 和线宽 —— 因此一个 Line Art 修改器可以同时服务于轮廓线内部线。它的 Content 按集合 / 对象 / 图层过滤场景(带 Except 开关和一个限定范围的图层下拉菜单);一个 Live Preview 开关(默认关闭)在导出前保持你的视口和撤销历史不受影响;Restore DefaultsUpdate Defaults from Scene 管理艺术家自己的基线。
  • Pencil+ 子美术层 —— 一种统一的模式(Blender Maya)—— 一个子美术层按 Line 和 Line Set 过滤你的 Pencil+ 设置(带 Except 开关),其 Line Sets 面板就是每个 Line Set 的配方:各自生成哪些 edge type(Outline、Object、Intersection……),Visible 和 Hidden 相互独立,外加一个一次性缩放整个 Line Set 笔刷的 Thickness 倍率。生成器可为每条 Line 或每个 Line + Line Set 创建一个子美术层;一个 Live Preview 以及 Restore / Update Defaults 使预览不会弄脏你的设置。
  • 单一导入对话框 —— 一次浏览即可处理文件夹、松散文件、图像序列或单帧,按文件夹/名称分类 art layer,并将松散图稿默认归到 Line Art。
  • 30 天试用 + 永久授权 —— 一次机器绑定的激活覆盖 Blender、Maya 和 Harmony,通过 Creem。

架构

  • 一个共享的、DCC 无关的核心(ovc_core),配以为 Blender、Maya 和 Harmony 定制的薄适配器。
  • 纯粹的共享 width/point/taper 函数在 Previewer 和 Harmony 写入器中运行结果完全一致 —— 这是 WYSIWYG 背后的保证。
  • 节点图通过移植的 OSA 风格发射器发出(peg / group / composite、MPI/MPO、同级聚合)。
  • 内置 potrace 二进制文件 —— 无需外部安装。

修复 — 构建 b79313d(2026-09-03)

  • Maya:面板不再超出窗口 — 创建 pass 会拉宽树并把 License / Convert 推出右边缘;现在滚动主体在任何尺寸下都固定为窗口宽度。(构建 f561fbe)
  • Maya:Structure 树支持拖放 — 把 pass 拖到另一个 pass 的上/下方、拖到容器上(放在其末尾)或拖到 drawing 上(其默认容器)。容器和 drawing 保持不动;箭头仍然可用。(构建 f561fbe)
  • Maya:+ 会把新 pass 放进你选中的容器 — 之前无论树中选中什么,都落在 Line Art 里。(构建 0af2a9a)
  • Maya:在 pass 之间点击不再闪烁 — 重建设置区域时,被丢弃的控件会短暂显示为独立窗口;现在会先隐藏再移除。树中行的工具提示也已去掉(图标和 Produces 已经说明)。(构建 377c3fe)
  • Maya:更改 Produces 会立即更新下方设置 — 之前 Pencil+ 选择器或 Materials 的 layer/pass 选择器要点击另一个 pass 后才出现。(构建 cf7e545)
  • Harmony:用 − 删除在应用中创建的调色板颜色 — 列表刷新后 − 在无选中的情况下仍保持启用(点击无效),并且从 art layer 取色器创建的颜色在页面重新请求前不会出现在 drawing 的调色板列表中。两者均已修复。(构建 ac25ffc)
  • Harmony:位图导入后场景可能无法保存 —— Missing folder …/ovb_raster_… / Cannot write palette list。中间绘图被写入临时文件夹,Harmony 在其旁边写的调色板也就指向那里,而导入结束时又删掉了该文件夹。现在它们写在元素文件夹中,也就是调色板应在的位置。(构建 947b18e)
  • Harmony:长位图序列导入快得多,也不再耗尽内存 —— 过去每一帧最多启动两个 utransform 进程(840 帧约 1700 个,耗时一小时以上),并且整个导入都装在一个撤销块里。现在会复用已转换好的绘图而不是重新转换(每帧一次,或零次),长导入还会分段提交撤销块,让 Harmony 能够释放内存。(构建 947b18e)
  • Harmony:长矢量序列不再耗尽内存(先是 Import JS error: bad allocation,随后 Harmony 无提示关闭)。导入现在改为流式处理:每 25 帧完成解析、写入、应用线宽并释放后,才读取下一批 25 帧 —— 在一份真实的 840 帧导出上测得,解析器的峰值内存从整个导入期间持有的约 0.9 GB 降到约 44 MB。超过 100 帧的导入还会边进行边清空 Harmony 的撤销历史,因此为撤销保留的笔画副本不再堆积(这样的导入无法撤销 —— 请先保存)。失败的分块现在会带着提示停止导入,而不是继续直到崩溃。(构建 cec0dd0)
  • Harmony:Checkpoint save(可选) —— Merge split lines 旁的新复选框会在长导入中每 100 帧保存一次场景,让 Harmony 释放已写入的绘图,而不是把全部绘图攥到最后。在场景保存到磁盘之前它保持锁定,悬停时说明原因。(构建 cec0dd0)
  • Harmony:第一次 checkpoint 保存后位图帧变为空白 —— 矢量则正常。Harmony 在保存场景时会重命名元素的文件夹与物理名称(其文档有说明),而位图路径在循环前只读取了一次,于是之后每个 TVG 都写到了 Harmony 不再查看的位置。现在每次保存后都会重新读取两者。(构建 8ed7e63)

  • Pencil+ 为可选 — Grease Pencil 是默认来源,无需任何额外软件。Pencil+ 来源现在只警告而不再阻止,并明确说明画线的是 PSOFT 付费的 Pencil+ 4 Render App(仅有免费的 Line 插件不够)。

  • 全新安装时 Blender 插件无法启用No module named pencil_plus)— 内置核心改为相对导入,同时消除了 Preferences 中的 Policy violation 警告。
  • 移除了每次打开文件都会打印的 traceback。
  • 安装程序 — Harmony 中共享的 Octo Tools 工具栏会根据所有已安装的工具重新生成,卸载一个工具不再删除其他工具的按钮;Blender 插件在安装后自动启用;下载文件名带有发布 id(1.0.0-<id>),安装程序窗口显示同一个 id。
  • 选择 Pencil+ pass 后 Maya 面板右侧被裁切 — 配方卡片的两列带标签复选框把窗口撑到超过 480 px。现在卡片每种边类型只列一次,Visible / Hidden 为不带文字的复选框。(构建 8fd672d)

已知问题

  • 所有近期修复均在无头环境(离屏 Qt)中验证;跨 Blender / Maya / Harmony 的宿主内实时验证仍在进行中。
  • Pencil+ 可变线宽的重建依赖于干净的栅格 Line 渲染元素;有噪点的渲染可能会削弱恢复出的线宽。
  • Windows 安装程序是主要目标;macOS 打包和代码签名尚待实现。

预发布历史

Octo Vector Bridge 在 2025 年末至 2026 年间私下开发。公开历史从 v1.0.0 开始。