本文主要是介绍Unity - Animator Avatar Mask,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unity - Animator Avatar Mask
Avatar Mask允许你丢弃的一些动画数据,只允许某些部位的动画起作用。很经典的例子是一边播Run、Walk、Idle动画时一边挥手。
创建Avatar Mask
像创建脚本、材质的步骤一样。Humanoid里点击设置遮罩的部位,红色为剔除。如果动画没有Humanoid,或者需要控制更多细节,需要使用下面的Transform。
创建好后在Animator的Layers中设置。注意,也可以在运行时创建和设置Avatar Mask,参考:
AnimationLayerMixerPlayable.SetLayerMaskFromAvatarMask
比如我们按上图设置BaseLayer中的AvatarMask,该层的任何动画只会改变两个胳膊的位置:
另一个Layer
所以要实现一边播Run、Walk、Idle动画时一边挥手,我们需要加另外一层Wave Layer,将挥手的动画移到这一层中。即Base Layer播放普通动画,Wave Layer播放遮罩后的挥手动画,然后两者按Layer的Weight混合。
效果:
这篇关于Unity - Animator Avatar Mask的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!