Unity3D动画播放完毕后,为啥物体状体会默认回到之前的状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D动画播放完毕后,为啥物体状体会默认回到之前的状态相关的知识,希望对你有一定的参考价值。

例如我做了个开门动画,但是每次播放完后,门的状态会自动回到关闭状态,怎么才能让门定在开门动画最后一帧的状态?

我做的是窗帘的开和关:
animOpenCurtain=GameObject.Find ("sh").GetComponent<Animator>();
AnimatorStateInfo animatorinfo = animOpenCurtain.GetCurrentAnimatorStateInfo (0);

if (animatorinfo.normalizedTime > 1)
animOpenCurtain.speed=-1f;

animOpenCurtain.Play ("Open", 0, 1f);
else
animOpenCurtain.speed=1f;
animOpenCurtain.Play ("Open", 0, 0f);


“Open”是状态机的窗帘开的动画;还要把动画循环勾选去掉,用代码控制就行了;
大概思路是这样,不行的话把上面animOpenCurtain.Play ("Open", 0, 0f)里的参数改改试试。
参考技术A


把这个√取消

参考技术B 实现不了,animation默认就是这样

WPF Storyboard 动画播放完毕时触发的事件

 

         /*故事版*/
        Storyboard ClSto2;

        public PopUpWindow()
        {
            /*播放完毕,将当前窗体关闭*/
            ClSto2.Completed += (s, e) => { this.Close(); };
        }

技术分享图片

 

以上是关于Unity3D动画播放完毕后,为啥物体状体会默认回到之前的状态的主要内容,如果未能解决你的问题,请参考以下文章

ue4怎么实现动画蒙太奇播放完后物体出现在动画结束时候位置

unity3d中间获取不在场景中的物体的组件

unity3d用键盘控制物体移动的工具

unity 3d中,Animation clip播放到第一个Animation Event事件就停了下来,为啥?

unity3d 怎么做右键点击

在unity3d里无法移动物体