我如何确保在动画之后不会丢弃所有更改?戈多

How do I make sure that all changes are not discarded after the animation? Godot

多次播放动画后,对象每次都重置所有移动和旋转(3d 模式)并保持在一个位置。我如何确保所有更改在动画播放后都不会被丢弃?

动画后不会丢弃更改。期间.

但是,当动画再次开始时更改会被重置。

如果您不想让动画改变一个属性,请不要将其包含在动画中。 或者,换句话说,如果您不想重置 属性,请不要播放包含它的动画。


如果你想让动画的运动是相对的,你可以为一个child节点设置动画。例如,您可以拥有一个物理 body 玩家角色(例如 RigidBodyKinematicBody),然后作为一个 child 拥有代表它的模型……并使用 AnimationPlayer 模型,没有物理 body。这样,动画会将模型重置为其 parent(物理 body),但不会重置物理 body 本身。


如果您需要更精细的跟踪内容,请考虑使用 sub-properties。我在 another answer 中有解释。动画可能不是您正在做的事情的正确工具。例如,考虑使用 Tween

顺便说一句,如果你想在动画之间平滑地插值,你可以增加动画混合时间(默认为0)。我在 different answer.

中谈到了这一点