Unity Mecanim动画系统——人形动画复用(avatar)

文章目录[x]
  1. 1:一、简单介绍
  2. 2:二、实现原理
  3. 3:三、实现步骤

一、简单介绍

Unity动画系统,也称为“Mecanim”,提供了以下功能:

  • 简单的工作流程,设置动画的所有元素,包括对象,角色和属性。
  • 支持导入外部创建的动画片段和使用内置动画编辑器制作的动画片段。
  • 人型动画重新定位,动画角色的运动控制可以被所有的角色模型共享,即角色的外观(SkinedMesh)和运动(Animator)是分离的,它们互相组合之后形成最终的动画。
  • 用于编辑动画状态的的简化工作流程,即动画控制器。
  • 方便预览动画片段,以及片段之间的插值过渡。 这使得动画师可以独立于程序员工作,在不运行游戏的情况下,可以对原型和预览动画进行预览。
  • 管理动画与可视化编程工具之间的复杂交互。
  • 不同的身体部位可以使用不同的动画逻辑控制。
  • 动画的分层和掩蔽功能。

动画重定向,即Animation Retargeting,是一种动画复用的技术。简单来说,重定向技术就是一种在将动画数据从一个骨架拷贝到另外一个骨架的过程,只是这个所谓的“拷贝”过程,没有Ctrl+C、Ctrl+V这么简单,其实现的方式,也会影响到动画应用到另外一个骨架之后的效果。

正是因为Unity提供的动画重定向功能让我们可以在做出一个角色模型的动画后,可以复用在其他角色上而不需要重新制作动画,大大节约了美术制作时间。

本节介绍,一个人形模型的动画给另一个模型使用的的简单方法。

 

二、实现原理

1、导入模型,把 Animation Type 设置为 Humanoid。

2、必要的时候调整下模型 Avatar 的骨骼映射是否符合要求(一般只看看就好,不需要修改)。

3、就可把其他同样 Animation Type 为Humanoid 的动画赋给使用了。

          4、如果动画中包含位移,需要在Animator中勾选Apply Root Motion就可以实现动画带动模型移动了。

三、实现步骤

1、导入模型,设置模型 Animation Type 为 Humanoid,要实现复用必须得是人形动画,并且要复用的动画骨骼设置也是Humaniod才行。

2、点击 Configure... 就可以查看 骨骼配置信息。

3、就可以产看模型的 Avatar 的 Mapping 和 Muscles & Settings 了,一般Unity会自动识别好,如果不是全绿色,需要我们手动指定骨骼,或者查看骨骼是否符合人形骨骼要求(至少15块,并且层级正确)。

4、点击面板的 Done 退出面板,回到 Unity 场景。

5、新建一个 Animator Controller,把动画拖入控制器中。

6、把两个模型的 Animator 都设置为 同一个 动画控制器

7、运行场景,动画此时就被复用到另一个模型上了

点赞

发表回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像(已失效)