+1 vote

Is it possible to do animation retargeting in Godot 3.0?

if yes, how to do it?

if no, is there any work around to achieve animation reuse?

Thanks!

in Engine by (247 points)

1 Answer

+1 vote
Best answer

Animation re-targeting and procedural animations both use Inverse Kinematics, Don't be afraid of the math involved, it isn't as hard as people like to pretend it is.

IK for robots is much more complex than you need. you will just want to re-target one part.
Godot has IK for 3D: http://docs.godotengine.org/en/3.0/tutorials/3d/inverse_kinematics.html

Look IK in games to see the idea behind it. Interesting fact, IK is also how game characters climb stairs without the feet clipping the ground.

by (1,480 points)
selected by

Sorry, I am lost
Can you explain more?

What IK does is calculate how things should act when linked. So if a hand moves to press a button, how should the arm move.

Now any two characters that are the same height,size and bone count can already share animations, Just copy and paste animations in your 3D editor.
Re-targeting is needed for the objects that don't share these 3 properties.

The way animation re-targeting works is the difference from one characters stance and the second stance is calculated.
This is simple: Rig2Foot.position - Rig1FootPosition = offset between feet.

With this info you can use IK, to generate the new animation. This video shows the results:
https://www.youtube.com/watch?v=F0FVCrSXA1U
https://youtu.be/4DyO_VS_3Gk
This video teaches the first steps for 2D:
https://www.youtube.com/watch?v=hbgDqyy8bIw
For 3D it is already in Godot you just need to figure out how to use it.

Thank you so much!!

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.