OpenToonz:开源工业级2D动画制作软件完全指南
posts posts 2026-05-20T20:22:00+08:00OpenToonz 是基于 Toonz Studio Ghibli Version 开源而来的 2D 动画软件(7774 Stars / 879 Forks,2026-09-30 核实),最新正式版 v1.8.0 发布于 2026-06。本文从源码结构、历史沿革、功能锚点与同类软件对比出发,给出采用建议。技术笔记动画, 2D, 开源软件, 创意工具OpenToonz:开源工业级 2D 动画制作软件完全指南
学习目标
读完本文后应能:
- 说清 OpenToonz 的技术血脉(Toonz → Studio Ghibli Version → OpenToonz),以及这条血脉对它设计取向的影响
- 从源码目录读出这个项目的模块分层,判断哪些功能有源码依据、哪些只是营销说法
- 对比 OpenToonz 与 Tahoma2D、Synfig Studio、Pencil2D、Krita 的定位差异,按场景选出合适工具
- 识别 OpenToonz 的适用边界,判断它是否适合你手头的项目
目录
- 核心判断
- 项目概览
- 历史沿革:Toonz → Studio Ghibli → OpenToonz
- 架构设计:源码分层与语言分布
- 一个镜头的流转:Xsheet 如何串起整条工作流
- 核心能力与源码锚点
- 与同类开源项目的定位差异
- 安装与构建
- 适用边界:什么时候该用,什么时候不必用
- 社区与生态
- 结语:开源生态里的一支"老枪"
- 自测题
- 练习
- 进阶路径
- 常见问题
核心判断
OpenToonz 不是入门级动画工具,而是一套从日本工业动画生产线里走出来的 2D 动画制作系统。它的前身是 Digital Video, S.p.A.(罗马)开发的商业软件 Toonz,经过 Studio Ghibli 多年生产定制,2016 年由 DWANGO 牵头开源。组织方式上,它把传统动画的摄影表(exposure sheet)搬进了数字世界——这一点和主流动画软件的"时间轴"思路根本不同。
如果你的目标是免费、无授权限制、能承接中等规模生产的 2D 动画工具,OpenToonz 是开源生态里最接近"能进电影院"标准的选择;如果你只想找一个五分钟上手的简易工具,它不合适,往后看 Pencil2D 那一类。
项目概览
| 项目 | 信息 |
|---|---|
| 仓库 | opentoonz/opentoonz |
| Stars / Forks | 7774 / 879(2026-09-30 GitHub API) |
| 主要语言 | C++(约 27.1 MB,占九成),其次是 C(约 1.8 MB) |
| 许可证 | Modified BSD License(thirdparty 与 stuff/library/mypaint brushes 目录除外) |
| 维护活跃度 | 最新正式版 v1.8.0(2026-06-19);v1.7.1 发布于 2023-05-10;nightly 构建持续更新 |
| 官方网站 | https://opentoonz.github.io/e/index.html |
| 文档 | opentoonz_docs 独立仓库 |
关于下载渠道,README 里有一条少见的严肃警告:OpenToonz 的官方站点只有 opentoonz.github.io 和 GitHub 仓库本身,没有其他任何官方镜像或合作站点。从别的域名下载安装包,风险自担。这类声明在开源项目里不常见,也侧面说明冒名下载站确实存在。
贡献方面,RodneyBaker(1228 次提交)和 shun-iwasawa(983 次)领跑,Abel032、motionmonster、manongjohn 紧随其后(2026-09-30 数据)。这是一个国际社区维护的项目,日本动画行业背景的贡献者占了重要位置。
历史沿革:Toonz → Studio Ghibli → OpenToonz
理解 OpenToonz 的脾气,得先看它走过的三段路。
第一段:Toonz(1993,意大利)
Toonz 3.0 由罗马公司 Digital Video S.p.A. 开发,1993 年跑在 SGI 的 IRIX 工作站上,后来与 Softimage 签下独家分销协议,以 “Creative Toonz” 的名字发行,Amblimation 的《Balto》是早期用户之一。Softimage 被微软收购后,Toonz 4.0 移植到 Windows,一度冠名 “Microsoft Toonz”。这段身世解释了它为什么长得不像互联网时代的开源软件——它的骨架是工作站时代为电影产线设计的。
第二段:吉卜力定制(1990 年代末起)
与 Studio Ghibli 合作开发的 Toonz Harlequin 6.0(AWN 在 2009 年有报道)是定制的代表版本。按 OpenToonz 官网的说法,《幽灵公主》时期 Toonz 先用于部分镜头,此后几乎参与吉卜力每部作品的描线上色、色彩设计与数字合成;从《借东西的小人阿莉埃蒂》起,吉卜力转向在公司内部自行定制。这批定制代码后来以 “Toonz Studio Ghibli Version” 之名开源,就是 README 里写明的 OpenToonz 基础。
第三段:开源(2016-03)
2016 年 3 月 19 日,DWANGO 宣布将 Toonz Studio Ghibli Version 以自由软件形式发布(Cartoon Brew 报道);3 月 26 日代码进入 GitHub 仓库。DWANGO 是日本网络公司(niconico 动画的母公司),它没有只是把代码扔出来:开源后持续维护基础版本,开发了特效插件 SDK,其机器学习团队还发布了深度学习风格转换、模拟摄影台入射光等插件。Digital Video 则继续开发销售商业版 Toonz Premium——开源与商业两条线并行至今。
开源之后几个值得记住的节点:
- 2017 年:Morevna Project 推出定制版;吉卜力系班底 Studio Ponoc 的《玛丽与魔女之花》(2018 年上映)制作期间被多家媒体称为首部主要使用 OpenToonz 制作的院线长片
- 2021 年:核心贡献者 manongjohn 分叉出易用向分支 Tahoma2D
- 2023 年 5 月:v1.7 发布,带来 OCA 格式导出、MyPaint 笔刷、浮点线性色彩空间渲染
- 2026 年 6 月:v1.8.0 发布(间隔三年多的大版本)
架构设计:源码分层与语言分布
目录结构
opentoonz/
├── toonz/ # 源码主目录,实际代码在 toonz/sources/ 下
├── stuff/ # 运行时资源:界面主题、笔刷库、着色器、特效预设
├── thirdparty/ # 第三方依赖(许可独立)
├── plugins/ # 插件接口
├── doc/ # 构建与开发文档
├── ci-scripts/ # CI 辅助脚本
└── .github/ # GitHub Actions 工作流toonz/sources/ 下按库分模块。下表只列有源码文件可查的部分:
| 模块 | 内容 | 代表文件 |
|---|---|---|
| tnzcore / tnzbase / tnzext | 分层核心库 | — |
| tnztools | 绘制与编辑工具 | fullcolorbrushtool.cpp、mypainttoonzbrush.cpp |
| toonz | 主应用程序 | lipsyncpopup.cpp、autolipsyncpopup.cpp、xdtsio.cpp |
| toonzlib / toonzqt | 场景数据模型与 Qt 界面组件 | txshsoundcolumn.h(音频栏数据模型) |
| stdfx / colorfx | 标准特效与色彩特效 | iwa_bloomfx.cpp、iwa_bokeh_advancedfx.cpp(stdfx 下共 306 个文件) |
| stopmotion | 定格动画拍摄辅助 | stopmotion.cpp、canon.cpp(佳能单反 SDK) |
| tcleanupper / tcomposer / tconverter | 命令行工具:线稿清理、批量渲染、格式转换 | — |
两个值得一提的模块细节。其一,tnztools/mypainttoonzbrush.cpp 是 MyPaint 笔刷引擎与 Toonz 的桥接层——v1.7 起 OpenToonz 可以直接使用 Gimp/MyPaint 生态的笔刷,配套的笔刷库放在 stuff/library/mypaint brushes/(这也是许可证例外目录之一)。其二,stopmotion/ 模块集成了佳能单反 SDK,外加灯光和串口控制,面向"先拍实拍素材再转手绘"的定格工作流,这在 2D 动画软件里相当少见。
语言分布里容易误读的细节
GitHub 语言统计按代码字节数计:C++ 约 27.1 MB(约 90%),C 约 1.8 MB,之后是 HTML、TeX(文档)、Less、HLSL、CMake、GLSL。前三名没有意外,但后几名的归因容易想错:
- Less 不是文档站样式。157 KB 的 Less 源码全部在
stuff/config/qss/Default/less/下——这是一个 Qt 桌面应用,界面主题用 Less 写,再编译成 Qt 样式表(QSS)。想要自定义软件外观,改的是这批文件,官方文档doc/how_to_stylesheet.md专门讲这件事。 - HLSL 来自特效预设。仓库里没有任何
.hlsl文件,这 152 KB 字节全部是stuff/fxs/presets/STD_particlesFx/下的 13 个粒子预设(Bubbles、Rain、Fireworks 等),.fx着色脚本被 GitHub 识别为 HLSL。 - GLSL 是 GPU 特效着色器。
stuff/library/shaders/programs/下的.frag/.vert文件(caustics、fireball、glitter 等)是老一代 GPU 特效;stdfx/里iwa_前缀的特效家族(bloom、bokeh、glare 等,DWANGO 团队贡献)则以 OpenGL 方式实现 GPU 加速。
整体渲染路径仍以 CPU 为主,GPU 只覆盖部分特效;v1.7 加入浮点、线性色彩空间渲染,是渲染管线近年最大的一次升级。
一个镜头的流转:Xsheet 如何串起整条工作流
Xsheet(exposure sheet,摄影表)是 OpenToonz 的心脏。传统动画工作室里,摄影表是一张纸,行是帧,列是图层(角色、背景、音轨各自一栏),摄影助手在上面标出每一帧该拍哪张画。OpenToonz 把这张纸原样搬成了软件主界面——列就是图层,单元格就是"这一帧显示哪张画"。用过传统摄影台的动画师几乎不需要适应;用过 Flash/Animate 的用户则会觉得别扭,因为这里没有他们熟悉的横向时间轴心智模型。
用一个三秒的对话镜头走一遍流程:
- 建场景:新建
.tnz场景文件,Xsheet 里开三栏——角色、背景、配音。 - 填画:矢量层画角色(放大不失真,便于调整),位图层放背景和有笔触质感的前景;两种层可以在同一场景混用。
- 对口型:把配音 WAV 拖进音频栏(波形直接显示在 Xsheet 上),用 Lipsync 弹窗分析音频生成口型对应表,再自动或手动把口型帧排到角色栏——源码里的
lipsyncpopup.cpp和autolipsyncpopup.cpp干的就是这两步。 - 加特效:给场景挂 Iwa 系特效,比如 bloom(辉光)或焦散;特效参数逐帧可调。
- 渲染输出:界面内渲染,或用
tcomposer命令行批量出片——后者正是渲染农场(toonzfarm/模块)的入口。 - 与产线交换数据:导出/导入 XDTS——这是 Celsys(Clip Studio)和东映动画在用的摄影表交换格式,v1.4 起支持(
xdtsio.cpp);导出 OCA(Open Cel Animation)格式则可以交给支持该格式的其他软件接力,v1.7 支持导出,v1.8 补上了导入。
这个流程解释了为什么说 OpenToonz 的设计目标是"产线"而不是"个人画板":每一环都对应传统分工里的一个岗位。
核心能力与源码锚点
矢量与位图混用。 同一场景里矢量角色、位图背景、照片级合成素材可以共存,tnztools 下的 fullcolorbrushtool.cpp(全色位图笔刷)和 mypainttoonzbrush.cpp(MyPaint 引擎桥接)分别服务两种需求。对追求手绘质感的独立创作者,MyPaint 生态的海量笔刷是 v1.7 之后实打实的增量。
有限动画(limited animation)工具链。 日本电视动画大量依赖"只动必要部位"的省帧技法,OpenToonz 的 Xsheet 模型天然适配——静止部分不复用帧即可,嘴型单独一栏逐帧替换。口型分析工具(上文流程第 3 步)与 XDTS 交换格式都是围绕这条产线的。
日式产线对接。 XDTS(Celsys 与东映动画的摄影表格式)和 OCA(开放赛璐璐动画格式)一进一出,让 OpenToonz 能嵌进真实制作管线而不是孤立工具。透明度检查也在 v1.7 按"适合日本动画行业"的标准专门改进过(release notes 原话)。
v1.8(2026-06):间隔三年的大版本。 距离 v1.7.1 三年多,v1.8.0 攒出了长长一份清单:Assistant Tool 辅助作画工具改进、网点纸(Screentones)功能、Sub-Xsheet 导航条、XDTS 读写增强与符号统一、OCA 导入、新特效 Smoother Fx Iwa 与 Lazy Brush Fx、Corner Pin Fx 可拖拽控制点,外加大量笔刷与填充工具的打磨。对一个节奏偏慢的社区项目来说,这份清单足以说明项目还活着,而且活得不算敷衍。
与同类开源项目的定位差异
| 软件 | 定位 | 强项 | 弱项 |
|---|---|---|---|
| OpenToonz | 摄影表模型的产线级动画系统 | Xsheet、矢量位图混合、日式产线格式(XDTS/OCA)、吉卜力血统 | 上手门槛高,交互偏老派 |
| Tahoma2D | OpenToonz 的易用向分支 | 同源功能,默认配置对新手更友好 | 社区与生态更小 |
| Synfig Studio | 矢量骨骼补间动画 | 骨骼绑定与自动补间强 | 位图处理弱,思路偏"数字补间"而非"逐帧工艺" |
| Pencil2D | 轻量逐帧位图动画 | 极简,上手快 | 功能精简,无摄影表级的图层管理 |
| Krita | 数字绘画为主,动画为辅 | 绘画体验一流 | 动画只是附带功能,没有产线化的数据组织 |
一个常见的误读需要纠正:OpenToonz 并不是唯一采用摄影表模型的开源方案——Tahoma2D 就是从它分叉出去的,摄影表同样是一等公民。更准确的说法是:在坚持传统摄影表工艺的软件里,OpenToonz 是血统最正、生产履历最长的一个。如果你的项目需要多人分工(作画、上色、摄影各管一摊),这种数据模型天然匹配;如果是一个人从头做到尾,Synfig 的自动补间可能反而更快。
安装与构建
预编译版(推荐新手)
从官网 https://opentoonz.github.io/e/index.html 下载安装包,官方提供 Windows(64 位)和 macOS 版本;想尝鲜可以到 GitHub Releases 下载 nightly 构建。再次提醒:只从这两个渠道下载,官网首页明确警告没有其他官方镜像。
从源码构建
官方构建文档按平台分开:
主要依赖是 CMake、Qt 和 thirdparty/ 里的若干库;三平台构建都接入了 GitHub Actions(Windows 另有 AppVeyor),.github/workflows/ 下的工作流文件就是现成的构建参考。Linux 用户没有官方安装包,源码构建是主要途径——v1.7 甚至加入了对 Haiku 系统的支持,可见构建体系的覆盖面。想自定义界面外观,参考 doc/how_to_stylesheet.md 编译自己的主题。
适用边界:什么时候该用,什么时候不必用
值得选 OpenToonz 的场景
- 有传统动画背景(熟悉摄影表、定位销),想把工作流搬到数字平台
- 制作日式有限动画(TV 动画、短篇),需要口型对位、摄影表管理这类产线工具
- 需要和采用 XDTS/OCA 格式的其他工具或团队交换数据
- 预算为零但需要能承接商业生产的工具(Modified BSD 许可对商用友好)
不必选 OpenToonz 的场景
- 只做轻量逐帧小动画——Pencil2D 十分钟就能上手
- 主要做骨骼绑定和自动补间——Synfig Studio 更对口
- 绘画体验优先、动画只是偶尔玩玩——Krita 更合适
- 需要实时协作、云端同步——OpenToonz 没有这类功能
- 需要对接 Maya/Houdini 等 3D DCC 管线——集成能力有限
社区与生态
- 论坛:Google OpenToonz Users Forum,提问与经验交流的主阵地
- 文档:opentoonz_docs 独立仓库
- 翻译:通过 Weblate 接受社区翻译,含简体中文
- CI:AppVeyor(Windows)+ GitHub Actions(Windows/macOS/Linux)
- Issue 管理:GitHub Issues 活跃(2026-09-30 时 open issues 225 个)
- 开发规范:仓库里甚至有一份 AI 辅助开发清单(
doc/ai_assisted_development_checklist.md),2026 年的开源项目该有的自觉
贡献者结构值得注意:头部是 RodneyBaker 和 shun-iwasawa 两位长跑选手,第二梯队(Abel032、motionmonster、manongjohn 等)也算活跃,但整体核心圈不大——这意味着大功能可以等很久(v1.7 到 v1.8 隔了三年),单点的 bug 修复倒往往很快。
结语:开源生态里的一支"老枪"
OpenToonz 的代码可以追到 1993 年的工作站时代,中途经过吉卜力十几年的生产淬炼,2016 年开源后又跑完了《玛丽与魔女之花》这样的院线项目。它不是概念验证,是被真实生产压过的工具。
如果你在认真考虑用开源工具做 2D 动画生产,OpenToonz 值得第一个看。但也要把丑话说在前面:摄影表的心智模型、偏老派的交互、以三年为周期的版本节奏,都是实打实的门槛。能跨过去的人得到的是一套免费、无授权焦虑、经过电影级生产检验的完整工具链;跨不过去的人用 Pencil2D 或 Krita 反而更开心。工具没有立场,看你的项目长什么样。
自测题
检验对 OpenToonz 的理解程度:
OpenToonz 的技术血脉是什么?这对它的设计取向意味着什么?
- 参考答案:Toonz(1993,Digital Video)→ Toonz Studio Ghibli Version(吉卜力多年生产定制)→ OpenToonz(2016 年由 DWANGO 牵头开源)。它从工作站时代的电影产线走来,核心是把摄影表工作流数字化,目标是"能进电影院"的生产,而非轻量上手。
Xsheet 是什么?它和主流动画软件的时间轴有什么本质区别?
- 参考答案:Xsheet 即摄影表(exposure sheet)的数字化,行是帧、列是图层,单元格指定"这一帧显示哪张画"。它对应传统动画摄影台的操作逻辑,而非 Flash/Animate 式的横向时间轴;静止部分靠复用帧表达,天然适配有限动画工艺。
OpenToonz、Tahoma2D、Synfig Studio、Pencil2D、Krita 各自适合什么场景?
- 参考答案:OpenToonz 适合产线级日式有限动画与 XDTS/OCA 数据交换;Tahoma2D 是其易用向分支,适合想降低门槛的同源用户;Synfig 强在骨骼补间,适合单人矢量动画;Pencil2D 适合轻量逐帧练习;Krita 是绘画优先、动画附带。
OpenToonz 的 GPU 渲染覆盖到哪里?“Less 语言"在这个项目里是干什么的?
- 参考答案:整体渲染以 CPU 为主,GPU 只覆盖部分特效——
stuff/library/shaders/programs/的 GLSL 着色器与stdfx/里iwa_前缀特效家族;HLSL 字节则来自粒子特效预设的.fx脚本。Less 全部位于stuff/config/qss/,是 Qt 界面主题的样式源码,编译为 QSS。
- 参考答案:整体渲染以 CPU 为主,GPU 只覆盖部分特效——
练习
练习一:评估 OpenToonz 是否适合你的项目
目标:根据适用边界做出采用判断。
步骤:
- 列出你项目的 3 个关键特征(规模、动画类型、团队分工方式)
- 对照"值得选/不必选"两份清单,各找出至少 2 条匹配项
- 若存在硬性不匹配(如需要实时协作),写出替代方案
通过标准:匹配与风险都有具体条目,替代方案可执行。
练习二:走通一个三秒镜头
目标:把"一个镜头的流转"一节亲手跑一遍。
步骤:
- 新建场景,建角色、背景、音频三栏
- 导入任意 WAV,用 Lipsync 弹窗生成口型表并排帧
- 挂一个 Iwa 特效并渲染输出
- 导出 XDTS,再用文本编辑器打开观察其结构
通过标准:完整走完四步,能说出 Xsheet 单元格与输出帧的对应关系。
练习三:从源码目录读功能
目标:练习用源码结构验证功能断言。
步骤:
- 在 GitHub 上浏览
toonz/sources/,找到本文提到的lipsyncpopup.cpp与mypainttoonzbrush.cpp - 任选一个
stuff/fxs/presets/STD_particlesFx/下的.fx预设,打开看其结构 - 找出一个本文没提过的模块目录,写出你的职责推测
通过标准:能用文件路径而不是营销页面支撑一个功能判断。
进阶路径
完成本文阅读后,按以下三个阶段深化:
- 阶段一:安装与界面适应 — 从官网装 v1.8,刻意用 Xsheet(而不是找时间轴替代品)排一个小场景
- 阶段二:补工艺课 — 阅读 opentoonz_docs 基础教程,理解有限动画与传统摄影表的对应关系
- 阶段三:做一个短篇 — 完成一部 10–30 秒的短片,用上矢量位图混合、口型对位与至少一个 Iwa 特效,最后导出一次 XDTS/OCA
常见问题
1. OpenToonz 是完全免费的吗?
是。主体代码采用 Modified BSD License,商用、修改、再分发都自由。注意两处例外:thirdparty/ 目录的第三方库各自携带许可,stuff/library/mypaint brushes/ 的笔刷库另有授权文件(Licenses.txt),商用前值得看一眼。
2. OpenToonz 支持哪些平台?
官方安装包覆盖 Windows(64 位)和 macOS,Linux 用户需从源码构建(官方提供构建文档和 CI 脚本参考),v1.7 起还支持 Haiku。下载认准官网 opentoonz.github.io 与 GitHub Releases 两个渠道。
3. OpenToonz 能打开 Adobe Animate 的文件吗?
不能直接打开。OpenToonz 的场景格式是 .tnz,与 Animate 格式互不兼容,素材需要重新组织。跨软件交接主要靠 XDTS(摄影表)和 OCA(赛璐璐序列)这类交换格式,而不是工程文件直通。
4. OpenToonz 有中文界面吗?
有。界面支持包括简体中文在内的多语言,翻译通过 Weblate 平台接受社区贡献。
5. OpenToonz 的社区活跃吗?
中等偏活跃。GitHub 上常年保持两百多个 open issues(2026-09-30 为 225 个),nightly 构建不断,但大版本节奏偏慢——v1.7(2023-05)到 v1.8(2026-06)隔了三年。适合把它当作稳定的产线工具,而不是追新功能的玩具。
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。