smix8 / GodotAnimationRetargeting

Animation Retargeting module for Godot Game Engine
MIT License
129 stars 9 forks source link

Problem with Godot 3.3.2 #31

Closed AgentSmith0 closed 3 years ago

AgentSmith0 commented 3 years ago

Hello, I have two characters with animations (Godot_Chan_Stealth_Shooter.glb and Mixamo_POLYGON_Guy_Naked.dae) and I wanted to retarget all animations. I used a custom dictionary, but I get a weird result: Screenshot Please have a look at my project. Is there a way to fix this or am I doing anything wrong? New Game Project.zip

AgentSmith0 commented 3 years ago

I have also tried it with the C++ module, but I get the same result.

smix8 commented 3 years ago

Hello,

what you a trying to do is unfortunately not supported by the tool.

The tool in its current iteration works for retargeting animations between rigs with a shared skeleton base in a game project. The tool does not support retargeting between very different character rigs and Godot Chan and Mixamo Skeleton have barely anything in common.

While it is possible to correct different bone names with a custom bone mapping the main issue is that both Godot Chan and Mixamo have a broken root bone which requires an entire different workaround to fix that is outside of this tools current scope.

AgentSmith0 commented 3 years ago

Thank you for your quick response, can you recommend any other tool / plugin (for example for Blender) which supports retargeting my animations all at once.

smix8 commented 3 years ago

The only addon/tool that I personally use is the BVH Retargeting Addon for Blender as it works well with my skeleton of choice. http://diffeomorphic.blogspot.com/p/bvh-retargeter.html No idea if this addon works with your custom skeleton. I doubt the tool will recognize a custom skeleton like Godot Chan correctly.

AgentSmith0 commented 3 years ago

Thank you, I installed the addon and it looks very promising. But do you have any step-by-step guide for me? This would be very helpful, because the instructions/the example of the article isn't quite clear for my case.

smix8 commented 3 years ago

I don't have any guide expect the official addon documentation. For Mixamo animations I save the animations as FBX, import the FBX animation into Blender and export the FBX animation as BVH file. With the new BVH file I use the addon and the global correction options to fix smaller errors. I expect that at this step with a custom skeleton you need to create a bone mapping for the addon to recognize your rig. This is explained under the "defining target rig manually" section. Everything else is Blender animation work.

AgentSmith0 commented 3 years ago

Thank you very much for the instructions, but what about the T-Pose? Do I need to define a custom T-Pose for my armatures?

smix8 commented 3 years ago

The addon calculates the differences between the rest poses on its own. You only need to add bone rotation definitions if you have a rig with twisted rest bones that give trouble with rotation math. You find a few examples in the json skeleton definitions that come with the addon.

AgentSmith0 commented 3 years ago

I found another addon called Rokoko, for me it was easy to use and it worked great. Anyway, thank you very much for your help. I will close this issue now.