unity 我的动画总是只播放第一帧无限卡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 我的动画总是只播放第一帧无限卡相关的知识,希望对你有一定的参考价值。

我在更新函数中用的IF语句,设置的血条等于0时播放死亡动画,但是在运行中只会卡在一个动作..动画我检查过了没问题

因为你在Update中判断了HP == 0这个状态,只要HP为0,这个Die()方法就一直在调用。所以动画就一直在Play("die");
这个判断写在一帧的方法里,写在受伤判断里,只调用一次。
参考技术A 既然是用于自身的脚本为什么还要用GameObject.Find?
直接this.gameobject.SendMessage或者直接调用Die方法效率不更高?
void Die()

if(!animation.IsPlaying("die"))

animation.Play("die");

追问

因为它是挂在一个盒子上的角色,否则碰撞不好调整……主要是现在总是卡动画

追答

确保你播放该动画的时候 不会有播放其他动画的操作。
不然在不同动画中切换肯定会卡动画的啊

本回答被提问者采纳

unity Animator 怎么判断一个动画播放结束

参考技术A 第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了?
第二种方法:试试animator上面那个 exit time
第三种方法:
//获取动画层 0 指Base Layer.
AnimatorStateInfo stateinfo = animator.GetCurrentAnimatorStateInfo(0);
//如果正在播放walk动画.
if(stateinfo.IsName("Base Layer.walk"))

本回答被提问者采纳

以上是关于unity 我的动画总是只播放第一帧无限卡的主要内容,如果未能解决你的问题,请参考以下文章

按钮单击时的 Unity 动画返回空闲动画

如果输入是垃圾邮件,Unity动画属性将保持禁用状态

unity Animator 怎么判断一个动画播放结束

unity Animator 怎么判断一个动画播放结束

unity Animator 怎么判断一个动画播放结束

能够播放gif动画的ImageView