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

2024-11-08 04:34:52
推荐回答(4个)
回答1:

我做的是窗帘的开和关:
animOpenCurtain=GameObject.Find ("sh").GetComponent();
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)里的参数改改试试。

回答2:


把这个√取消

回答3:

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

回答4:

实现不了,animation默认就是这样