You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OS/device including version:
Windows 10.0.19041.985
Issue description:
Animations have visual artifacts when rotating non-uniformly scaled bones
Here is the animation within Godot:
The artifacts are the result of a desperate attempt to counteract the non-uniform scale: it requires stretching hundreds of units locally just to move a little bit.
One possible fix is to deconstruct the non-uniform-scale component and perhaps multiply it into the child nodes. However, this could affect the hierarchy of existing glTF files so could be compatibility breaking for 3.x
Steps to reproduce:
Load the attached project.
It should play the animation automatically. if not, enable editable children on the GLB file and play the animation.
<Lox> Polar decomposition turns a 3x3 real matrix M into M = R * S with R being a rotation matrix and S being a scale matrix (not necessary uniform or diagonal, i.e. the scale axes can be different to XYZ). This decomposition is unique.
Equivalent you can always turn a 3x3 matrix M into M = R1 * D * R2 with R1,R2 being rotation matrices and D being a diagonal matrix (i.e. S part in TRS). This decomposition isn't unique.
On current master, the animation looks the same for me as it does in the online glTF viewer. This was probably fixed by #53765, which improved support for non-uniform scaling,
Godot version:
4.0.dev 45d3b96
OS/device including version:
Windows 10.0.19041.985
Issue description:
Animations have visual artifacts when rotating non-uniformly scaled bones
Here is the animation within Godot:

The artifacts are the result of a desperate attempt to counteract the non-uniform scale: it requires stretching hundreds of units locally just to move a little bit.
Same animation when played in https://gltf-viewer.donmccurdy.com/

One possible fix is to deconstruct the non-uniform-scale component and perhaps multiply it into the child nodes. However, this could affect the hierarchy of existing glTF files so could be compatibility breaking for 3.x
Steps to reproduce:
Minimal reproduction project:
gltf_non_uniform_bone_animation.zip
The text was updated successfully, but these errors were encountered: