OpenToonz 二维动画制作

2020-04-24  本文已影响0人  坚果jimbowhy

OpenToonz 二维动画制作


OpenToonz Home
OpenToonz User Manual
What’s New in OpenToonz
「迪士尼九大元老」 Walt Disney's Nine Old Men

Introduction 软件介绍

OpenToonz 是意大利的动画制作公司 Digital Video 旗下 TOONZ 专业动画软件的开源产品,曾被日本吉卜力工作室 Studio Ghibli 用来制作。2016年3月19日,Toonz 宣布将 OpenToonz 开源发布,后在 Github 公开其源码。此免费动画软件项目由 Dwango 公司发起,基于吉卜力定制软件 Toonz 开发,支持跨平台使用。

OpenToonz虽然是免费软件,但它极为专业。节点结构的控制流程使其在特效和合成上也有不错表现。而且作为开源软件,它允许代码修改、插件开发和包括商用在内的无偿使用。

官网提供最新版 OpenToonz 1.4.0 下载,同时提供了纸质原图扫描处理辅助工具 GTS。还有云彩生成工具 KumoWorks,会根据给出的环境生成云层,只需要绘制云层轮廓 silhouette 就可以生成各种云层:

新版本提供了辅助图层 Assistants Level,给辅助图层添加 Assistant 工具可以进行 Ellipse/Line/Vanishing Point 透视线辅助。

不过这个软件也有大部分开源软件共有的弊病就是稳定性差,经常崩溃,可以设置自动保存或经常手动保存。

Working Flow 工作流程

2D 动画制作的可以按传统流程或无纸化流程进行,基本流程步骤如下:

在传统 2D 动画制作过程中,手稿需要扫描入软件处理,扫描的图像文件需要经过清理,图形中心的对齐,图像的裁剪缩放,线条清理,转换成 Toonz 光栅图层文件 TLV,手稿使用的颜色转化到调板的样式保存到 TPL 调板文件,可以通过 Color Model 加载。通过适当的 Cleanup Settings,通过菜单 Scan & Cleanup - Preview Cleanup 检查设置正确结果,再选中 Xsheet 中需要清理的手稿图层,执行菜单的 Cleanup 进行清理。

OpenToonz 很完整地支持了整个工作流,功能强大,2D 动画制作工业化程度极高,支持:

动画制作故事永远是核心要素,动画场景和角色表现是表达故事的手段,而绘画或美术修养则是基本内涵。

Toons History

上个世纪,动画制作开始发展,慢慢从传统的基于纸质绘画和摄影台的制作工艺过渡到以计算机技术为主导的潮流中。到目前为止,诞生了大量 2D/3D 动画制作软件,极大地提高了动画制作效率。如开源免费的 Blender 既能 2D 又能 3D,提供基础的 Eevee 实时渲染非常强大。由其基金会支持的 Mango Open Movie 在 2019 年发行,Andy Goralczyk 导演的《Spring》效果惊艳。

其它的 2D 动画制作软件有 Anime Studio/Toon Boom Storyboard/TVPaint Animation/Adobe Animate 等等,OpenToonz 和 Sketchbook 作为开软免费的存在,着实让人高兴。其它还有大量着重绘画效果的软件,有 OpenCanvas、ArtRage、Printer、Krita 等。

上世纪的动画,参考 Gene Deitch 的马罗 Munro,以现代的视角来看,这个短片只似乎除了故事就没有值得参考的,但是应该回到 1961 的那个年代,在当时的历史背景去理解这种主导风格 Dominant Animation Style 绘画表现。

更早期大力水手系列就是橡皮管动画,1933 年 - 1942 年由 Fleischer 工作室制作。橡皮管动画始于 1924 年左右诞生的一种动画规律,解决了早期动画像连环漫画,角色呆板,表演非常僵硬的问题。橡皮管动画风格让角色没有骨架、关节可言,身体的任何一个部位都可以随意拉伸,让动作更加流畅。

美国的迪士尼有九大元老 Disney's Nine Old Men,是迪士尼公司开创时期的核心动画师,使他们创造了从《白雪公主》到《救难小英雄》之间时期最知名的一些列动画长片。华特迪士尼当时戏称这组动画师为为他的九大元老,不过这些人在那时候只有三四十岁。

他们是:

《罗宾汉》发行的时候他们所有人在一起拍摄了最后一张集体照,九大元老中只有 4 位还在迪士尼做动画,他们是 Milt Kahl、John Lounsbery、Frank Thomas 和 Ollie Johnston (不过 Eric Larson 还在迪士尼工作,主要从事人才的发掘和培训)。John Lounsbery 在1976年死去,同年,Milt Kahl 退休而在1987年去世。Frank Thomas 和 Ollie Johnston 在1977年退休,不过他们后来一起出现在 Brad Bird 导演的电影《正义铁巨人》(1999年,华纳兄弟发行)和《超人总动员》(2004)中。Frank Thomas 不久,在2004年去世,而 Ollie Johnston 成为唯一在世的“元老”。

这九大元老创立了动画的12个基本准则:

相关资源:

日本市场最先引入西方最新发展的动画制作技,1963 年,漫画大师手冢治虫将其创作的漫画作品《铁臂阿童木》改编成动画版本,是日本现代动画的开山之作。在这之前,日本动画的制作模式都是效仿着美国迪士尼公司的制作模式。而手冢的模式,通过降低动画帧数降低单集制作成本,加快更新速度,当年就达到了周更的速度。

另一边,以精细手绘动画为新的方向。东映公司 1958 年出品日本首部彩色动画电影《白蛇传》,人物的表现和迪斯尼动画里面的主人公有相似,在当时已经算非常精良,正确评价要考虑时代背景。当年,宫崎骏就是看了《白蛇传》之后,便立志成为动画导演,现在宫崎骏的作品的创作周期和制作成本还是秉承着当年的理念而创作,成本高,注重画面细节,唯美。到了 2002 年,宫崎骏的《千与千寻的神隐》达到巅峰,故事宏大,画面唯美,名副其实是世界顶级的动画作品。

回观国内动画,一出道就是巅峰,1960 年上海美术电影制片厂制作的世界上第一部水墨动画《小蝌蚪找妈妈》,原画出自齐白石之手。1961—1964 年制作的《大闹天宫》不可超越。1986 年上海美术电影制片厂原创出品 13 集系列剪纸动画片《葫芦兄弟》,1979年王树忱执导动画片《哪咤闹海》,都是经典。

水墨动画是出现在上世纪六十年代的一种颇具实验性作品,同时期的水墨动画有《牧笛》、《鹿铃》。其中还以《山水情》为典范,原画是中国美院国画系主任吴山明。整个短片仅有二十分钟,故事并不复杂,一个孩子和一位琴师离别之日,琴师赠予了孩子自己的琴,孩子拜别了琴师,也抚琴一曲,用最雅致的方式为琴师送行。整个故事就到这里,动画里有雅致的景观,有清泉里畅游的鱼、雪中的茅草屋,古人那份旷达清幽之情,全在这景致与琴声中。而短短的二十分钟内,便把国画里的那种宁静的美展现的淋漓尽致,也体现了古人的那种感情深厚的师徒情谊,以及自然风物之美。这些动画的人物形象,也是由国画画家吴山明亲自设计的。中国水墨风格也在国际上得到了承认,《山水情》拿奖拿到了手软,自然,这样独特风格的动画实在是不多见。

《牧笛》中的牧牛图,原画是大名鼎鼎的画家李可染,配乐的笛子是中国顶级音乐大师陆春龄。李可染的山水画被称为二十世纪中国山水画的里程碑,其山水画风格被誉为“李家山水”,在现代中国山水画发展史上有着重要的地位。

水墨动画可以说是比较烧钱的作品,虽然人物并不是画家绘制,但整个背景确实是由一张张水墨画组成,所以 2D 水墨动画成本高。计划经济时代结束,国家经济体制开始转型后,国家电影局停止了对美影厂的资助,纯艺术的动画不再赚钱,而且动画公司也需要自负盈亏,中国水墨动画不能不说是计划经济中的闪耀明珠。

其实中国水墨动画还存在着的,新生代也有一些实验性的水墨动画作品,有不少人在电脑技术制作水墨动画的路上探索前行。如 2006 年环球数码出品的《桃花源记》,糅合剪纸动画,既立足于民族文化传统,又运用创意新思路对作品进行诠释,在国际国内屡获殊荣,充分展示了公司创作团队在商业价值和艺术思考之间所取得的均和平衡。早在 2003 年,环球数码的许毅 Ron Hui 就凭 Maya 制作的 3D 写意水墨动画短片《夏》入选计算机图像技术盛会 SIGGRAPH 2003。许毅是国画系的,对于此是非常在行的。在实现上,飞白(干枯笔触部分)的较少无法很好用 3D 模拟,画面设计上还是遵循了传统的水墨画,使用了大量的留白。3D 水墨动画可以轻易表现立体的空间运动,产生层次感。缺点是,3D 场景需要遵循真实透视,无法完全完成传统国画的透视方式。

2015 年,由上海嘉定区委宣传部投资出品的系列原创公益动画片《中国唱诗班》改编而来的系列动画片也是很棒的作品,述嘉定名人雅士的历史典故,制作方为兆德文化传播工作室及北京璀璨星空文化发展有限公司。截至 2019 年,已有共有《元日》、《相思》、《游子吟》、《饮湖上初晴后雨》、《夜思》五部短篇动画。

日本也曾经出现过类似水墨动画风格的作品,作为吉卜力的灵魂人物之一的高田勋制作的《辉夜姬物语》。这部动画取材于日本神话故事竹取物语《たけとりものがたり》,但内容上有很大改动。讽刺的是,《辉夜姬物语》虽然是佳作,但也处在亏钱的状态,投资大概3亿人民币,而票房却只有1.5亿。尽管有电脑技术的辅助,要想搞出这样的画风也要耗费很大的成本。

现代中国的商业动画市场基本是日本和美国的融合,不管是造型还是动画表演上,世面上动画教科书都是他们总结的动画理论,国内作者只是修改改编而已。近年,洋派的动画仿佛也看到了一些希望。软件上,基于流体动力学的特效软件如 RealFlow、FumeFX 和粒子特效如 Krakatoa 有了较大的进步。

绘画艺术基础

艺术境界大概有四个层次,匠、艺、文、道,先求表面的相似,再求艺术意蕴,再升华精神感悟。

基础的艺术元素:

涂鸦

作为初学者,通过练习,利用肢体特点稳定手掌,掌握用绘画工具表达准确的线条,构造正确的形状是一个需要大量重复的工作。通过观察物体,掌握快速出线稿速写的能力是学习绘画的第一到关,这需要手眼协调,还有心中有度。线稿,国内也叫白描技法,就是用简明的线条准确地表达物体的主要轮廓或明暗边界。

线条可细可粗,可弯可直,可长可短,可深可浅,可连续可断点,有平滑 smooth/ 粗糙 rough/ 虚线dashed/ 点线 dotted/ 折线 zigzag/ 抽象线 implied。不同的线不同的组合产生不同的形状,规则的 Geometric 几何形状或不规则 Organic。规律明显几何形状是最容易通过练习把我的,因此事物写生练习过程中,倾向将不规则形状转化为规则形状。

颜色是眼睛能观察到的电磁波,波长越短能量越高,比如火看起来越偏红、黄,这是暖色。而能量更低的绿色蓝色使心理感觉显得冷,比如雪天的环节。眼睛看到的颜色不是光的颜色,而是光从物体表面反射的颜色。比如绿色植物,它们用来吸收光能的叶绿素对太阳光有两个吸收高峰,分别是 440nm 附近的蓝区和 680nm 附近的红区,而对于处在 500 - 600 纳米之间的绿光吸收的甚少,绿光就反射被眼睛接收到。

用来绘画的颜料就是利用其对光线的反射形状,红黄蓝是三种原色,使用这三种颜色可以混合得到任意的其它颜色。不同的色彩模型,三原色有些差异,比如计算机显示设备的光学三原色是红绿蓝,它们两两混合就可以得到三种间接色:

肌理是一种造型,特定的肌理可以给受众传到一种看起来像什么,或者摸起来像什么的信息。通过形状的循环组合可以构造属于自己的肌理,雕塑家、织物艺术家、陶艺家对设计新肌理的尝试乐此不疲。

色彩明暗的明暗表达了画面种各种元素对光线的响应,也表达各个元素的相互关系。同一个元素,在其受光面和背光面就是一种关系,缺失明暗关系就会丢失画面关系,也无法准确表达画面中的对象。眼睛对颜色的明暗差别的敏感度决定了绘画过程对事物的还原度,没有眼睛的指导,画家是没有办法分辨其中的细微差别的。

中国经历长时间的社会发展,自古以来的艺术成就不凡:

中国的山水画到五代、北宋山达到巅峰,先有设色,后有水墨。青绿山水一词脱画而出,比水墨山水更早,用矿物质石青、石绿作为主色,以北宋王希孟的《千里江山图》为经典。中国画颜料中有泥金、石青和石绿,凡用这三种颜料作为主色的山水画,称为金碧山水。泥金一般用于钩染山廓、石纹、坡脚、沙嘴、彩霞,以及宫室、楼阁等建筑物。存世最早的山水画展子虔《游春图》,是青绿山水,更是金碧山水。近现代的,有张大千山水人物,齐白石的鱼虾图。

User Interface 用户界面

安装 OpenToonz 通过语言选项可以设置中文界面,在偏好菜单中修改 File > Preferences... > Interface。

OpenToonz 1.3/1.4 版本,可以设置触屏手势和 Windows Ink 支持,在 Preferences - Touch/Tablet Settings 设置。在触屏支持上 OpenToonz 1.2 还欠缺,不能支持 Surface Book 上触控的压感。长时间的系统运行可能导致 OpenToonz 的压感不能正常工作,在勾选工具选项 Pressure 时会导致压感失效。

打开 OpenToonz 主界面,提供了 Basics、 Cleanup、 Drawing、 Timeline、 Animation、 Platte、 Xsheet,等常用的视图布局,方便各种操作。Windows - Workshop 菜单可以恢复默认视图布局,也可以锁定面板。

主要界面面板:

OpenToonz 以工程加场景的方式组织动画项目,工程设置了各种专用目录来保存特定的资源,如 drawings 目录存放绘图文件,palettes 目录保存调板文件,scenes 保存场景文件等等。场景中的摄像机可以用来做动画,通过 Xsheet → Scene/Camera Setting 可以设置动画场景的帧率及输出文件的分辨率。虽然可以给场景添加多个摄像机,但同时只有一个工作,当前这个工作的相机可以在 FX Schematic 后期特效规划面板中的 Output 节点指定。类似的 Output 节点也可以添加多个,但是等价一个有效输出节点,渲染输出的文件的分辨率由选定的摄像机决定。

图纸 Level 是最基本的绘画对象,这里可以看作一张图纸,多张图纸可以用一个文件进行保存,使用对应命名的 Level Strip 进行管理,各个序列可以在 Xsheet 中的 Cell 指定显示出来。通过弹出菜单 Level Settings 可以看到 Level 名称和保存位置及文件名,还有分辨率等信息。

摄影表 Xsheet 与时间轴 Timeline 等价的,只是显示方式的差别。Xsheet 以列为图层以行为帧 Frame,每层的一个单元格 Cell 即对应显示一个 Level 图纸,双击 Cell 即可以指定要显示的 Level 名称和图纸序列。Xsheet 可以保存为 HTML 网页文件以共享浏览。

使用 File Browser 可以加载各种 Level 图层文件,然后在 Xsheet 空白层的 Cell 中双击,键入 Level 名称即可将图层显示出来。也可以在 Cell 中指定还没创建的资源文件,然后在 Level Strip 中通过右键菜单 Add Frame 添加绘图层。通过 Scene Cast 场记可以查看那些图层资源有问题,或者清除没使用的图层资源。

选中的图层可以坍塌成嵌套摄影表 Sub-Xsheet,Xsheet - Collapse,这个功能很好简化和降低的 Xsheet 的图层数量,对重复播放的多个图层内容也可做成 Sub-Xsheet,场景 Scene 也可以作为 Sub-Xsheet 导入。嵌套摄影表可以再次打开编辑,或重新暴露到主摄影表,也可以保存到场景文件。进入 Sub-Xsheet 编辑时,如果需要同时看到场景其它图层,可以打开 Edit in Place 模式。

摄影表还可以插入及编辑音轨 Soundtrack,通过 Alt-A 打开录音面板,或在指定 Cell 右键菜单 Load Level 加载音频文件。注意,Cell 左侧有一块高亮色块,通过它可以移动选择的 Cell,结合控制键 Shift 变换移动/Ctrl 选区移动/ Alt 剪切移动。

在 XSheet 选中 Cell 的下方有一个 Fill Handle 色块,如果是 Timeline 则在上 Cell 部,拖动它可以快速填充,按下 Ctrl 可以编辑 Cell 的开头。如果选择的 Cell 是有序的,则填充是会保持顺序。

音轨的声波图可以用来做嘴型同步 Lip Synching 时的参考,在一个 Level Strip 中准备好 10 张嘴型图画,对应各发音嘴型,通过 Skeleton 工具在对应声波处动态地更换要显示的嘴型图像。

还可以使用 export-toonz.lua 脚本从 Magpie 软件导出嘴型同步文件 .TLS files (Toonz Lip Sync)。也可以使用免费的 Papagayo-NG 来做嘴型同步,这些工具回检测音频文件以匹配台词。

使用 Tasks 渲染场景时会出现全黑帧输出,是命令中指定的 CPU 线程参数导致的。

tcomposer.exe "tga_paint.tnz" -o "tga_paint.tif" -range 1 12 -step 1 -shrink 1 -multimedia 0 -nthreads all -maxtilesize none

只需要将 -nthreads all 参数指定 CPU 核心数即可以解决,通过 FX Schematic - Output 节点设置,Dedicated CPUs 设置为 Half/Single 试试。或者直接手动执行命令,指定 CPU 线程数量。

Layer & Drawing 图层与绘图

OpenToonz 三种层级类型特点:

OpenToonz 1.4 版本使用填充工具时,在 Xsheet 操作可能导致卡死崩溃。

在矢量图 Vector 上作画,选择 Level 列表中的多个帧后即可以看到缩略图的右边缘显示 INBETWEEN 按钮,点击它即可生成补间,在弹出框中选择插值方式 Interpolation:

在 Basics、 Drawing、 Timeline、 Animation 等界面布局都有 Level 面板可以进行操作。

工具栏中只有常有的基础绘画工具:

Brush 画笔选项面板:

不同的工具需要正确设置调板或样式,比如不能设置调板中的 Raster 纹理来绘画矢量图层,已绘制的矢量图层中,将笔触样式修改为光栅纹理也会导致内容不能正确显示。与矢量绘图同,在标准光栅层上绘图像素化的,画笔的样式色彩修改不会影响已绘制的图案。

调板 Palettes 管理舞台各种对象所使用的样式 Styles,比如矢量图层中可以使用不同的样式画线条,画完后再通过 Style Editor 修改样式依然可以修改线条的图案,可以重复修改这就是矢量绘图的一大好处。因此,给样式命名是一个很好的习惯。

对于 Vector 和 Toonz Raster 图层,调板的样式可以制作动画,在时间轴定义的关键帧 Key,然后在调板选中样式修改更新,并在面板工具条中激活钥匙按钮,两边的方向按钮表示当前选中样式是否有前后关联帧。

调板默认提供 Color_0 样式,它用来清除其它样式的线条、填充图案,样式左下角显示 A 表示激活 Autopaint for Lines,快捷键 Shift-A。

除了当前工程使用的调板,另外还提供了内置的调板,可以通过工作室调板面板 Studio Palettes 查看。

样式编辑器提供固色 Color、 纹理 Texture、 矢量图案 Vector、 光栅画笔风格 Raster 等设置。

矢量图案则时一种矢量形状定义,它们用在矢量工具时会按图案形状给边线填充指定颜色,所以矢量图绘制时固定下来的是矢量形状,样式可以后续修改样式既可以更新。在矢量绘画过程中,每种工具都涉及到矢量形状部分和颜色喷涂部分,注意区别。

使用画笔 Brush 在矢量图层绘图时,绘制的就是一个笔触形状,然后填充样式指定的颜色或纹理。笔触绘制的形状还可使用填充工具进行填色。在标准光栅层绘图时,笔触的形状可以根据软件算法配置千变万化,矢量绘图工具依然可以使用,但会光栅化而不是以矢量图案保存。所以,绘图工具的两大功能就是绘制形状和填充色彩。

给一个样式设置纹理、矢量图案后,可以在 Vector 或 Raster 栏左上角的 Plain Color 来复原固色样式。对于矢量图层,画笔光栅是没有效果的,不会在绘图区显示内容。对于光栅图层,给演示设置纹理或矢量图案是无效果的,相当于设置了一个固色。

OpenToonz 使用的画笔光栅纹理是 MyPaint 开源绘图工具移植过来的,与其保持兼容。

纹理 Texture 就是一个位图小方块,其中纹理可以看作一种形状,在绘制矢量图按时会填充到线条上。纹理 Texture 既包含颜色信息,又包含纹理,所以不能给指定纹理的样式更换颜色,但可以通过其它纹理来实现颜色的修改。

新建样式可以通过样式编辑器自定义纹理样式:

或者直接将位图纹理文件放到 library/textures 目录下,下次起动 OpenToonz 时就自动加载。

设置好工具样式后,大多数样式还可以回来设置一个底色,比如设置好炭精光栅 Charcoal,还可以再挑选 Color 底色进行绘图。选择多个样式后,使用 Palette Gizmo 可以对样式进行批量的修改。

项目中有大量的帧,使用填充工具用来上色时,可以勾选帧范围 Frame Range,在第一帧和最后一帧的对应位置分别点一下做标记填充,中间的帧相同区域内的颜色都被自动填充,注意十字号标记是用来对标填充区的。

另外填充选项 Selective 配合 Retangle/Freehand 填充类型对可以框选中的区域进行填充。而 Onion Skin 填充选项,结合 Normal 填充类型,在点击填充时,会从洋葱皮显示的图层获取颜色,并填充当前点击的区域。

在一些局部被拆分的图层上色,如交谈的人物图形通常会将运动的口型部分分离到新图层,在填充时需要先合并图层 Xsheet - Merge TLV Level,更好的做法时使用适配线 Xsheet - Apply Match Lines,适配线可以删除。

OpenToonz周边教程#1:合并图层和引用适配线
OpenToonz周边教程#3:高级上色技巧
OpenToonz Toolbar

提示:

Animation 动画

以下是 5 个主要的动画工具:

Skeleton 骨架工具用来连接不同图层上的角色部件,如皮影人物角色的头部、四肢、躯干都是单独的一块皮料,通过骨架关联组成一个角色图案并通过修改骨骼产生动画,有三种模式:

选择骨架工具后,再选择图层即进入 Build Skeleton 模式,不同的图层配置不同的骨架。绘画区骨架显示的橘黄圆圈设置中枢位置,应该放到角色的关节位置,另一端的方块用来连接父级骨骼,即其它图层上的骨骼,拖动它连接到其它骨架后就回在骨骼中间显示方块,再拖动可以重新连接。通过骨架将各个独立图层连接在一起组成完整的角色图案,再给骨架设置动画,这就是剪影动画的制作,避免了花时间逐帧绘制动画。

Skeleton 虽然是要求连接不同的图层,角色各个部分的图案是可以在同一个 Level Strip 序列中绘画的,这样在骨架动画模式 Skeleton - Animate 中枢点附近就会出现一个剪影标记,例如 C 1 表示的是当前关键帧显示的是 Level Strip 中第一张图纸,点击剪影标记依次更改其它图纸。 中枢点可以移动调整,图层的位移也可以通过拖动十字星图标调整。因为骨骼的关联,父级的 位移/旋转/缩放 会作用到子级,子级的调整不影响父级。Global Key 选项打开后,任何调整都会产生包含 位移/旋转/缩放 信息的关键帧。

骨架的反关节动画 FK - Inverse Kinematics 以骨骼的末端来引导动画,比如拖动一条铁链的末端会影响其它环节的跟随运动。前面的 Skeleton Animate 其实可以看作一种正向关节 FK - Forward Kinematics。

在反关节模式下中枢控制点会变成大圆盘,在圆盘周边任意位置可以拖动骨骼绑定的图层内容,而方块表示固定锚点,锚点骨骼会处于固定状态,其它骨骼绑定的图层可以任意调整,并且在调整过程中保持图层的连接关系。注意控制圆盘的大小变化,大圆盘表示父节点设置锚点,子骨骼用来做姿势调整,小圆盘表示子骨骼设置锚点,父骨骼做姿势调整。

选择塑性工具 Plastic,通过 Create Mesh 按钮给角色图形添加蒙皮网格图层,得到网格后先选择 Build Skeleton 模式进行骨架配置。创建设置蒙皮网格时,设置适当小的边长 Mesh Edges Length 提高精确度,太小也不利于调整,网格边距 Mesh Margin 以封闭好角色图案为准。

与骨架工具 Skeleton 不同,塑形工具的骨架只在蒙皮网格层定义,第一个方块设置的点为 Root 表示角色图形中的稳定中心,如人体的胸部或髋部,然后点击 膝盖 - 脚跟 - 脚掌 定义一条完整的骨骼链。定义其它的骨骼链如 Root - 手肘 - 手腕 - 手掌,需要先点击 Root 表示选中起点,其它骨骼链类似操作。

一般来说,设置好骨骼链后就可以进入动画模式 Mode - Animate 进行动画编辑,移动骨骼中枢点即可以编辑角色动画。但是为了更好的效果,还是需要进入 Edit Mesh 修正网格,进入 Paint Rigid 绘制刚体。刚体 Rigid 标记为红色的网格顶点表示在动画变形时尽量不改变所覆盖的图形,而软体 Flex 黄色标记的网格顶点表示在动画变形时会延展或压缩其覆盖的图形。

使用 Tracker 追踪工具时,多定义几个参考点提高正确性,也可以手动对各帧识别位置进行调整。框选区域后得到一个带字母编组信息,再次点击这个区域后表示选这个编组,然后框选其它区域就会给同一个编组下添加参考区,这些参考区分组字母相同。

Level - Tracking 设置追踪参数:

Schematic & Function Editor

场景规划 Stage Schematic 用来编排动画,图中的每个块和 Xsheet 的图层是对应的,可用于动画的父子绑定或者特效添加。另外还有 Table 和 Camera 两个基本节点,还可以添加任意的 Pegbar 来汇集其它任意的输入图层或对象,这四种动画对象可以在绘图区的右键菜单选择并编辑动画效果,使用动画工具 Animate 也可以编辑它们。

父级的动画效果会影响子级的对象,如通过 Pegbar 接入的图层会受到 Pegbar 的动画调整影响。

节点左边蓝色端点表示输出到父级,右侧红色端点表示子级输入,下侧绿色端点表示运动路径输入,创建 Motion Path 来创建运动路径 Motion Path,保持选中状态下在使用画笔在绘图窗画出运动路线即可,运动路径曲线回显示为红色虚线,线上还有一些小数字表示控制点 Control Points。也可以使用 Selection 工具将矢量线条复制再粘贴到 Motion Path 上。在进入端口的侧边有两个方块,一个用来设置运动对象是否要根据路径做转动,使用 Animate 动画工具调整运动位置查看效果。另一个是激活 Link to Control Points,按控制点来移动。可以将运动路径保存到 MPATH 文件中,以重复使用。

打开输出端口显示模式后,端口以字母或数字方式显示,通过端口的上下箭头可以拖动调整,意义如下:

以闹钟为例,指针的动画部分用基本的旋转和帧重复就可以实现,主体是静态的,独立使用图层。使用 Z 给指针设置关键帧,再在后面的帧设置关键帧并使用动画工具修改指针的旋转即可。

使用 Tracker 追踪点时,需要在被追踪对象中接入要跟随运动的对象。比如小狗图层中设置追踪尾巴的参考点,另一个图层有一个苍耳需要粘到尾巴的参考点上,那么就要将苍耳图层连接到小狗图层的输入端,并设置输入端为对应的数字编码。

通过右下角的转按钮切到特效规划 FX Schematic,节点类似,操作也类似,比如给其中的图层节点添加模糊特性,首先选中图层节点,在右键菜单选择 Insert/Add FX 即可以添加 Blur 模糊特效,在绘图区的右上角的眼睛图标打开预览模式查看效果。

OpenToonz 已经实现 Particles Effect 粒子特效,准备好粒子图形动画图层接入到特效节点的 Texture 输入端,另外可以使用动画图层接入特效节点的 Control 输入端,这些图层的图像的属性,主要是像素的亮度、透明度,用来控制粒子特效的某些属性。

比如说粒子特效控制粒子运动方向的 Source 属性,那么在特效设置面板的 Source 栏下的 Control Image 填入 2 即表示用 Control2 端口接入的动画图层来控制 Source 属性。

粒子特效属性:

与动画关系比较紧密的界面除了前面讲到的 Xsheet / Timeline / Stage Schematic / FX Schematic,还有一个与数学函数曲线及脚本有关的 Function Editor,在界面右下角的目录树中有对应 Xsheet 的图层对象,每个图层提供多个动画属性:

对应塑性动画 Plastic Animation 还可以在 Function Editor 列表中找到网格图层的骨架属性 Plastic Skeleton,里面记录了各个骨架中枢点 Root、Vertex_1、Vertex_2... 等,提供 Angle、Distance、SO 属性,表达式可以这样写:

vertex(2, "Shoulder_right").angle
vertex(2, "Shoulder_right").angle*-1

格式规范:

vertex(column_number, "vertex_name").parameter

给图层某个属性设置表达式,首先要在列表中选择图层的属性,在 From/To 填入需要设置表达式的帧号,点击 Apply 生成关键帧,然后在插值方法列表 Interpolation 中选择表达式方式 Expression,然后编写函数表达式替换文本框中的 0 值。

Function Editor 面板的工具条中,靠右侧有一个按钮可以打开曲线编辑器 Curve Editor,可以更直观修改表达式的数值。

表达是可包含基本的四则运算、逻辑运算、布尔运算,常用的数学函数如 sin、abs、ceiling、round、sign 等,还有常量 pi 等,以下这些预定义函数也有效:

表达式涉及的对象:

涉及的变换属性:

特效属性的访问语法:

fx.name.parameter or fx.name.parameter(delta)

例如给一个图层的 rotation 属性设置以下表达式,可以跟随图层 2 对象:

atan2(col2.ns - col1.ns, col2.ew - col1.ew)

参考:

ToonzScript 脚本控制

ECMAScript 标准脚本语言
ToonzScript
ToonzScript manual

ToonzScript 脚本语言是基于 QtScript 实现的 ECMAScript 规范标准脚本语言,使用 JS 作为扩展名。通过使用脚本,可以执行一系列的命令,创建或修改场景、图片内容,符合 ECMAScript 规范的代码都可以执行,比如解析一段 JSON 数据:

JSON.parse('{"A":1}').A;

执行脚本文件 File → Run Script... 或使用控制台执行 File → Open Script Console...。

常用命令:

print("result=",12*3);
run("test.js")
run("C:\\Users\\Username\\Tests\\another_test.js")
view(new Level("C:\\OpenToonz stuff\\sandbox\\drawings\\A.pli"))
view(new Image("C:\\OpenToonz stuff\\sandbox\\drawings\\A.tif"))

运行脚本文件不指定绝对路径时,使用相当对目录是库文件夹下的 scripts 子目录。

OpenToonz Raster 转 Vector 示例代码:

// Convert to Vector (Centerline method)
// http://www.toonz.com/htm/support/Scripts/script1.htm

//Define the Input and Output folders

dir1 = "C:\\OpenToonz stuff\\sandbox\\drawings\\";
dir2 = "C:\\OpenToonz stuff\\sandbox\\SCRIPT IMAGES OUT\\";

//Set the parameters of the Centerline Vector Conversion

v = new CenterlineVectorizer();
v.threshold = 8;
v.accuracy = 10;
v.despeckling = 5;
v.maxThickness = 1000;
v.thicknessCalibration = 100;
v.preservePaintedAreas = false;
v.addBorder = true;

a = new Level().load(dir1+"A.tlv");
print("loaded\n",a);

//Convert to vector the a level and save it as vectorized.pli

c = v.vectorize(a).save(dir2 + "vectorized.pli");

print("Converted to vector");

// Open a Flipbook window and view the saved level

view(c);

对象参考:

Keyboard Shortcuts 快捷键参考

注意,按住快捷键不放,使用工具后再松开可以自动返回上一个工具。

Tools Shortcuts

Tool Modifiers Shortcuts

Visualization Shortcuts

Actual Pixel Size N
Fit to Window Alt/⌥ Option + 9
Reset View Alt/⌥ Option + 0
Zoom in +
Zoom out -
Onion Skin Toggle /
Maximize Panel Full Screen Mode Alt/⌥ Option + F Main Window Full Screen Mode Ctrl/⌘ Cmd +

Playback Controls Shortcuts

Play P
Loop L
Previous Drawing ,
Next Drawing .
Previous Frame Shift + ,
Next Frame Shift + .
Previous Keyframe Ctrl/⌘ Cmd + ,
Next Keyframe Ctrl/⌘ Cmd + .

File Menu Shortcuts

New Scene Ctrl/⌘ Cmd + N
Load Scene… Ctrl/⌘ Cmd + L
Save All Ctrl/⌘ Cmd + S
Save Scene Ctrl/⌘ Cmd + Shift + S
Preferences… Ctrl/⌘ Cmd + U
Quit Ctrl/⌘ Cmd + Q

Edit Menu Shortcuts

Level Menu Shortcuts

New Level… Alt/⌥ Option + N

Xsheet Menu Shortcuts

Cell Menu Shortcuts

Play Menu Shortcuts

Render Menu Shortcuts

Windows Menu Shortcuts

上一篇 下一篇

猜你喜欢

热点阅读