Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animations created in AnimationPlayer in 4.2 don't update frames while scrubbing the timeline #85632

Closed
nvanfleet opened this issue Dec 1, 2023 · 5 comments · Fixed by #85569

Comments

@nvanfleet
Copy link

Godot version

4.2

System information

M1 Mac

Issue description

Since I updated to 4.2 any animation player that I create which changes a Sprite2D texture or offset is not updating the texture value if I scrub the timeline of my animation. I can see in the sidebar that the frames are changing and the frames change if I press play on the animation. But it won't change the Sprite2D's frame if I drag the scrubber back and further between frames. I need to do this in order to determine the offsets of the sprite2D frames.

Somehow scenes I previously created in 4.1.3 or earlier are not affected by this. But new scenes / animation players are.

Steps to reproduce

  1. Create a new scene in 4.2
  2. Add a Sprite2D
  3. Add an AnimationPlayer
  4. Add a track to change the Sprite2D texture to the AnimationPlayer
  5. Add keys into the animation player which change the textures of a sprite
  6. Verify the texture is changing in the animation by pressing play and seeing the changes
  7. Press stop
  8. Drag the scrubber between frames
  9. Observe that the texture is NOT updated moving from key-to-key*
  • It appears that it will transition between frames for the first 3 frames or so, but beyond those frames it stops working correctly. I don't know exactly why that is.

Minimal reproduction project

Test.zip

@andrewsmith289
Copy link

andrewsmith289 commented Dec 2, 2023

I'm seeing the same thing on Windows 10, Godot 4.2 (mono) and non-mono.

AnimationPlayer possible bug

@ChoO-T
Copy link

ChoO-T commented Dec 2, 2023

Same problem here, other parameters are affected too (visible for example).

Also affect scenes imported from 4.1.3.

@TokageItLab
Copy link
Member

May be duplicate of #85483

@MichaelFar
Copy link

MichaelFar commented Dec 2, 2023

Having the same issue. Happens to my scenes imported from 4.1.3 as well

Godot_v4.2-stable_win64_w6VsVNRskK.mp4

See above:

I found that the inspector does not update the frame property when scrubbing the timeline

When inspecting the frames themselves the 'value' field is correct

@frohlfing
Copy link

I had the same problem with Godot 4.2.1.stable.
I changed the tscn file with a text editor as follows, then it worked:

Generated from GUI::

tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0]
}

Fixed: (The sprite has 64 frames and the duration of my animation is 0.64 seconds.)

tracks/0/keys = {
"times": PackedFloat32Array(0, 0.64),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0, 63]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants