You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the Play() or Seek() functions of AnimationPlayer properties affected by animation tracks set to UPDATE_DISCRETE are unexpectedly changed.
My current project heavily relies on flags being set to on or off by animations and doing things with the setters so I noticed this issue rather quickly.
Steps to reproduce
The attached minimal reproduction project shows the issue clearly.
There's an animation player with a single animation (no reset animation) and one track affecting the "Flag" property. The track update mode is set to UPDATE_DISCRETE.
"Flag" has a setter that will set its value and print it to the console.
Click the Play button to see the value of the flag erroneously change to false or click the Seek buttons (before the animation has finished) to observe the property being set to false or true depending on which point of the animation we seek to.
In previous versions of Godot the setter would not be triggered unless the animation passes through the key frame while playing normally.
Tested versions
System information
Godot v4.3.dev4 - Fedora Linux 39 (KDE Plasma) - X11 - Vulkan (Forward+) - dedicated AMD Radeon RX 6800 (RADV NAVI21) () - Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (8 Threads)
Issue description
When using the Play() or Seek() functions of AnimationPlayer properties affected by animation tracks set to UPDATE_DISCRETE are unexpectedly changed.
My current project heavily relies on flags being set to on or off by animations and doing things with the setters so I noticed this issue rather quickly.
Steps to reproduce
The attached minimal reproduction project shows the issue clearly.
There's an animation player with a single animation (no reset animation) and one track affecting the "Flag" property. The track update mode is set to UPDATE_DISCRETE.
"Flag" has a setter that will set its value and print it to the console.
Click the Play button to see the value of the flag erroneously change to false or click the Seek buttons (before the animation has finished) to observe the property being set to false or true depending on which point of the animation we seek to.
In previous versions of Godot the setter would not be triggered unless the animation passes through the key frame while playing normally.
Minimal reproduction project (MRP)
Play and Seek issues MRP.zip
The text was updated successfully, but these errors were encountered: