动画错误大约每几次出现一次。

<错误信息>
Animation::_find:在动画范围外找到了关键帧。请考虑使用 AnimationTrackEditor 中的清理选项来修复此问题。

之前我询问过这个错误时,被告知原因是动画设置范围外存在关键帧。但我已将对象显示数量减少为一个,并对该对象的所有动画执行了清理操作,该错误仍然出现。因此,我认为这可能是一个 Bug,您怎么看?还是说在某些情况下清理操作无法解决此错误?

顺便一提,即使执行完全相同的动作,该错误也只是偶尔出现(大约几分之一),且没有规律。如果问题确实出在动画上,那么在执行该动画时理应每次都出现此错误,否则就不合理了。

请问可以在您提供的项目中确认吗?能否告知具体是哪段动画?

可以在我们发送的项目中确认。

在任何场景中都会出现错误,但建议您在游戏场景中删除除玩家角色以外的所有对象后再进行检查。

在这种情况下,只有玩家角色在进行动画播放,因此推测错误原因与玩家角色的动画有关。即使对该角色的所有动画进行了清理,仍会每隔几次出现一次错误。

该错误总是在场景启动后立即出现,在场景启动后立刻左右移动玩家时,每隔几次就会出现一次。

令人费解的是,一旦出错,即使重置游戏,第二次也不会再出现;而且无法理解为何并非每次都会出现。如果问题出在动画上,重置后应该还会出现错误才对。

希望能得到关于应对措施的指导。

在提供的项目中,我尝试了约 20 次,但无法复现该问题,因此原因尚不明确。

此错误与 Godot 的 AnimationPlayer 相关,因此不可能在其他地方出现。可以肯定的是,这与某种动画问题有关,但由于在我的环境中无法复现,这可能是 Godot 本身的一个缺陷。

有一点值得注意:在 RESET 动画中,显示了一个超出屏幕范围的 AudioStreamPlayer 的 volumedb 条。如果将其移除,是否就不会再发生该错误?

Moonling 您好

虽然这并非根本解决方案,但我已经找到了导致问题的原因。
该角色在冲刺时,动画中嵌入了按固定间隔播放的脚步声。我删除了脚步声的关键帧,经过约 10 次测试,一次错误都没有出现。
此前,错误出现的频率至少是每三次中有一次。因此(虽然原因尚不明确),这似乎是导致问题的根源。
在查明根本原因之前,我打算暂时移除脚步声以应对该问题。

另外,仅消除 volumedb 的频段并未改变症状。

关于此错误,它应该是无害的,因此不会造成问题。不过,它确实令人不安,我们将对此进行调查,请您稍候片刻。

附注:就错误内容而言,虽然以红色文字显示看起来有些吓人,但正如我之前所述,这仅是一条建议性质的警告,提示“动画范围之外存在关键帧,建议进行检查”。

1 个赞

感谢您的配合。
明白了。