【问题标题】:Unity - How to disable animation interpolation / animation curves?Unity - 如何禁用动画插值/动画曲线?
【发布时间】:2019-08-20 04:18:26
【问题描述】:

我正在尝试通过在给定动画剪辑的各个关键帧处显式设置精灵位置来为 2D 精灵的层次结构(主要是身体部位)设置动画。不幸的是,Unity 使用关键帧之间的插值来隐式更改所有精灵位置。这会导致精灵看起来像是在四处滑动,而不是立即过渡到正确的位置。

到目前为止,我提出了 2 个相当糟糕的解决方案:

  1. 我可以为精灵位置和过渡的每个组合创建单独的动画剪辑 在它们之间使用 mecanim 参数或在 代码,但这似乎充其量是乏味的,最坏的情况是效率低下。
  2. 我可以添加更多关键帧(在动画选项卡或 曲线屏幕)保持每个精灵位置直到之前 他们需要更新。这是一个稍微好一点的选择,但也 非常乏味。

有没有办法告诉 Unity 至少在位置方面禁用动画插值?谢谢。

【问题讨论】:

  • 您是否尝试过右键单击关键帧并更改那里的属性?
  • @Hristo,是的,我读到选择“平面”选项可能会导致剪辑放弃插值,但这似乎不起作用,即使为所有关键帧都选择了此选项.
  • 嗯,我唯一能想到的另一件事就是在您想要过渡之前添加另一个关键帧。关键帧需要与前一个相同,因此没有插值(至少可见)。
  • 希望避免这种情况(参见 #2),但您可能是对的。
  • 哦是的错过了那个,但我认为一般来说动画是用来插值的。除非您设法以某种方式更改该曲线(可能涉及代码)。祝你好运!

标签: unity3d


【解决方案1】:

在当前版本的 Unity (2019.3) 中,转到曲线视图,右键单击关键帧节点并选择左切线 -> 常量。您可能希望根据用例使用右切线。这应该会为您提供所需的即时更改。

【讨论】:

    【解决方案2】:

    您是否查看过在 Unity 中制作 2D 动画的 Brackeys 视频?也许它可以帮助你:)

    以下链接是他关于如何制作 2D 精灵动画的视频。 https://www.youtube.com/watch?v=whzomFgjT50

    【讨论】:

    • 这是一个很好的演示如何设置基本的 2d 精灵动画和运动,但我更关心在每个动画剪辑中为一个角色重新定位多个精灵(或子精灵)不是这个视频涵盖的内容,更不用说内置关键帧插值的工作原理了。
    【解决方案3】:

    好吧,我得出了一个不幸的结论,即 Unity 强制您在处理动画关键帧时使用曲线,并且您需要添加一组额外的关键帧以实现动画的突然变化。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多