Answered

Offset from Root Motion Centre

Devleppard 4 years ago updated by Peter - Soxware Developer 4 years ago 5

I stumbled upon a problem, when I convert a humanoid animation to a generic rig and apply root motion, my root motion is offset by a fixed amount in X and Z. The original and the humanoid animations both have the root centered.

The rotations of both animations match up correctly

I double-checked the rigs being setup correctly and the right bones being defined in the root motion.


Image 746

Animation Converter Version:
1.03
Unity Version:
2020.2.0f1

Answer

Answer

Ah ok I get your point, thanks for the clarification.

I think I know where you're problem is coming from: Before you do the conversion, you need to make sure that your humanoid animation's root motion settings are setup correctly (in order to keep the root motion offset). Select the *.FBX file that contains your source animation (or if your source animation is a *.anim file, select this one). Then in the Inspector, adjust the root motion settings to this:


As you can see in the preview, your humanoid character now has the root motion pivot centered (and runs in a spiral around it). Now perform the conversion and your root motion should work as expected.


Quick tip: You can try to preview the humanoid animation on the humanoid version of your character by dragging & dropping your humanoid character into the preview window of the animation. The converted animation should look exactly like that. If you have quality issues, you need to tweak the humanoid avatar settings of your character.


Please let me know in case you have any follow-up questions.


Best regards,
Peter

I wanted to share the models I used, My process is as follows.

Import Biped as Generic, 

Import animation as humanoid

Duplicate Biped as Humanoid

Check the root motion bones are the same for humanoid and generic model

Go into Converter window, 

fill all references and check root motion

Results have an offset.
Here's the Model:
Model

And the animation:

ANimation

Sure this was just an example, i used a different model in my picture as you can see in the original post, I just didn't want to upload it as it's a mashup of all my in-game characters and a really big file. I just gave the same model as an example that this problem even happens with the initial model.

So the issue persists for me, in the meantime I tried with other models too with the same results.

Answered

Hi,

thank you very much for your support request.

The animation you've sent to me uses the same rig as your character. In that case, you do not need to use the animation converter for converting the animation to generic. Just change the rig type to "generic" (in the animation) and assign the animation to your character (which should also be configured as generic).

The animation converter would only be needed if the source animation was created for rig A but your character has rig B. Then you would setup both the character and the animation to humanoid, and then convert the humanoid animation to a generic animation (that uses rig B). I hope this makes sense.


Please let me know in case you have any follow-up questions.

Best regards,
Peter

Sure this was just an example, i used a different model in my picture as you can see in the original post, I just didn't want to upload it as it's a mashup of all my in-game characters and a really big file. I just gave the same model as an example that this problem even happens with the initial model.

So the issue persists for me, in the meantime I tried with other models too with the same results.

Answer

Ah ok I get your point, thanks for the clarification.

I think I know where you're problem is coming from: Before you do the conversion, you need to make sure that your humanoid animation's root motion settings are setup correctly (in order to keep the root motion offset). Select the *.FBX file that contains your source animation (or if your source animation is a *.anim file, select this one). Then in the Inspector, adjust the root motion settings to this:


As you can see in the preview, your humanoid character now has the root motion pivot centered (and runs in a spiral around it). Now perform the conversion and your root motion should work as expected.


Quick tip: You can try to preview the humanoid animation on the humanoid version of your character by dragging & dropping your humanoid character into the preview window of the animation. The converted animation should look exactly like that. If you have quality issues, you need to tweak the humanoid avatar settings of your character.


Please let me know in case you have any follow-up questions.


Best regards,
Peter