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

"Fix Silhouette" in Retargeting does not work well on models other than A-pose or T-pose #65656

Closed
fire opened this issue Sep 11, 2022 · 7 comments · Fixed by #88824
Closed

Comments

@fire
Copy link
Member

fire commented Sep 11, 2022

Godot version

200b9cd

System information

Windows 11, GLES3, RTX 3000

Issue description

https://sketchfab.com/3d-models/valora-twitch-prime-emote-c430ff2028744abfa132774b0771f25d

トカゲ — Today at 01:50
If you load it into blender, you can see that the model is a titan...

トカゲ — Today at 02:02
Since the rest is neither T-pose nor A-pose, the T-poser does not seem to work very well for the fingertips

トカゲ — Today at 02:11
Whether or not the T-poser works depends on the rest that is loaded. So I think this PR is important:
#40274

トカゲ — Today at 02:19
So, the problem is that there are gltfs which have neither A-pose nor T-pose as a bound pose, > but only a pose for the first frame of the animation for about the issue of missing conversions
maybe

Steps to reproduce

  1. Load godot
  2. Setup glb to for retargeting
  3. The retargeting doesn't match

Minimal reproduction project

valora__twitch_prime_emote.zip

@fire fire changed the title Retargeting failure on sketchfab model Retargeting failure on sketchfab model vaolora Sep 11, 2022
@fire fire changed the title Retargeting failure on sketchfab model vaolora Retargeting failure on sketchfab model valora Sep 11, 2022
@fire
Copy link
Member Author

fire commented Sep 11, 2022

@TokageItLab I typed up the bug report.

@TokageItLab
Copy link
Member

@fire I don't know what "missing conversions" you are talking about.
Retargeting works fine. The problem is that certain bones are not fixed properly by the T-poser when neither T-pose nor A-pose is used?

@fire
Copy link
Member Author

fire commented Sep 11, 2022

Yes. Some bones are unable to be matched while not in A-pose or T-pose. We should do something but allowing the animation to pass is not that great.

@TokageItLab TokageItLab changed the title Retargeting failure on sketchfab model valora Fix silhouette in Retargeting does not work well on models other than A-pose or T-pose Sep 11, 2022
@TokageItLab
Copy link
Member

I don't see this as a critical bug, well, I will look when I have time whether the algorithm can be improved.

@TokageItLab TokageItLab changed the title Fix silhouette in Retargeting does not work well on models other than A-pose or T-pose "Fix Silhouette" in Retargeting does not work well on models other than A-pose or T-pose Sep 11, 2022
@lyuma
Copy link
Contributor

lyuma commented Apr 28, 2023

I tested this model and it technically works now that #76499 is merged.,
Screenshot showing the model in t-pose

Screenshot showing the model dancing

However, the problem with this model is it contains several bones which do not fall under Godot's SkeletonProfileHumanoid and animates those bones, so any attempt to share this animation with other models might miss some data.

Perhaps we should close this issue and open a different one about handling animation of non-humanoid bones

@Invertex
Copy link
Contributor

This issue is still somewhat relevant I believe, unless I'm missing something.
I've noticed that Fix Silhouette does not work well on animation files that don't have typical bindpose, like for example a running animation. In an attempt to fix bones that are at extreme angles, it can end up not looking anywhere near as proper as the original animation.

Often animation packages come with a base model that's in a normal bind pose and then a bunch of individual files that only contain a single animation track that has no typical bindpose.

I believe a simple fix to this issue for most cases would be the option for Fix Silhouette to utilize the bone transform values from a target model (and show an error if the target is not a matching rig). This would allow it to fix the animation based on that target's bind pose instead of its own.

@TokageItLab
Copy link
Member

TokageItLab commented Dec 11, 2023

I remember having several conversations with @lyuma about it. There must be some way to select the animation before retargeting.

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

Successfully merging a pull request may close this issue.

5 participants