-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Animation on imported .blend file plays incorrectly at different playback_speed rates. #64594
Comments
Note: It seems like the in-game animation player is ignoring the time between keyframes, maybe, and just playing them all with the same time? I extended the keyframes with the foot out for like several seconds, and the foot still returns immediately, even though the editor animation player keeps the leg extended for a while. |
Will need to check #64132 |
I tried completely disabling the optimizer when importing, and that didn't seem to have any impact on it. Also, that throws out my hypothesis about the blank frames getting ignored and it just playing the anim as if all the key frames have the same time between them. There's now a key frame for every frame of animation. Really unsure as to what's going on here. |
Some notes:
|
Not that I know of, but I see very few practical reasons to use animations authored at a framerate higher than 120 FPS. |
Closing this -- I think it was just a script error on my part (playing an animation that canceled out the animation before it had a chance to fully play). My bad! |
Godot version
v4.0.alpha.custom_build [2475393]
System information
Windows 10, GLES3, NVidia RTX 3080
Issue description
I noticed the animations were playing faster in-game than the animation I had in blender. I thought perhaps the animation was playing at the fps of my monitor instead of the animation framerate, since I had a 144hz monitor, so as an experiment, I tried setting the playback_speed to 60/144, and that's when I noticed the animation played differently. Like the bones don't rotate as much or it's skipping frames or something.
I have a kick animation that brings the foot all the way up to the crosshair:
![image](https://user-images.githubusercontent.com/7751182/185520101-a1a76182-b651-4e74-970e-a9f7eec2e810.png)
But if I set the playback_speed to a smaller value, the kick doesn't go as high. Here at 0.3, the foot only shows up on the bottom of the screen and makes it nowhere near the center where the crosshair is:
Steps to reproduce
Import a .blend file with an armature and animations at 60fps (not sure if 60fps matters. That's just what I'm using both in blender and the import settings).
Play the animation using the AnimationPlayer3D .play() function.
Set the playback_speed to 0.3
Play the animation again and note differences.
Minimal reproduction project
Here's the .blend file I had the problem with. Animation is "kick_left_1".
main_character.zip
The text was updated successfully, but these errors were encountered: