我如何确保在动画之后不会丢弃所有更改?戈多
How do I make sure that all changes are not discarded after the animation? Godot
多次播放动画后,对象每次都重置所有移动和旋转(3d 模式)并保持在一个位置。我如何确保所有更改在动画播放后都不会被丢弃?
动画后不会丢弃更改。期间.
但是,当动画再次开始时更改会被重置。
如果您不想让动画改变一个属性,请不要将其包含在动画中。 或者,换句话说,如果您不想重置 属性,请不要播放包含它的动画。
如果你想让动画的运动是相对的,你可以为一个child节点设置动画。例如,您可以拥有一个物理 body 玩家角色(例如 RigidBody
或 KinematicBody
),然后作为一个 child 拥有代表它的模型……并使用 AnimationPlayer
模型,没有物理 body。这样,动画会将模型重置为其 parent(物理 body),但不会重置物理 body 本身。
如果您需要更精细的跟踪内容,请考虑使用 sub-properties。我在 another answer 中有解释。动画可能不是您正在做的事情的正确工具。例如,考虑使用 Tween
。
顺便说一句,如果你想在动画之间平滑地插值,你可以增加动画混合时间(默认为0)。我在 different answer.
中谈到了这一点
多次播放动画后,对象每次都重置所有移动和旋转(3d 模式)并保持在一个位置。我如何确保所有更改在动画播放后都不会被丢弃?
动画后不会丢弃更改。期间.
但是,当动画再次开始时更改会被重置。
如果您不想让动画改变一个属性,请不要将其包含在动画中。 或者,换句话说,如果您不想重置 属性,请不要播放包含它的动画。
如果你想让动画的运动是相对的,你可以为一个child节点设置动画。例如,您可以拥有一个物理 body 玩家角色(例如 RigidBody
或 KinematicBody
),然后作为一个 child 拥有代表它的模型……并使用 AnimationPlayer
模型,没有物理 body。这样,动画会将模型重置为其 parent(物理 body),但不会重置物理 body 本身。
如果您需要更精细的跟踪内容,请考虑使用 sub-properties。我在 another answer 中有解释。动画可能不是您正在做的事情的正确工具。例如,考虑使用 Tween
。
顺便说一句,如果你想在动画之间平滑地插值,你可以增加动画混合时间(默认为0)。我在 different answer.
中谈到了这一点