【问题标题】:Unity 2D: animator single frame animations - instant transitionUnity 2D:动画师单帧动画 - 即时过渡
【发布时间】:2014-03-02 12:36:48
【问题描述】:

我正在使用 Animator 来更轻松地控制玩家精灵的状态。播放器精灵只有一帧用于不同的动画(每个不同状态的单个图像),但是 - 动画师显示它每帧播放 17 毫秒。

所以当玩家跳跃时,我将动画参数“InAir”设置为 true,它应该立即将精灵图像更改为 InAir 状态,但是对于单帧,之前的状态是可见的(我相信这是因为动画师需要 17 毫秒才能转换)并且在游戏跳跃后有明显的闪烁。

我应该如何实现即时过渡或者是否可以更改动画播放时间?

【问题讨论】:

  • 我在这个视频youtu.be/uiVjzjQwJD4 中实现了一个类似的系统,你可以在某些点暂停,看看我是怎么做到的...复制我所做的一切,它会像我的一样工作:)
  • 您好,感谢您的回复。不幸的是,此设置没有帮助,您的设置中存在与我的设置相同的问题 - 在 _animator.SetBool 生效之前将绘制 1-3 帧...
  • 啊,我明白了...这可能是一个统一的错误...您是否发送了错误报告?
  • 我正在考虑,我希望我做错了什么。无论如何,谢谢你的视频。

标签: c# animation unity3d 2d


【解决方案1】:

我最近在 Unity 5.3 中遇到了同样的问题。我通过清除过渡的任何退出时间值来修复它。由于某种原因,在创建过渡时,它被赋予了一些退出时间默认值,这为动画增加了额外的时间。

可以通过单击过渡并查看 Inspector 窗口来查看。

当我禁用“有退出时间”复选框并清除“设置”下的值时,我的转换立即发生了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多