[Unity ]Avatar Mask 动画混合

Unity关于动画,大致分为动画融合动画混合。具体使用到的东西大概就是BlendTree和Avatar Mask前者主要解决类似跑的时候转向这种问题,而后者是用来解决诸如边跑边招手,或者攻击的问题。

这里主要记录一下Avatar Mask的使用心得。

首先先创建Animator Controller,双击打开Animator Controller,添加你所需要的动画,在左侧layer层可以看到默认的是只有一个Base Layer的(layerIndex起始值为0,也就是0层),在这层添加诸如走路这些基础动画。

然后点击layers,点击如图加号,新建一个动画层级。

点开新建的Up Layer,在这层添加你想要混合的动画,比如招手,攻击动画。


好像写到这里还没写Avatar Mask。。。

右键你的Assets文件夹,新建一个Avatar Mask,单击之后在inspector界面可以看到:


首先点开Humanoid,点击下面的模型的各个部位,绿色表示可以执行动画,红色表示不可以。

然后点开Transform,将美术导入的Avatar文件拖至Use skeleton from,然后点击Import skeleton,unity会自动将模型所有的骨骼给导入进来,在这里勾选我们需要参与动画混合的骨骼,比如我们需要招手,那就只勾选手部的骨骼,这里会自动勾选他的子节点。


勾选好之后Ctrl S就好。

然后回到我们的Animator Controller,点击Up layer,也就是上半身动画层,点击那个设置按钮,将我们刚才编辑的Avatar Mask给拖进来。Weight权重设置为1,然后设置Blending为Additive。

设置好触发动画的条件,模型就能边走边招手,边走边打了。



有一点坑的地方:

Blending 方式的设置:Override,混合后的动画会覆盖之前的动画,比如原本正常的走路动画,在播放了招手动画之后,在正常走路不招手的时候,上半身(也就是在avatar mask里面勾选了的骨骼)就不会动了,是因为被覆盖了。

Additive,仅仅是在需要混合的时候,将混合的动画添加进来,原本的动画不会被彻底覆盖。

猜你喜欢

转载自blog.csdn.net/qq302756113/article/details/79458766