C# 动画将不会返回到起始位置:

C# 动画将不会返回到起始位置:,c#,animation,unity3d,C#,Animation,Unity3d,我有一张光盘上的动画。当接触到这个圆盘时,它会旋转。如果触摸另一个按钮以实现不同功能,则会隐藏光盘。动画是否完成。在其他一些功能完成后,光盘可能会再次可见……但它不在起始位置,而是在我相信它隐藏时所在的位置 这就是我所说的动画- GameObject.Find("disc").GetComponent<coinSpin>().coinSpinNOW() 这就是我在再次访问之前试图使光盘处于起始位置的原因 GameObject.Find("disc").GetComponent<

我有一张光盘上的动画。当接触到这个圆盘时,它会旋转。如果触摸另一个按钮以实现不同功能,则会隐藏光盘。动画是否完成。在其他一些功能完成后,光盘可能会再次可见……但它不在起始位置,而是在我相信它隐藏时所在的位置

这就是我所说的动画-

GameObject.Find("disc").GetComponent<coinSpin>().coinSpinNOW()
这就是我在再次访问之前试图使光盘处于起始位置的原因

GameObject.Find("disc").GetComponent<coinSpin>().stopAnim();

public void stopAnim()
{
    animation["Take 001"].time = 0;
    gameObject.SampleAnimation(animation.clip, 0);
    animation.Rewind("Take 001");

}
GameObject.Find(“disc”).GetComponent().stopAnim();
公共空间停止动画()
{
动画[“拍摄001”]。时间=0;
gameObject.SampleAnimation(animation.clip,0);
动画。倒带(“拍摄001”);
}

但它不起作用。你可以看到我尝试了一些不同的东西。如何执行此操作???

动画。使用的剪辑将返回动画组件的默认动画剪辑。您似乎想使用Take 001动画剪辑。然后您应该更改SampleAnimation方法的第一个参数,如下所示

gameObject.SampleAnimation(animation["Take 001"].clip, 0);

请用您的具体问题更新您的标题。。我的功能设置正确吗?把它改成你的代码?然后去掉那个函数中的其他代码?Rest代码看起来不错。尝试更改SampleAnimation的参数。好的,我今晚会尝试,并让您知道。Dish,它不起作用。但不确定我是否在正确的时间打电话。什么时候该叫这个?嗯,当我再次阅读你的问题时,我的想法改变了。隐藏光盘时调用animation.Stop()。此调用不仅会停止动画,而且还会重新播放动画。然后在再次播放光盘时调用Play()。
gameObject.SampleAnimation(animation["Take 001"].clip, 0);