anime.js 图片位移动画_在Unity中实现角色的表情动画

v2-0d19ae7ba283150c4bac732f0c2ecb64_1440w.jpg?source=172ae18b

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

软件准备

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

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

FaceGen Modeller​facegen.com
v2-e753f6ff9cb8dc210d15b1c3ef5fa0ca_ipico.jpg

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

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

实现逻辑

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

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

v2-1db0dc3fb5e1c68d072b2879ec2ba12b_b.jpg

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

模型制作流程

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

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

v2-1b340553d67e6956c2ea281129810441_b.jpg
表情模型

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

v2-0635281f39e87383b9e89eb117e6baa0_b.jpg

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

v2-02255f30627e66804063911590b4e4e8_b.jpg
设置弹窗

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

v2-76b0a827d0fd6f0d2f31fc4bf60163bd_b.jpg

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

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

v2-215219223660026e1eb27a99f9d3be74_b.jpg
Blend Shape弹窗

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

导入Unity

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

v2-004dbe92e0d8f9a520437e45fc174c7e_b.jpg

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

v2-592d6c37a4527e61ca53f879f1b296c7_b.jpg
表情设置

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

测试效果

v2-2da946db696b9b8b52b113e8a2141340.jpg
Unity Blend Shapehttps://www.zhihu.com/video/1191483262818844672
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值