如何在Unity中实现角色的表情动画

如何在Unity中实现角色的表情动画,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司自2013年起,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元张家港做网站,已为上家服务,为张家港各地企业和个人服务,联系电话:13518219792

前段时间研究3D智能语音助手的时候,顺路研究了Unity中的角色表情,现在把实现方式分享给大家。

软件准备

本人当时做研究的时候使用的是以下软件:

FaceGen Modeller:用来制作角色头部模型的小工具,并且可以捏脸、制作各种表情,使用起来也很简单。

Maya:这个大家都很熟,就不用介绍了,主要用来制作Blend Shape(下面会讲)。

Unity:这个也不用多说了,最后就是在Unity中实现的效果。

实现逻辑

上边说到使用Maya主要用于制作Blend Shape,那么什么是Blend Shape呢?

Blend Shape是通过一个模型驱动另外一个模型,使顶点产生线性插值位移的动画,在其他游戏引擎中也被称为Morph Target。比如角色的表情动画是通过一系列不同表情的模型来驱动一个正常状态的模型,从而产生了表情动画,逻辑结构如下图:

如何在Unity中实现角色的表情动画

需要注意的是:所有的表情模型一定要基于同一个模型进行的制作。

模型制作流程

首先,在FaceGen Modeller中导出一个正常状态的头部模型,然后再导出一系列其它表情的头部模型(注意命好名字,不然会乱)。

模型准备好之后全部导入Maya,下面是我使用到的一部分模型(为了方便查看,特意将模型排开了),大家可以看到各种表情的模型都有。

如何在Unity中实现角色的表情动画  
表情模型

然后就是制作Blend Shape,先选中所有带表情的模型,最后选择正常状态的模型,点击菜单变形 > 融合变形 后的设置按钮弹出菜单。

如何在Unity中实现角色的表情动画

在弹窗中设置好名称,其他设置默认就好。

如何在Unity中实现角色的表情动画  
设置弹窗

创建完Blend Shape之后,还可以继续查看这些表情,点击窗口 > 动画编辑器 > 形变编辑器,打开弹窗。

如何在Unity中实现角色的表情动画

在弹出的窗口中可以看到我们设置的所有表情模型,显示的名称就是模型在大纲中的名称,如果名称很乱,还可以在这个弹窗中继续修改。

拖动不同表情的权重/驱动者,就可以预览到模型的表情效果了。

如何在Unity中实现角色的表情动画  
Blend Shape弹窗

检查过效果没有问题之后,就可以导出模型了。模型记住要导出fbx格式,并且导出的时候要确认Blend Shape对勾是选中状态。

导入Unity

导入Unity之后,如果模型中有Blend Shape信息,模型设置里会自动勾选Import Blend Shape。

如何在Unity中实现角色的表情动画

把模型拖到场景中,在属性设置面板会看到多出来一栏Skinned Mesh Rendered,下面Blend Shape中的设置都是我们的表情。

如何在Unity中实现角色的表情动画  
表情设置

我们可以手动拖动滑动条测试效果,后续就需要写脚本控制这些表情动画了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章标题:如何在Unity中实现角色的表情动画
网站地址:http://azwzsj.com/article/jcogdj.html