Unity3d 如何为脚本中的动画片段设置循环

Unity3d 如何为脚本中的动画片段设置循环,unity3d,animation,Unity3d,Animation,当我在脚本中创建动画片段时,默认情况下它似乎被设置为“不循环”,并且我找不到在哪里更改它 我用 Debug.Log("Input "+InputAnimation.isLooping + ", " + InputAnimation.wrapMode); Debug.Log("Copy " + Animation_Copy.isLooping+", "+ Animation_Copy.wrapMode); 跟踪我的新动画剪辑的循环状态,它从复制返回false,从输入返回true 我试

当我在脚本中创建动画片段时,默认情况下它似乎被设置为“不循环”,并且我找不到在哪里更改它

我用

   Debug.Log("Input "+InputAnimation.isLooping + ", " + InputAnimation.wrapMode);
   Debug.Log("Copy " + Animation_Copy.isLooping+", "+ Animation_Copy.wrapMode);
跟踪我的新动画剪辑的循环状态,它从复制返回false,从输入返回true

我试图设置wrapmode,但它似乎只适用于传统剪辑(这是两种动画的默认设置)

我检查了这个代码示例,没有发现他在哪里设置了循环模式

这是我的密码

void CopyAnimationClip()
{
动画_Copy.ClearCurves();
对于(int i=0;i
使用
=


不要与中存在的同名旧变量混淆。

各位对此问题感兴趣的朋友: 我找到了解决这个问题的办法 在animator控制器中,添加从要循环的状态到自身的过渡,然后覆盖的动画片段将在循环中播放。然而,我还没有找到像如何打乒乓球这样的东西,但现在这已经解决了我的问题

1.打开animator控制器(使用动画统计图打开该窗口)

2.右键单击要循环的动画状态

3.在下拉菜单中,选择“进行过渡”,然后单击动画本身


您应该会看到一个指向动画统计的三角形,这意味着它将在完成后自动播放。所以你得到了一个循环动画。如果要制作复杂的动画,您可能需要一些脚本来中断循环并重定向到其他地方。

在我看来,您必须转到Inspector中的动画导入设置

有导入动画和包裹模式。设置为循环


我不认为他会在你的链接中这样做。。。他在运行时创建的一个动画没有循环。。。唯一一个循环的是他之前已经创建的循环。。。但好问题。。似乎没有设置器。我试图设置它的wrapmode,但它没有显示任何区别,并且根据API,它被称为“仅用于旧版AnimationClip”。动画覆盖控制器无法获取旧版动画剪辑。@Ice.Rain请注意,这是动画中的
wrapmode
。不是
AnimationClip
中的那个。但据我所知,动画是一个遗留组件,暂时没有更新,animator是播放动画的较新组件,只有animator(只接受AnimationClip)可以支持精灵动画。因为AnimationClip类上有一个isLooping getter。为什么要一个二传手这么难?