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)里的参数改改试试。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-29


把这个√取消

第2个回答  2023-09-23
在Unity3D中,当动画播放完毕后,物体形态会默认回到之前的状态,主要原因是动画建立时记录了原来物体的变换信息(如位移、旋转和缩放等)。当动画结束后,这些变换信息会作为动画的一部分被应用回物体,从而使其复原到原始状态。
以上内容仅供参考,可以咨询计算机专业人士或者查阅专业书籍获取更全面准确的信息。
第3个回答  2016-03-04
实现不了,animation默认就是这样