先获取Animator 组件,该组件中有个方法Play("动画名");在外面套上一个 if 判断,判断按钮是否被点击。就OK了,如果你用的是过渡动画的话,在这个地方添加过渡条件就行了,
添加过渡条件之后依然要先获取Animator组件,然后setBool("条件名",true)。当然还有一些方法可以使用,希望以上的这两个方法可以帮到你
第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了?
如图,找到动画的inspector面板,在里面有个Events下拉条,下拉后在想要的帧的位置添加事件函数,函数名字记得在使用这个动画的物体的脚本里面写好,否则会报错
第二种方法:试试animator上面那个 exit time
第三种方法:
//获取动画层 0 指Base Layer
AnimatorStateInfo stateinfo = animatorGetCurrentAnimatorStateInfo(0);
//如果正在播放walk动画
if(stateinfoIsName("Base Layerwalk"))
{
}
你需要获取当前animator所处在的动画状态,即使它处于idel状态也应当播放idel动画,你可以获取当前动画控制器处于哪个动画状态,正在播放哪些动画剪辑
Animator anim;
AnimationInfo[] AnimationInfoArr;
void GetCurrentAnimationName()
{
anim=GetComponent<Animator>();
AnimationInfoArr=animGetCurrentAnimationClipState(0);
foreach(AnimationInfo a in AnimationInfoArr)
{
DebugLog( aclipname);
}
}
以上就是关于unity3d 动画播放全部的内容,包括:unity3d 动画播放、unity Animator 怎么判断一个动画播放结束、unity animator 怎么判断动画正在播放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)