【unity游戏开发入门到精通——动画篇】Animator动画分层和遮罩

一、动画分层和遮罩的作用?

  • 上下半身播放两个动画进行组合,比如上半身扔炸弹,下半身待机移动蹲下
  • 快速制作正常状态和受伤状态的动作切换
  • 动画混合,2D人物移动和受击闪白一起播放,不冲突

二、动画层参数

在这里插入图片描述

Weight 权重

当动画同时播放时,如果选择的是叠加状态,会根据权重决定叠加的比例

Mask 动画遮罩

该层动画全部都会受该遮罩的影响,可以在创建遮罩文件并赋值给这个参数。
在这里插入图片描述
遮罩文件可以设置不受影响的区域,动画播的时候不收影响的区域就没效果。这个和模型文件的Animation页签下的选项效果一样,不过只影响这一层。
在这里插入图片描述

Blending 混合方式

在这里插入图片描述

  • Override:覆盖方式,播放该层动画时忽略其他层信息
  • Additive:叠加方式,会和其它层动画叠加播放

Sync 是否同步其它层

在这里插入图片描述
主要用于直接从另一个层复制状态过来,在该层中进行修改。

适用于比如正常状态下有待机走路跑步等等动作,但是受伤状态下动作会改变,可以利用同步层方便我们进行编辑。

选择后会多一个Source Layer表示你要复制哪一层的状态,比如直接复制普通层1,修改上面的动画选项为蹲下的待机和走路,这样调大这一层的权重就会播放蹲下的待机和走路。
在这里插入图片描述

Timing 源层

当选中Sync同步其它层时,该参数激活
选中,会采用折中方案调整同步层上的动画时长(基于权重计算)
不选中,动画时长将使用原始层做为母版

IK Pass IK处理

反向动力学,详细介绍参考:【unity游戏开发入门到精通——动画篇】Animator反向动力学(IK)

在该层中设置状态机

注意:结合遮罩使用时默认状态一般为Null状态,空动画不会关联任何动画剪辑
在这里插入图片描述
可以创建新的空状态作为一层的默认播放动画,这样就算该层有权重也不会有任何影响

三、动画层权重代码控制

Animator.SetLayerWeight方法 设置动画层权重

//Animator中的设置动画层权重GetLayerIndex方法
animator.SetLayerWeight(animator.GetLayerIndex("MyLayer2"), 1);

// 表示设置动画第二个图层的权重为1
ani.SetLayerWeight(1, 1);

四、实战

  • 新建动画图层
    在这里插入图片描述

  • 新图层拖入一个说话动画
    在这里插入图片描述

  • 覆盖混合
    如果不设置权重,新图层是不会有效果的,如果我设置权重为0.5,说话动画就会执行一半,类似前面的混合动画,属于是站不好好站,说话说一半
    在这里插入图片描述
    在这里插入图片描述
    如果把权重设置为1,则新图层的动画完全会覆盖旧图层的动画,即使我们跑起来而也不会有跑起来的动画效果(默认新图层会覆盖旧图层)。

  • 图层遮罩
    那如果要实现新图层只控制手的效果,要怎么做呢?这时候就需要用到图层的遮罩效果了
    在这里插入图片描述

  • 新建遮罩
    在这里插入图片描述
    点开遮罩->人形,绿色表示那个地方需要播放动画,点击人形的附近会实现人形位置的全选和全不选
    在这里插入图片描述

  • 我们现在把手臂加进去即可;意思是我们只让他的手臂做动画。只有手臂的权重是1,红色的不影响还是走旧的图层
    在这里插入图片描述

  • 新图层选择我们新的遮罩
    在这里插入图片描述

  • 运行跑起来的效果,边跑边摆手
    在这里插入图片描述

结果:图层也可以像子状态机一样;比如人物拿枪有一套动画,拿刀有一套动画,就可以创建两个图层,把不同的动画放到不同的图层里,通过修改权重为1,实现不同武器的切换,动画也进行切换。


专栏推荐

地址
【零基础入门unity游戏开发——C#篇】
【零基础入门unity游戏开发——unity通用篇】
【零基础入门unity游戏开发——unity3D篇】
【零基础入门unity游戏开发——unity2D篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述