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

Retargeting resets orientation of unmapped bones when Overwrite Axis is enabled #91558

Closed
ydeltastar opened this issue May 4, 2024 · 2 comments · Fixed by #91560
Closed

Retargeting resets orientation of unmapped bones when Overwrite Axis is enabled #91558

ydeltastar opened this issue May 4, 2024 · 2 comments · Fixed by #91560

Comments

@ydeltastar
Copy link
Contributor

ydeltastar commented May 4, 2024

Tested versions

v4.3.dev.custom_build [7ebc866]

System information

Windows 11

Issue description

Unmmaped bone orientations are lost (the Basis reset to identity) after import when retargeting if Overwrite Axis is enabled. It works as expected for mapped bones.

Left: correct orientation. Right: Overwrite Axis enabled

image image

Disabling this option keeps their orientation but then retargeting is meaningless because differences in mapped bone and animation rotations between characters aren't normalized.

Steps to reproduce

  • In the MRP, open main.tscn.
  • In the advanced import setting for bot.glb, Skeleton3D > Retarget > Rest Fixer > Overwrite Axis is enabled. Rotation reset for the unmapped bones with attachments.
  • Disable Overwrite Axis and reimport. It keeps rotation.

Minimal reproduction project (MRP)

overwrite-rotation.zip

@lyuma
Copy link
Contributor

lyuma commented May 5, 2024

Just to be clear, this is not a regression. The same behavior has existed since Godot 4.0 was released through now.

I want to understand the implications of this issue bit better. In particular, bone hierarchies of intermediate bones (e.g. Arm twist) might want to be treated differently from bone hierarchies of attachments (hair, clothing, end/tip bones)

@ydeltastar
Copy link
Contributor Author

ydeltastar commented May 5, 2024

The issue is due to treating the bones the same. Unmapped loose bones are treated the same as intermediate bones and reset, despite having no effect on the retargeted pose. Their only purpose is for attachments not affected by shared animations but rotation is lost.

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