Unity动画状态机学习笔记

纯步骤学习,最终完成一个人物动画——按数字1、2、3、4键换动作;WASD键控制前后行走与左右偏移;shift键控制人物奔跑;空格键实现跳跃。
在这里插入图片描述

一、建平面,拖人物模型、建状态机、动画导入、拖组件——实现Game时人物动画为等待状态。

人物模型为Unity资源商店里unity-chan!
在这里插入图片描述
在这里插入图片描述

动画层级Animation Layers :如果一个角色要播放移动射击动作,上下身的动作是需要分离的,因此需要用不同的动画层来控制不同身体部位的动作。
Weight:权重。当前动画层级播放的动画对角色动作的影响程度。
Mask:遮罩。来屏蔽部分肢体的动画效果。
Sync:同步。
Timing:时间配置。
IK Pass:逆向运动学传递。;
动画参数 Animation Parameters :动画参数是一系列在动画系统中定义的变量,也可以通过脚本进行访问和赋值。
参数值的四种类型:
Float:浮点型
Int:整数
Bool:返回布尔值,通过复选框来选择true或flase
Trigger:触发一个布尔值,复位控制器消耗一个转变,由一个圆按钮表示。
动画状态 Animation States(点状态机里的动画) :Motion:当前状态下的动画片段
Speed:默认速度
Normalized Time:实现动画播放结束的获取
Mirror:镜像开关。仅对人形动画有效。
Cycle Offset:循环偏移量。
Foot IK:是否对足部使用逆向运动学,仅对人形动画有效。
Write Defaults:动画状态是否写回默认值。动画终止时会覆盖起始状态。
Transitions:由当前状态出发的过渡条件列表。

二、拖WAIT01、WAIT02、WAIT03、WAIT04——实现按数字1切换动作1,按数字2切换动作2,按数字3切换动作3,按数字4切换动作4。

在这里插入图片描述 if (Input.GetKeyDown("1")) { anim.Play("WAIT01", -1, 0f); } if (Input.GetKeyDown("2")) { anim.Play("WAIT02", -1, 0f); } if (Input.GetKeyDown("3")) { anim.Play("WAIT03", -1, 0f); } if (Input.GetKeyDown("4")) { anim.Play("WAIT04", -1, 0f); }

动画过渡 Animation Transitions(点箭头) :动画过渡是指由一个动画状态过渡到另一个动画状态。(选择状态机里的箭头时出现)
动画过渡不仅定义了状态之间的混合需要多长的时间,而且定义了它们应该在什么条件下激活。只有当某些条件为真时,才能设置转换。
加两个箭头表示有两个过渡条件,每个过渡条件是或的关系,两个条件满足一个,就可以实现转换。但是每个过渡条件的参数是且的关系,必须全部同时满足,动画才可以过渡。
Has Exit Time:是否启用退出时间。启用后,当前动画播放完才能进入下一个动画。
Setting:设置过度的时间、偏移量等
Conditions:当动画参数符合相应条件时,触发动画过渡。(动画与脚本交互的关键)。

三、建混合树run、walk、加入跳的动作——实现按WASD键让角色前进后退,并能左右偏移,Shift键跑,空格键跳跃。

混合树:混合树是对两个或多个动画进行混合。
例:角色在跑步时,向左偏移或向右偏移。
动画过渡与动画混合的区别:
(1)动画过渡:在一段给定的时间内完成由一个动作状态向另一个动画状态的平滑过渡。走→跑
(2)动画混合:通过插值技术实现同时对多个动画片段的混合,每个动作对结果的影响取决于权重。

  1. 建参数inputH、inputV(float);run、jump(bool) :
    在这里插入图片描述

  2. 建混合树run、walk :
    2D混合 :通过两个参数来控制子动画的混合。
    walk1D混合 :-1为向左偏移,0为向前跑,1为向

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值