news 2026/9/20 13:45:52

OpenToonz新手入门:4步从源码跑通第一个2D动画项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenToonz新手入门:4步从源码跑通第一个2D动画项目

OpenToonz新手入门:4步从源码跑通第一个2D动画项目

【免费下载链接】opentoonzOpenToonz - An open-source full-featured 2D animation creation software项目地址: https://gitcode.com/GitHub_Trending/op/opentoonz

OpenToonz 是由 DWANGO 发布的开源2D动画软件,脱胎于 Toonz Studio 吉卜力版本,面向独立动画师和小型工作室,覆盖逐帧绘制、摄影台、合成特效到导出的完整流程。本文以 Linux 为例从源码把它跑起来,讲清常用配置文件,最后走一遍完整的动画制作工作流。

一、先看清 OpenToonz 的定位与边界

  • 一套完整的2D工作流:逐帧绘制、Xsheet 时间轴、Camera 摄影台、合成 fx、导出都在一个程序里,不需要拼凑多套工具;但它是纯2D软件,不做3D。
  • 有吉卜力级生产血统:仓库自带一套生产级素材,stuff/library/ 下的笔刷、纹理、粒子、着色器拿来就能用。
  • 开放二次开发:核心是 C++/Qt 代码,位于 toonz/sources/;plugins/ 目录里已有 blur、geom 等示例插件,照这个模式可以扩展自己的功能。

二、把它跑起来:4步到首次启动

1. 获取代码(⭐,约5分钟)

git clone https://gitcode.com/GitHub_Trending/op/opentoonz

仓库内含 vendored 依赖目录 thirdparty/(tiff、SuperLU、OpenBLAS 等),克隆体积偏大,网络保持在线即可。

2. 安装构建依赖(⭐⭐,约10分钟)

Linux 用户按 doc/how_to_build_linux.md 操作,Debian/Ubuntu 一条命令装齐:

sudo apt-get install build-essential git cmake pkg-config libboost-all-dev qtbase5-dev libqt5svg5-dev qtscript5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libsuperlu-dev liblz4-dev libusb-1.0-0-dev liblzo2-dev libpng-dev libjpeg-dev libglew-dev freeglut3-dev libfreetype6-dev libjson-c-dev qtwayland5 libmypaint-dev libopencv-dev libturbojpeg-dev

Windows 与 macOS 分别查 doc/how_to_build_win.md 和 doc/how_to_build_macosx.md,依赖清单相同,包管理器不同。

3. 构建(⭐⭐⭐,30~60分钟)

项目依赖经过修改的 libtiff,需要先编译 thirdparty/tiff-4.0.3:

cd opentoonz/thirdparty/tiff-4.0.3 ./configure --with-pic --disable-jbig && make -j$(nproc)

再回到主工程构建:

cd opentoonz/toonz mkdir build && cd build cmake ../sources && make -j$(nproc)

CMake 偶尔漏识别依赖,比如 SuperLU 找不到时,给 cmake 显式加参数-DSUPERLU_INCLUDE_DIR=/usr/include/SuperLU

4. 首次启动(⭐)

OpenToonz 运行时从~/.config/OpenToonz/读配置和素材,先把仓库的 stuff 目录复制过去(这一步官方文档标注为必需):

mkdir -p $HOME/.config/OpenToonz cp -r opentoonz/stuff $HOME/.config/OpenToonz/

然后在构建目录启动:

LD_LIBRARY_PATH=./lib/opentoonz:$LD_LIBRARY_PATH ./bin/OpenToonz

三、常用目录与3个实用配置点

目录/文件用途
toonz/sources/核心 C++/Qt 源码,读实现和二次开发都从这里入手
stuff/config/运行时配置:qss/ 界面主题、reslist.txt 分辨率预设、permissions.xml 权限
stuff/library/素材库:矢量笔刷、MyPaint 笔刷、纹理、粒子、场记板模板
stuff/profiles/layouts/工作区布局与快捷键预设,分 rooms/、toolbars/、shortcuts/ 子目录
thirdparty/随仓库分发的依赖库,构建环境配置时才会用到

切换界面主题

  • 改哪里:LESS 源码在 stuff/config/qss/Default/less/,编译后的主题分散在 Default、Blue、Dark、Clay、Neutral、Light、Darker、Default-Green 八个 qss 子目录里。
  • 怎么改:修改对应主题的 .less 文件,用 lessc 编译输出 .qss,例如lessc -x …/blue-theme.less stuff/config/qss/Blue/Blue.qss,共8套主题可选。
  • 注意什么:.qss 是编译产物,直接改它下次编译会被覆盖;完整流程见 doc/how_to_stylesheet.md,改完记得同步到用户配置目录下的同名位置。

管理快捷键预设

  • 改哪里:stuff/profiles/layouts/shortcuts/ 下的 ini 文件。
  • 怎么改defopentoonz.ini是默认映射,otadobe.iniotharmony.iniotanimate.iniotretas.ini分别为从 Adobe、Harmony、Animate、RETAS 转过来的用户准备的预设,在软件设置里选一个即可。
  • 注意什么:ini 文件定义按键映射,想自定义前先备份原文件,避免误改无法还原。

自定义摄影台分辨率预设

  • 改哪里:stuff/config/reslist.txt。
  • 怎么改:每行一个预设,格式为“名称, 宽x高, 宽高比”,例如已有的HD 1080, 1920x1080, 16/9,照格式追加一行就是自己的预设。
  • 注意什么:这个文件是摄影台分辨率清单,不是素材路径;格式写错预设不会出现在下拉列表里,排查时先看分隔符。

四、实战:用场记板素材走通一次逐帧动画

以 stuff/library/clapperboards/ 的分镜场记板素材为起点,走一遍典型流程。

  1. 建项目:首次启动后在 Camera 房间新建项目,分辨率直接选 reslist.txt 里现成的 HD 1080(1920x1080)。
  2. 引入场记板模板:目录里有preset_sample.clapperboard预设和 16:9 模板图,把预设导入项目作为起始镜头。

  1. 逐帧绘制:切到绘制房间,从 stuff/library/vector brushes/ 选一支笔(41 支 .pli 矢量笔刷),在 Xsheet 里排帧并绘制关键帧。
  2. 加特效(可选):粒子特效在 fx 里加载 stuff/fxs/presets/STD_particlesFx/ 的预设参数,粒子贴图素材放在 stuff/library/particles/。
  3. 导出:到 Export 房间渲染,输出视频或图片序列。

五、新手容易踩的3个坑

现象:构建成功,但启动./bin/OpenToonz直接报错,或界面缺资源。原因:OpenToonz 运行时只认~/.config/OpenToonz/下的配置和素材,stuff 目录还没复制过去。解法:执行cp -r opentoonz/stuff $HOME/.config/OpenToonz/再启动,Linux 上这一步是必需的,别跳。

现象:cmake 阶段报 SuperLU 未找到。原因:系统没装 SuperLU,或装了但头文件路径没被 CMake 识别。解法:Debian/Ubuntu 装libsuperlu-dev,或给 cmake 显式传-DSUPERLU_INCLUDE_DIR=/usr/include/SuperLU;Fedora 一般能自动识别。

现象:改了 .qss 颜色不生效,或者下次编译又被覆盖回去。原因:主题由 LESS 源码编译生成,.qss 只是构建产物,不是源头。解法:到stuff/config/qss/Default/less/改 .less 文件,用lessc -x编译到对应主题目录,再同步到用户配置目录。

下一步入口

  • 想读实现:从 toonz/sources/stdfx/ 的合成特效源码入手,203 个 cpp 文件对应 fx 面板里的效果。
  • 想参与贡献:按 doc/how_to_test_prs.md 的流程帮社区测试 PR,不写代码也能帮忙。
  • 官方文档与官网入口:README.md 里有指向,别从其他渠道下载二进制。

把场记板模板拖进你自己的项目,从第一帧画起。

【免费下载链接】opentoonzOpenToonz - An open-source full-featured 2D animation creation software项目地址: https://gitcode.com/GitHub_Trending/op/opentoonz

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 13:43:57

基于MATLAB GUI的停车计费系统设计与实现

简介:一款基于MATLAB GUI的停车计费系统项目包,将图形用户界面与车牌识别技术相结合,面向智能停车管理场景,适合正在学习GUI编程、图像处理与车辆识别的开发者参考。系统界面包含按钮、文本框、下拉菜单等组件,可实现启…

作者头像 李华
网站建设 2026/9/20 13:42:46

基于Hadoop与Spark的学生成绩影响因素分析系统构建实战

简介:这是一份基于大数据的学生成绩影响因素分析系统设计文档,面向大数据技术学习者、教育管理人员及数据挖掘实践者。文档以学生成绩为切入点,系统介绍从网络爬虫采集数据、去除噪声到数据预处理与集成,再到决策树、聚类、数学建…

作者头像 李华
网站建设 2026/9/20 13:39:35

GetQzonehistory 完整教程:免费导出 QQ 空间全部历史说说

GetQzonehistory 完整教程:免费导出 QQ 空间全部历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 免费 QQ 说说备份:跑完你能拿到什么 GetQzonehistory …

作者头像 李华
网站建设 2026/9/20 13:38:08

Zernike像差仿真:Matlab高精度建模与PSF物理映射

1. 为什么光学像差模拟不能只靠“画个圆圈加点波纹”?在光学系统设计、自适应光学调试、眼科波前像差分析这些实际场景里,我见过太多人用Photoshop手动叠加正弦纹理来“示意”像差——结果仿真数据和真实Zernike展开误差动辄30%以上,导致后续…

作者头像 李华
网站建设 2026/9/20 13:37:13

Design-Expert响应面法实战:从实验设计到配方优化全流程

简介:这份Design-Expert使用教程PDF面向科研人员、工程师和实验设计初学者,系统讲解响应曲面方法(RSM)在过程优化中的核心应用。内容从RSM基础概念出发,覆盖实验设计方案选择、数据分析与数学模型建立,并重…

作者头像 李华