Unity 动画系统-Mecanim

2020-10-26 15:50发布

Mecanim 动画系统简介:

Unity 4.0于2012年11月15日正式发布,该版本最大变化之一就是引入了新动画系统——MecAnim,通过MecAnim新的动画系统,开发者可以非常方便地实现角色的各种动画的控制。


Mecanim具有以下特征:


Mecanim动画系统是通过Avatar这个代理来实现设置角色动画中的骨架和蒙皮的。


开发者可以利用角色动画的重定向功能(Retargeting),将其他的任意动画动作绑定到开发者所指定的任何角色模型上,使得被绑定的角色也具有指定的动画功能,从而实现动画动作的可重复利用,极大提高游戏的开发效率。即:Avatar可以识别角色中的骨骼结构、包含的动画,并通过Retargeting操作应用的其他的模型中。


在处理人类角色动画时,开发者可以使用动画状态机来处理各个不同动画之间的过渡和各种逻辑。


可以通过图形界面的方式很方便的来实现,而不必用脚本去一点点实现一些逻辑操作。


我们还可以通过身体遮罩的方法来处理和改变角色身体上不同部位的一些动画行为,而不必修改动画本身资源。


Avatar工作原理


对于人类角色来说,都包含着相同或者类似的骨骼。而Avatar,可以对角色中包含的骨骼结构或者角色模型进行分析与识别,并与Mecanim中已有的标准人类骨骼进行对比,并进行标示。它是一个接口,通过它可以被Mecanim系统所识别,成为一种可被Mecanim系统所识别的通用的骨骼结构,并把一副骨骼的动作指定应用到另一副骨骼中,即实现Retargeting重定向。


创建并配置Avatar


选中人物模型,在Inspector面板中选择Rig(装备)标签

其中,Animation Type(动画类型)属性分4种类型供其选择。

分别是

None(无动画类型)

Legacy(老动画类型)

Generic(一般的,通常的动画类型)

Humanoid(人类的动画类型)。


Avatar的Retargeting重定向


只有在通过Avatar处理过的骨骼(且必须为人类的骨骼)才能再通过Retargeting重定向,即经过Avatar处理过的骨骼具有相同或类似的骨骼结构,这样可以使骨骼(或者说不同的动画片段)在不同的角色中重用或者互用。即A人物的骨骼或者说动画片段可以应用在B人物模型身上(甚至B人物身上可以没有任何动画片段或者有自己的动画片段都没关系)使之具有A人物模型身上的动画行为,反之亦可。

所以,当骨骼经过Avatar处理后,只需要对每个模型添加一个Animator Controller(动画控制器),则在播放游戏时,不同的模型则具有了相同的动画


Avatar肌肉设定

除了正确匹配骨骼位置,还可以通过Muscles(肌肉)属性来微调骨骼的运动范围,从而使骨骼动画更合理协调,避免在骨骼动画中出现身体叠加或者失真的现象。

在Muscle Group Preview(肌肉组合预览)中,可以观察一系列多个不同骨骼组合的共同运动效果。可以点击Reset All(重置所有)按钮来恢复成默认的预览。

而在Per-Muscle Settings(每一个肌肉的设置)中,可以调整身体不同部位的单独骨骼肌肉拉伸范围,并对其微调设置。

如果我们想恢复默认值,则可以点击最下面的Muscles下拉菜单,选择Reset(重置)选项来恢复。也可以在点击Apply应用之前,点击最下面的Revert(重置)按钮恢复。

最后一组设置为Additional Settings(附加设置)。可以微调骨骼的扭曲效果。

最后选择Apply应用,并选择Done(完成)按钮来保存微调设置并回到游戏场景中。




作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/77528265

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。