Unity动画状态的获取和常用判断(逐步完善)

  1. AnimatorStateInfo minfo = m_animator.GetCurrentAnimatorStateInfo(0);

其中参数0代表Base Layer

GetCurrentAnimatorStateInfo(0)即是获取当前动画控制器当前正在播放的动画状态

  1. stateInfo.fullPathHash==Animator.StringToHash("Base Layer.attack")

stateInfo.fullPathHash即是当前动画控制器当前正在播放动画的Hash值

Animator.StringToHash("Base Layer.attack") 是Base Layer层下attack动画的Hash值

3.animator.IsInTransition(0)

0参数在该方法中代表动画控制器当前是否处于动画过渡状态(过渡状态:当前播放动画的结尾和下一个动画开头的混合状态,时间一般在零点几秒)

Unity动画状态机是一种用于控制游戏对象动画行为的工具。它基于状态机的概念,通过定义不同的状态状态之间的转换来实现动画的播放和切换。 在Unity中,可以通过以下步骤来实现动画状态机: 1. 创建动画状态机:在Unity编辑器中,可以创建一个Animator Controller(动画控制器)作为动画状态机的容器。可以通过右键点击Assets面板,选择Create -> Animator Controller来创建。 2. 添加动画状态:在Animator Controller中,可以添加多个动画状态。每个动画状态代表一个特定的动画片段或动画行为。可以通过拖拽动画片段或者创建新的动画状态来添加。 3. 设置状态之间的转换:在Animator Controller中,可以设置不同状态之间的转换条件。转换条件可以是触发器、布尔值、整数等。当满足转换条件时,Animator会自动切换到下一个状态。 4. 添加过渡动画:在状态之间的转换过程中,可以添加过渡动画来实现平滑的过渡效果。可以设置过渡动画的淡入淡出时间、过渡曲线等参数。 5. 控制动画播放:通过代码或者其他方式,可以控制Animator组件的参数来触发状态之间的转换和动画的播放。例如,可以使用Animator.SetTrigger()方法来触发转换条件。 总结一下,Unity动画状态机通过定义不同的状态状态之间的转换来实现动画的播放和切换。它是一种强大的工具,可以帮助开发者实现复杂的动画逻辑和交互效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦虑的狼堡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值