Unity动画系统之Animator-骨骼遮罩

unity里面有时候会用到一些动画重用性的问题,

举个栗子,我们有一个跑步的动画,还有一个打枪的动画,但是我们现在需要一个一边跑步一边打枪的效果,要怎么办呢,这个时候我们可以运用我们的骨骼遮罩系统,它就可以帮助我们很好的完成这一点:

用事实说话:比如我们现在有一个Neutral动画,也就是待机动画

android 加一个遮罩 an如何制作遮罩动画_android 加一个遮罩

这个时候我们想要上半身不动,下半身加一个跑步的动画,

先找一个跑步的动画;

android 加一个遮罩 an如何制作遮罩动画_android 加一个遮罩_02

两个动画有了,我们在看怎么去融和他们,

先拖一个人物到场景中

android 加一个遮罩 an如何制作遮罩动画_状态机_03

创建个Animator文件,然后放到组件上

android 加一个遮罩 an如何制作遮罩动画_状态机_04

android 加一个遮罩 an如何制作遮罩动画_unity_05

之后再点进去这个动画状态机;

此时是没有任何动画的。

android 加一个遮罩 an如何制作遮罩动画_游戏开发_06

先把待机的动画拖进来:

android 加一个遮罩 an如何制作遮罩动画_unity3d_07

然后呢,新建一个层级:

点击这个+号创建出来:

android 加一个遮罩 an如何制作遮罩动画_unity3d_08

给新的层级拖进来跑步的动画

android 加一个遮罩 an如何制作遮罩动画_unity3d_09

这个时候我们运行会发现只是运行了第一个层级动画,我们加的跑步的动画没有动

android 加一个遮罩 an如何制作遮罩动画_游戏开发_10

原因是因为我们没有加上骨骼遮罩:

我们再来创建一个可以遮罩的骨骼:

android 加一个遮罩 an如何制作遮罩动画_状态机_11

创建完成之后展开,会发现这里没有相应的骨骼映射:

android 加一个遮罩 an如何制作遮罩动画_unity3d_12

然后我们吧需要遮罩的骨骼添加相应的映射

android 加一个遮罩 an如何制作遮罩动画_游戏开发_13

然后再我们新建的层级下面添加这个遮罩的骨骼:

android 加一个遮罩 an如何制作遮罩动画_unity_14

android 加一个遮罩 an如何制作遮罩动画_android 加一个遮罩_15

这个时候我们添加上了骨骼

而且,在我们相应的层级下面,会出现一个M字母

android 加一个遮罩 an如何制作遮罩动画_游戏开发_16

我们再点击去我们这个遮罩的骨骼:

android 加一个遮罩 an如何制作遮罩动画_android 加一个遮罩_17

此时身体都是绿色,绿色代表我们可以遮罩的部分,这里因为我们只想用跑步的部分,所以应该把上半身给禁用(需要禁用的地方鼠标点击即可):

android 加一个遮罩 an如何制作遮罩动画_unity_18

然后就差最后一步了,我们需要相应的骨骼遮罩影响多少,就在权重值那里偏向多少,最多为1:

android 加一个遮罩 an如何制作遮罩动画_unity3d_19

然后再点击播放按钮:

这个时候就有我们的效果了。