判断动画状态机当前播放的动画。
2018-03-16 21:08
337 查看
Animator thisAni;//自身的动画控制器
private void Awake()
{
//获取自身的动画控制器
thisAni = this.GetComponent<Animator>();
}
float speed = 0;
public int tempNumber = 0;
private void Update()
{
if (Input.GetKey(KeyCode.W))
{
speed += Time.deltaTime * 0.1f;
thisAni.SetFloat("speed", speed);
speed = Mathf.Clamp01(speed);
}
////设置索引图层的权重
//thisAni.SetLayerWeight(2, 1);
//AnimatorStateInfo 动画层状态信息类
//GetCurrentAnimatorStateInfo 获取动画控制器中指定层的状态信息
AnimatorStateInfo info = thisAni.GetCurrentAnimatorStateInfo(0);
//获取当前动画状态的哈希值
tempNumber = info.shortNameHash;
//这句代码只是将字符串转换成哈希值 其他没什么卵用
print(Animator.StringToHash("Blend Tree"));
//判断当前状态是否为跑
print("当前状态:" + Animator.StringToHash("Run").Equals(tempNumber));
}
private void Awake()
{
//获取自身的动画控制器
thisAni = this.GetComponent<Animator>();
}
float speed = 0;
public int tempNumber = 0;
private void Update()
{
if (Input.GetKey(KeyCode.W))
{
speed += Time.deltaTime * 0.1f;
thisAni.SetFloat("speed", speed);
speed = Mathf.Clamp01(speed);
}
////设置索引图层的权重
//thisAni.SetLayerWeight(2, 1);
//AnimatorStateInfo 动画层状态信息类
//GetCurrentAnimatorStateInfo 获取动画控制器中指定层的状态信息
AnimatorStateInfo info = thisAni.GetCurrentAnimatorStateInfo(0);
//获取当前动画状态的哈希值
tempNumber = info.shortNameHash;
//这句代码只是将字符串转换成哈希值 其他没什么卵用
print(Animator.StringToHash("Blend Tree"));
//判断当前状态是否为跑
print("当前状态:" + Animator.StringToHash("Run").Equals(tempNumber));
}
相关文章推荐
- unity中判断当前播放的动画是不是指定的动画
- 判断当前播放的动画是哪个
- 判断动画中动作播放完毕的方法
- 获取当前播放Animator的动画Name
- Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
- 关于Unity中如何判断一个动画播放结束
- Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
- unity手游开发--如何得到当前物体播放的动画
- Unity判断Animator动画是否播放完毕
- unity Animator 怎么判断一个动画播放结束
- Android学习之路------自定义屏保程序判断当前系统有视频正在播放
- unity3d 如何得到当前物体播放的动画
- [UE4]状态机,实现动画播放
- unity如何判断动画是否播放完毕
- 判断一个物体播放没播放“Play”动画
- unity3d 如何得到当前物体播放的动画
- 判断正在播放哪一个动画
- unity 判断动画是否播放完成
- UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
- 关于Unity5版本动画系统中anystate跳转重复播放当前动画解决方案