首页 > 解决方案 > 如何从脚本将动画“LoopTime”设置为 false (Unity 2020.1.15f1)

问题描述

我花了很多时间试图找到任何解决方案,但我发现的所有东西似乎都是针对旧版本的?基本上我想将 AnimationClip.LoopTime 从真设置为假,反之亦然。

检查器的小图片显示 AnimationClip.LoopTime

我想让这个对象完成当前正在运行的动画循环。GameObjects Animator.ApplyRootMotion=true 让动画发生在当前对象位置。

如果我只是将 Animator 设置为 enabled=false 就像在某些帖子中建议的那样,动画当然会立即停止,从而使对象离开位置。

我通过 myAnimator.GetCurrentAnimatorClipInfo(0)[0].clip.isLooping 获得所需的信息,但这并不能让我设置它......

不知何故,必须可以设置 looping=false 并避免使用 Animator 创建额外的复杂过渡或其他东西?

非常感谢任何帮助/提示!

标签: c#unity3d

解决方案


在动画结束时放置一个事件,这将调用脚本中的函数。该功能可以禁用Animator或停止动画,具体取决于您进一步启用的需要。

在此处输入图像描述


推荐阅读