Unity3D插件 AnyPortrait 2D骨骼动画制作

一、前言
AnyPortrait是一个创建2D角色动画制作的Unity拓展编辑器插件。

AnyPortrait提供了很多功能,让你可以在Unity里面就完成动画的制作。

使用AnyPortrait插件轻松创建2D网格,并且实现各种动画技术。

AnyPortrait关键特性:

用户创建的网格
通过解析PSD
自动创建字符顶点变形动画
色彩和变换动画
使用控制参数的组合状态控制
骨操纵动画
基于张力的顶点物理效应关键帧动画
为用户提供备份、数据导出/导入、捕获等多种功能。
支持8种语言(英语、韩语、法语、德语、西班牙语、丹麦语、日语和汉语)
先放一张效果图:

这是本系列文章的第二篇:
【Unity3D插件】(一)使用AnyPortrait插件制作史莱姆动画(AnyPortrait插件教程)
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)

二、教程分享
本教程基于插件包中的PSD文件。

学习如何通过PSD文件创建网格组。

以及如何添加骨骼和创建动画。

2-1、导入PSD文件
让我们新建一个场景,保存场景后,在菜单栏选择“Windows→AnyPortrait→2D Editor”,点击新建肖像,命名为PeacockTheAria:

按下 导入PSD文件 按钮导入新的PSD文件:

确保文件正常打开,然后单击Next按钮:

进入第二个页面,“图层”页面,加载的图层图像就会出现,接着就选择文件层:
接下来,需要将PSD文件里面的若干图片制作成资源:


设置完地图集Atlas后,点击Complete按钮:

可以看到所有的图像、网格和网格组都是自动创建的:

使用PSD文件,自动创建网格和网格组,非常方便。

2-2、编辑骨骼动画的网格
因为自动创建的网格比较粗糙,所以需要优化一下网格。

选中要优化的网格,删除所有顶点:

接着,就重新设置网格:

重复上面操作,重新设置所有的网格:


2-3、剪切层
打开网格组后,可以在层级列表看到一个箭头形状的图标,Teeth和Tongue,如果选择这两个网格,可以看到网格只渲染了一部分,这是因为Teeth和Tongue具有剪切层属性:

下面的图片演示了剪切层属性的效果,可以看到图片的隐藏部分:

剪切功能是通过指定另一个网格作为蒙版来渲染网格的一部分。
主要用于眼睛、嘴巴等部位。

但是,请注意以下几点:

剪辑功能导致过程变慢,所以它减慢了Game。只在必要的部分使用。
如果你创建并使用一个自定义着色器,你还必须编写与剪辑功能相关的代码。
2-4、添加骨骼
AnyPortrait支持骨骼IK(逆运动学)和支持骨骼插槽。

接下来,就演示如何为骨骼动画添加骨骼:

在身体重心位置添加一块骨骼,方向不是很重要:

修改这个骨骼的名字和形状:

继续添加骨骼,命名为Bone Spine 1:

继续添加骨骼,命名为Bone Spine 2,颜色和大小跟上一根骨骼相似:

给角色的帽子耳朵上也添加一块骨头:

重复上面的步骤,创建下面图片设置的骨骼样式:

接下来需要将骨骼都连接到一起,这样就可以像真人一样移动:


这样,Bone Spine 1就成了Bone Pelvie的子对象了。

用同样的方法,连接头和双臂,耳朵等:

2-5、使用绑定修改器
设置完骨骼,就可以使用绑定修改器了,绑定修改器的作用就是连接顶点到网格。在顶点处输入骨骼不同的重量,这样顶点就会跟随骨骼移动。


在上面左图中,所有顶点的权重都是1:0.0,因此它不依赖于绿色的骨骼移动。

右图中,顶点的权重依次递增给绿色骨骼,可以看到绿色骨骼在平滑移动。

也就是说绑定修改器是设置顶点+骨骼的连接权重的过程。

下面,就添加一个绑定修改器:

将Hood网格的顶点添加到绑定修改器:

点击左下角的开始绑定按钮,开始绑定顶点和骨骼,选择所有顶点,然后选择Bone Head骨骼:

设置顶点的权重:


2-6、创建动画片段
接着添加一个与动画关联的修饰符:

在左边菜单选择添加动画剪辑,然后设置动画的名字,然后选择网格组PeacockTheAria:


注意:动画名称用于在游戏过程中播放动画,名称重复或错误无法删除。

动画片段属性:


动画剪辑和网格组的名称
动画剪辑的开始和结束帧
是否循环
每秒帧数
动画事件
导出/导入动画文件
2-7、添加时间
要创建关键帧动画,必须向动画剪辑添加时间轴:


添加了变换(动画)时间轴:

接下来,给时间轴动画添加一个骨骼:

点击开始编辑,在关键位置添加关键帧:

当打开编辑模式并选择关键帧时,你可以变换对象。这个状态记录在关键帧中。

接下来,在生成的关键帧中,移动选定的骨骼并记录它:


播放动画:


2-8、动画曲线设置
插值是理解关键帧动画时最重要的原则。

插值是计算关键帧和关键帧之间的形式的过程。

根据插值方法,即使你有相同的关键帧,动画的结果也可能是不同的。

这一节就介绍动画曲线处理插值方法。

选择一个关键帧,设置动画曲线:

设置动画曲线:


2-9、创建骨骼动画
接下来,就根据上面的内容,做一个骨骼动画。

创建一个新的动画剪辑之间,先删除之间创建的动画关键帧:

选择所有的骨骼并将它们加入到时间轴是很麻烦,可以将所有骨骼一次性添加到时间轴:

所有骨头都在时间线上了:

设置动画循环:

如果在一帧动画中有多个时间轴,这设置起来很麻烦,这时候就可以使用 将关键帧添加到所有层, 批量创建关键帧:

移动时间滑动到生成的关键帧所有位置,打开编辑模式,制作动画。

动画制作完成后,需要将动画移动到场景中,先设置根目录:

设置根节点后,选择动画,并播放动画,就可以看到设置后的动画了:

点击烘焙,将动画烘焙到场景中:

运行程序,就可以看到设置的动画了。

三、后言
可以看出来AnyPortrait插件还是很强大的。

可以做很多的效果跟动画。

但是,如果想要做出精细的动画效果,还需要专业的美工人员去制作。


————————————————
 https://blog.csdn.net/q764424567/article/details/120408847

猜你喜欢

转载自blog.csdn.net/qq_42672770/article/details/125466464