Not a bug
Create root motion for animation clip that did not have root motion
Kenway 3 years ago • updated by Peter - Soxware Developer 2 years ago • 5
As title, an animation clip currently i'm using did not come with root motion.
Is it possible to add root motion/auto generate root motion in UMotion Pro?
Customer support service by UserEcho
thank you very much for your support request.
Yes you can of course create root motion for new or existing animation clips. The motion has to be manually created by moving the bone marked with "RM" (in case of humanoid it's the "Hips" bone). Auto-generating root motion from an in-place animation is not supported.
Please let me know in case you have any follow-up questions.
I have tried to do this with a few models without success One of the models has a root bone, but it doesn't appear to work. Is there anyway you can take a look at these two models? Please these are generic non humanoid models.
Yes I can take a look at it. Please setup an empty Unity project that includes just what I need to reproduce your situation (i.e. the UMotion project, the character,...). Then send it to me via the email support (you can request a link to my Dropbox if needed).
PS: To reduce file size, remove the "Library" folder from your project before adding it to an archive.
thank you very much for your patience.
I've taken a closer look and there seems to be indeed a problem with the Root Motion generation for *.anim files. Looks like the root motion curve is not rotated in the correct way, I'm looking into a fix.
Luckily there is an easy workaround you can use right now. Here is what I did to make the "BlackGardenAnt_Rig_walk_forward" animation a root motion animation:
This is not going to be required in future versions as it is related to the problem I've mentioned. I'm looking into a fix.
Thank you very much for reporting this issue and let me know in case you have any further questions.
Ok I have to correct myself. Further tests showed that UMotion is doing everything exactly the same way as to how Unity generates the root motion curves. When a root bone is rotated, Unity seems to generated a root motion translation curve that is not corrected by this rotation. That's why in your case, the ant is moving upwards instead of forwards. UMotion is doing exactly the same when exporting to *.anim.
You can also see this, if you go to the "Animation" tab of the exported *.fbx file and set the "ROOT" transform as "Root Motion Node" in the "Motion" tab. That's exactly what happens when you tag the "ROOT" transform as "RM" in UMotion.
I'm not sure if this is a bug in Unity or intended, but I think I should keep UMotion's behavior in line with Unity's. Especially as there is such an easy workaround.