-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
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 retargeting leads to weird looking animations #89244
Comments
We are working on adding the template pose feature #88824 |
This looks promising and hopefully gets into Godot soon as it would make live for developers coming from unity so much easier because we could simply reuse our animations we purchased in the asset store. And I second this comment from @Illauriel:
This sounds almost as in Unity - create an avatar from the base model and reuse that in all the split animations and get a nice library of animations when creating a blend tree for the model. |
Wow, thank you for the amazing example project. This is exactly the sort of scenario that #88824 is intended to solve. With the latest version of the PR, I now use animations to transfer the pose from one model to another. Initial version of jog animation, showing the problem: I now open up the good t-pose version and export the t-pose animation to a file: After reimporting the t-pose model, I can now use the extracted rest-pose animation in another model: And tada! We now have the correct jogging animation, in Godot's humanoid format: I will re-post this in the PR as well to show the workflow. |
Wow, you gave me hope back to finally use all those expensive assets I purchased to get nice looking animations in Godot. |
Tested versions
System information
Godot v4.3.dev.mono (28d895f32) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated AMD Radeon RX 6700 XT (Advanced Micro Devices, Inc.; 31.0.14043.7000) - AMD Ryzen 9 3900X 12-Core Processor (24 Threads)
Issue description
I'm currently trying to set up a 3D character with 8-directional idle/walk/jog/run animations.
For this, I bought a model from cgtrader as a placeholder model and several locomotion animation packs:
And all of them except the Mixamo one are being animated really weird, like the animations are added to their rest pose somehow:
I've also tried to go down the path of importing them into blender, combining all the animations into one file and then reexport as GLTF but that also proved to be error prone because blenders skeleton system isn't compatible with the one from FBX so most of the animations are working but I got all sort of problems with it like twisted foot / hand, crossed arms or even still the same output sometimes.
The thing is - I and many of us game devs are simply no blender / animation pros, neither do we own a license for expensive Autodesk software so we have to rely on assets from third parties which mostly target Unity and Unreal.
So while I fully understand that the Godot way is to provide already animated characters with correct rest poses to the engine, in practise that's causing a lot of trouble (and wasted money) for the developers.
From what I've seen when importing several animations and fiddling around with them, most if not all of the animation files won't have their rest pose set to "T" or "A", they just use the same pose as the first animation frame.
However, the Mixamo character has all it's bones properly set up, nothing twisted after import and also all separate animation files have their rest pose set to "T" so that's why I'm guessing that the rest pose is the root cause here.
In Unity there is this avatar which will be reused across all the imported animations which is usually set up for the base character model.
This might roughly be the same as setting up a BoneMap in Godot and reusing that one for all animation files so maybe there should be an option to use the rest pose of a reference model to calculate the relative poses when retargeting animations.
Steps to reproduce
Minimal reproduction project (MRP)
Unfurtunately I can't provide an MVP since all of the assets are locked behind commercial licenses.
However, Mocap Online offers a free demo pack which can be downloaded for testing purposes so I've set up a small test project but excluded all the FBX files.
One can just download the demo package from Mocap Online here. extract and copy
MCO_Demo_Pack_v2/FBX
toMocapOnlineDemo/MCO_Demo_Pack_v2/FBX
before opening the project and it should work.MocapOnlineDemo.zip
The text was updated successfully, but these errors were encountered: