Allow disabling default blend time for individual AnimationPlayer tracks. #13283
GranIdeaGames
started this conversation in
General Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
When blending animations that contain tracks with discrete values (in my case, the integer representing the frame of an AnimatedSprite), unwanted artifacts appear.
Depending on the default_blend_time of the AnimationPlayer, this can cause a sort of "frame fighting" effect.
Why this happens (?)
Blending is designed for continuous values, but discrete values such as integers or booleans cannot be interpolated meaningfully. For example, the frame property of AnimatedSprite or Sprite3D eyes. When these tracks are included in a blended animation, Godot tries to interpolate them, which may result in a visual glitch.
Proposed solution
Add an option to disable blending on a per-track basis in the AnimationPlayer.
This way, continuous tracks can still blend smoothly, while discrete tracks (like frame) would switch instantly without blending.
Example use case
In my project, I use animation blending for 3D characters. Their eyes are Sprite3D nodes, controlled by animations that set the sprite frame. Because of blending, these animations conflict and produce unwanted flickering.
Test scenario
export.mp4
Beta Was this translation helpful? Give feedback.
All reactions