【问题标题】:Unity Animation Plays In Preview But Not When Playing GameUnity 动画在预览中播放,但在玩游戏时不播放
【发布时间】:2015-12-05 18:41:41
【问题描述】:

我为一个剑游戏对象制作了一个简单的动画,它在玩家角色静止不动的情况下不断缓慢地上下移动。

我的剑附加了一个 Animator 组件:

Animator Controller 也很简单,这个动画被附加到我的默认状态:

动画在动画窗口的预览模式下播放得很好。但是当我运行我的游戏时,动画根本没有播放,剑只是静止不动而不是移动。

这个问题的原因是什么?

【问题讨论】:

  • 你想如何调用动画?
  • @Aizen 我将动画 (IdleSword) 置于 Animator Controller 的默认状态。这不意味着它会自动调用吗?不过,我尝试使用 GetComponent<Animator>().Play("IdleSword") 从脚本手动调用动画,但它也没有执行任何操作。
  • 也许我错了,但我认为直接调用GetComponent<Animator>().Play("IdleSword"),需要从Any State 过渡到IdleSword。
  • 您的 IdleSword 适合循环播放?动画属性中有一个复选框。
  • @RicardoReiter 是的,它被标记为循环。我只是尝试添加从 Any State 到 IdleSword 的转换,但没有任何区别。我的 Animator Controller 确实显示状态正在运行(它下方的蓝色进度条),但动画本身没有播放。

标签: animation unity3d animator unity3d-mecanim


【解决方案1】:

我终于解决了这个问题。事实证明,我需要做的就是关闭我的 Animator 上的“Apply Root Motion”以使其正常工作。

【讨论】:

  • 这对我也有帮助,但这是反逻辑。为什么有效?
  • 对我来说,如果这有助于理解那里发生的事情,那是相反的......
【解决方案2】:

如果您在 Android 设备上进行测试,我建议您转到构建设置 > 播放器设置 > 其他设置 > 取消选中“静态批处理”。在您的手机上构建和部署 apk。动画现在应该可以顺利运行了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2016-07-21
    • 2021-05-23
    • 2013-09-15
    相关资源
    最近更新 更多