【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)

推荐阅读

  • CSDN主页
  • GitHub开源地址
  • Unity3D插件分享
  • 简书地址
  • 我的个人博客
  • QQ群:1040082875

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

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

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

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

AnyPortrait关键特性:

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

先放一张效果图:

下载链接:
https://download.csdn.net/download/q764424567/22332223

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

二、教程分享

本教程基于插件包中的PSD文件。

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

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

2-1、导入PSD文件

让我们新建一个场景,保存场景后,在菜单栏选择“Windows→AnyPortrait→2D Editor”,点击新建肖像,命名为PeacockTheAria:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第1张图片
按下 导入PSD文件 按钮导入新的PSD文件:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第2张图片
确保文件正常打开,然后单击Next按钮:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第3张图片
进入第二个页面,“图层”页面,加载的图层图像就会出现,接着就选择文件层:【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第4张图片
接下来,需要将PSD文件里面的若干图片制作成资源:

【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第5张图片
设置完地图集Atlas后,点击Complete按钮:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第6张图片
可以看到所有的图像、网格和网格组都是自动创建的:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第7张图片
使用PSD文件,自动创建网格和网格组,非常方便。

2-2、编辑骨骼动画的网格

因为自动创建的网格比较粗糙,所以需要优化一下网格。

选中要优化的网格,删除所有顶点:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第8张图片
接着,就重新设置网格:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第9张图片
重复上面操作,重新设置所有的网格:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第10张图片

2-3、剪切层

打开网格组后,可以在层级列表看到一个箭头形状的图标,Teeth和Tongue,如果选择这两个网格,可以看到网格只渲染了一部分,这是因为Teeth和Tongue具有剪切层属性:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第11张图片
下面的图片演示了剪切层属性的效果,可以看到图片的隐藏部分:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第12张图片
剪切功能是通过指定另一个网格作为蒙版来渲染网格的一部分。
主要用于眼睛、嘴巴等部位。

但是,请注意以下几点:

  1. 剪辑功能导致过程变慢,所以它减慢了Game。只在必要的部分使用。
  2. 如果你创建并使用一个自定义着色器,你还必须编写与剪辑功能相关的代码。

2-4、添加骨骼

AnyPortrait支持骨骼IK(逆运动学)和支持骨骼插槽。

接下来,就演示如何为骨骼动画添加骨骼:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第13张图片
在身体重心位置添加一块骨骼,方向不是很重要:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第14张图片
修改这个骨骼的名字和形状:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第15张图片
继续添加骨骼,命名为Bone Spine 1:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第16张图片
继续添加骨骼,命名为Bone Spine 2,颜色和大小跟上一根骨骼相似:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第17张图片
给角色的帽子耳朵上也添加一块骨头:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第18张图片
重复上面的步骤,创建下面图片设置的骨骼样式:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第19张图片
接下来需要将骨骼都连接到一起,这样就可以像真人一样移动:

【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第20张图片
这样,Bone Spine 1就成了Bone Pelvie的子对象了。

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

【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第21张图片

2-5、使用绑定修改器

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

【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第22张图片
在上面左图中,所有顶点的权重都是1:0.0,因此它不依赖于绿色的骨骼移动。

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

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

下面,就添加一个绑定修改器:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第23张图片
将Hood网格的顶点添加到绑定修改器:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第24张图片
点击左下角的开始绑定按钮,开始绑定顶点和骨骼,选择所有顶点,然后选择Bone Head骨骼:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第25张图片
设置顶点的权重:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第26张图片

2-6、创建动画片段

接着添加一个与动画关联的修饰符:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第27张图片
在左边菜单选择添加动画剪辑,然后设置动画的名字,然后选择网格组PeacockTheAria:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第28张图片

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

动画片段属性:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第29张图片

  1. 动画剪辑和网格组的名称
  2. 动画剪辑的开始和结束帧
  3. 是否循环
  4. 每秒帧数
  5. 动画事件
  6. 导出/导入动画文件

2-7、添加时间

要创建关键帧动画,必须向动画剪辑添加时间轴:

【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第30张图片
添加了变换(动画)时间轴:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第31张图片
接下来,给时间轴动画添加一个骨骼:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第32张图片
点击开始编辑,在关键位置添加关键帧:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第33张图片
当打开编辑模式并选择关键帧时,你可以变换对象。这个状态记录在关键帧中。

接下来,在生成的关键帧中,移动选定的骨骼并记录它:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第34张图片

播放动画:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第35张图片

2-8、动画曲线设置

插值是理解关键帧动画时最重要的原则。

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

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

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

选择一个关键帧,设置动画曲线:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第36张图片
设置动画曲线:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第37张图片

2-9、创建骨骼动画

接下来,就根据上面的内容,做一个骨骼动画。

创建一个新的动画剪辑之间,先删除之间创建的动画关键帧:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第38张图片
选择所有的骨骼并将它们加入到时间轴是很麻烦,可以将所有骨骼一次性添加到时间轴:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第39张图片
所有骨头都在时间线上了:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第40张图片
设置动画循环:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第41张图片
如果在一帧动画中有多个时间轴,这设置起来很麻烦,这时候就可以使用 将关键帧添加到所有层, 批量创建关键帧:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第42张图片
移动时间滑动到生成的关键帧所有位置,打开编辑模式,制作动画。

动画制作完成后,需要将动画移动到场景中,先设置根目录:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第43张图片
设置根节点后,选择动画,并播放动画,就可以看到设置后的动画了:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第44张图片
点击烘焙,将动画烘焙到场景中:
【Unity3D插件】(二)使用AnyPortrait插件制作角色动画(AnyPortrait插件教程)_第45张图片
运行程序,就可以看到设置的动画了。

三、后言

可以看出来AnyPortrait插件还是很强大的。

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

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

你可能感兴趣的:(#,Unity3D插件,动画,自动驾驶,unity,插件)