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

AnimationPlaybackTracks no longer functioning as intended #90864

Closed
antourenein opened this issue Apr 18, 2024 · 2 comments · Fixed by #90960
Closed

AnimationPlaybackTracks no longer functioning as intended #90864

antourenein opened this issue Apr 18, 2024 · 2 comments · Fixed by #90960

Comments

@antourenein
Copy link

antourenein commented Apr 18, 2024

Tested versions

  • Reproducible on 4.3.dev.gh [2efbc6b]
  • Reproducible on 4.2.2-rc3 and 4.2.2-stable
  • Not reproducible on 4.2.2-rc2 and before

System information

Godot v4.2.2.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; 31.0.15.5186) - 12th Gen Intel(R) Core(TM) i7-12700H (20 Threads)

Issue description

While in-editor seeking of AnimationPlaybackTracks now works as it should, actually playing the animation that uses an AnimationPlaybackTrack no longer plays the referenced animation properly. It also does not seem to work when running the project with this animation setup.

Godot_v4.2.2-stable_win64_TVTZClfiVa.mp4

Steps to reproduce

  1. Create an AnimationPlayer
  2. Create any animation
  3. Create another AnimationPlayer
  4. Insert AnimationPlaybackTrack and reference the animation in step 2

Minimal reproduction project (MRP)

This is project in the video, it has the steps above already done.

AnimPlaybackTrackBug.zip

@sketchyfun
Copy link
Contributor

The problem seems to be in scene/animation/animation_mixer.cpp at line 1611

a->track_get_key_indices_in_range(i, time, delta, &to_play, looped_flag)

doesn't seem to return anything if the clip lands at 0 seconds on the timeline. I don't really have time to dig any deeper, but hopefully that give someone a starting point

@TokageItLab
Copy link
Member

The problem seems to be in scene/animation/animation_mixer.cpp at line 1611

It is not related since immediately after playback it never goes through line 1661.

This is actually due to some missing processing that should be taken into account for the internal seek (meaning immediately after playback). I have sent #90960 to fix that, so please check it if possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Very Bad
Development

Successfully merging a pull request may close this issue.

4 participants