在预览中 Unity 动画正常播放,但在游戏运行时却无法播放。

8
我为一款剑类游戏对象制作了一个简单的动画,让它在玩家角色静止时不断缓慢地上下移动。
我的剑有一个附加的 Animator 组件: see here Animator 控制器也非常简单,这个动画被附加到我的默认状态: see here 在动画窗口的预览模式下,动画可以正常播放。但当我运行游戏时,动画根本没有播放,剑仍然静止不动。
这个问题的原因是什么?

你是如何试图调用动画的? - Aizen
@Aizen 我将我的动画(IdleSword)放在了Animator Controller的默认状态中。这不是意味着它会自动调用吗?尽管如此,我已经尝试从脚本中手动调用该动画,使用GetComponent<Animator>().Play("IdleSword"),但仍然没有任何反应。 - Blaperile
也许我错了,但我认为要直接调用 GetComponent<Animator>().Play("IdleSword"),你需要从任意状态到IdleSword进行转换。 - Ricardo Reiter
您的IdleSword市场要循环播放吗?动画属性中有一个复选框。 - Ricardo Reiter
@RicardoReiter 是的,它被标记为循环。我尝试从任何状态添加到IdleSword的转换,但没有什么变化。我的动画控制器显示该状态正在运行(它下面的蓝色进度条),但动画本身并没有播放。 - Blaperile
剑对象上附有一些脚本吗? - Ricardo Reiter
2个回答

6
我最终解决了这个问题。原来,我只需要在我的动画控制器上关闭“应用根运动”就可以使其正常工作。

那对我也有帮助,但这是违反逻辑的。为什么它能起作用? - Skyblade
对我来说恰恰相反,如果这有助于理解那里发生了什么... - Timbo

2
如果您正在 Android 设备上进行测试,我建议您前往“构建设置”>“播放器设置”>“其他设置”>取消选中“静态批处理”。构建并在手机上部署 apk。现在动画应该可以平稳运行了,原始答案翻译成“最初的回答”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接