godotengine / godotengine/godot

Scrubbing an Animation Timeline with an animation track does not visually update the animation

Open
#93,016 2 comments 0 reactions 0 assignees View on GitHub
bug topic:animation topic:editor
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

-Reproducible in Version 4.2.1 Stable

### System information

Godot v4.2.1.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1650 (NVIDIA; 31.0.15.3623) - Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (8 Threads)

### Issue description

I have a Sprite 3D node with an animation player, in which all the animations change the 'frame' value to progress through the sprite sheet.

I have a second animation player which I use for cutscenes. I use an animation track to control the Sprite's animation. When the animation is _played_, the editor visually updates just fine. However when I manually scrub through the animation, the Sprite retains the last frame that was played until the play button is pressed again.

https://github.com/godotengine/godot/assets/172264464/09f218b8-c54c-4e22-b4fb-94d7a6aecda6

I don't believe this is intentional behavior, as every other track value seems to update visually.

### Steps to reproduce

1. Create a Sprite3D node with a spritesheet texture. Set the HFrames and VFrames value accordingly.
2. Create an animation player node as a child of the Sprite3D.
3. Create an animation which increments the 'Frames' property of the Sprite3D.
4. Create a second animation player, as a sibling to the Sprite3D.
5. Create an animation of the second animation player, with an animation track linking to the first animation player.
6. Scrub through the timeline and observe that the animation does not update visually.

### Minimal reproduction project (MRP)

[MRP.zip](https://github.com/user-attachments/files/15784752/MRP.zip)

Contributor guide

Open the contributing guide

Research direction

Open the attached MRP.zip and follow the six reproduction steps, focusing on the Sprite3D, its AnimationPlayer, and the second player's linked animation track. Scrub the timeline without playing it and compare the Sprite3D frame with playback. Done means scrubbing visibly updates the animation frame consistently with other track values.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.