如何在 Unity 中循环播放部分动画

How to loop part of an animation in Unity

在 Unity 中仅循环动画的一部分的最佳解决方案是什么?

我能找到的最好的是 Animation CrossFade ,所以如果我有一个 3 分钟的动画并且我只想在 0:30 和 1:00 期间循环,代码是 :

void Start() {
        anim = GetComponent<Animation>();
}
void Foo() {
        anim["Take_01"].time = 30.0;
        anim.CrossFade("Take_01",30.0, PlayMode.StopSameLayer);
}

我不知道这个解决方案是否适合你想做的事情,因为我自己从未经历过,但似乎有一个叫做Animation Clips that you can use to loop in an animation的东西,看起来很整洁,因为它是能够检测动画元素的位置,看看循环回到开头时是否会出现闪烁。