Unity3D动画播放完毕后,为什么物体状体会默认回到之前的状态
例如我做了个开门动画,但是每次播放完后,门的状态会自动回到关闭状态,怎么才能让门定在开门动画最后一帧的状态?...
例如我做了个开门动画,但是每次播放完后,门的状态会自动回到关闭状态,怎么才能让门定在开门动画最后一帧的状态?
展开
4个回答
展开全部
我做的是窗帘的开和关:
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)里的参数改改试试。
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)里的参数改改试试。
展开全部
在Unity3D中,当动画播放完毕后,物体形态会默认回到之前的状态,主要原因是动画建立时记录了原来物体的变换信息(如位移、旋转和缩放等)。当动画结束后,这些变换信息会作为动画的一部分被应用回物体,从而使其复原到原始状态。
以上内容仅供参考,可以咨询计算机专业人士或者查阅专业书籍获取更全面准确的信息。
以上内容仅供参考,可以咨询计算机专业人士或者查阅专业书籍获取更全面准确的信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现不了,animation默认就是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询