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

AnimationTree: BlendSpace2D blending sync not working correctly #92730

Closed
jclc opened this issue Jun 3, 2024 · 4 comments · Fixed by #92739
Closed

AnimationTree: BlendSpace2D blending sync not working correctly #92730

jclc opened this issue Jun 3, 2024 · 4 comments · Fixed by #92739

Comments

@jclc
Copy link

jclc commented Jun 3, 2024

Tested versions

  • Reproducible in: v4.3.beta1.official [a4f2ea9]

System information

Linux - Godot 4.3 beta 1 - Vulkan (Forward+)

Issue description

I have a 3D rig with running animations that I am blending together with a BlendSpace2D. In 4.2 this worked but after upgrading to 4.3 beta 1 this has been completely broken.

None of the sync or loop options are respected, instead moving from one blend triangle to another will always reset the animation in the newly activated blend positions.

What it's more or less supposed to look like:
blend-expected

After moving the blend position to the right and back to the previous position, this is what it might look like:
blend-bugged

I've tried using the Sync option and all of the custom timeline options, but none of them seem to fix this.

Here's what the blend space looks like:
blend-space

Steps to reproduce

Add an AnimationTree node and link it with an AnimationPlayer node with at least 4 animations. Create blend positions like the shown with the top 2 triangles in the image above. Configure them to synchronise animations, then move the blending position between the triangles and observe non-synchronised behaviour.

Minimal reproduction project (MRP)

blendspace2d-issue.zip
Issue can be demonstrated by running the project and running diagonally forward and switching directions. After landing from a jump the blended animations are in sync as they're supposed to be, but will be skewed the moment you move in the other direction.

@TokageItLab TokageItLab self-assigned this Jun 3, 2024
@TokageItLab TokageItLab added this to the 4.3 milestone Jun 3, 2024
@TokageItLab TokageItLab changed the title AnimationTree: BlendSpace2D blending positions always reset AnimationTree: BlendSpace2D blending sync not working correctly Jun 3, 2024
@TokageItLab
Copy link
Member

Sorry, it is my mistake in refactoring as #87171.
I sent a fix #92739, please check it if you can.

@FacuDellaRosa
Copy link

Hello. I am still reproducing this bug, I'm using the latest Godot 4.3 version, and I also tried it in version 4.2 and is still blending animations wrong. I think the problem still is becouse of different length of the animations. Anyone else still have this problem?

@TokageItLab
Copy link
Member

TokageItLab commented Sep 27, 2024

@FacuDellaRosa Make sure that your all animation lengths to be blended are aligned and that the syncs of the Nodes before and after the BlendSpace are not broken.

Many beginners make the mistake of thinking that if they blend the animation imported from Mixamo without playing with the time, the stride animation lengths will be synced, but not so. Those animation length must be adjusted on your own. The CustomTimeline feature implemented in #87171 helps with this workflow.

@FacuDellaRosa
Copy link

@TokageItLab Oh I understad... I thought the Sync checkbox would handle those length differences automatically... Ok, thank you for the response!

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

Successfully merging a pull request may close this issue.

3 participants