如何在 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的东西,看起来很整洁,因为它是能够检测动画元素的位置,看看循环回到开头时是否会出现闪烁。
在 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的东西,看起来很整洁,因为它是能够检测动画元素的位置,看看循环回到开头时是否会出现闪烁。