Answered

FBX Export Deleting Curve Data

Anonymous 1 year ago updated by Peter - Soxware Developer 1 year ago 3

So I'm working with some root motion animations and I export them to FBX via UMotion Pro. On the FBX file I have setup curves for feet ik and gravity for the animation I'm working on. The problem is, if I want to edit the animation in UMotion, when I re-export the clip (from UMotion) it deletes all of my curves on the fbx. Is there anyway to prevent this?

UMotion Version:
Version 1.29p01
Unity Version:
2021.3.18f1

Answer

Answer
Answered

Hi,
thank you very much for your support request.

By creating a Custom Property constraint in "Animator Parameter" mode, you can tell UMotion to include an additional curve into the exported FBX file. That way you can add custom curves like a gravity or an ik curve etc. to the exported FBX animation.

I'm writing this out of my head, but I think UMotion is even capable of importing your existing custom curves. You just need to make sure that you've created the related custom property constraints (in "Animator Parameter" mode) with the same/correct name (as defined in the FBX import settings) before importing the animation.

If you now how to code: Another method would be to extend UMotion with a custom export button that first copies the existing custom curves of the FBX file, then performs the regular UMotion export and then writes the previously saved custom curves back into the FBX. Take a look at the UMotion API if you want to go this route.

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

Best regards,
Peter

Answer
Answered

Hi,
thank you very much for your support request.

By creating a Custom Property constraint in "Animator Parameter" mode, you can tell UMotion to include an additional curve into the exported FBX file. That way you can add custom curves like a gravity or an ik curve etc. to the exported FBX animation.

I'm writing this out of my head, but I think UMotion is even capable of importing your existing custom curves. You just need to make sure that you've created the related custom property constraints (in "Animator Parameter" mode) with the same/correct name (as defined in the FBX import settings) before importing the animation.

If you now how to code: Another method would be to extend UMotion with a custom export button that first copies the existing custom curves of the FBX file, then performs the regular UMotion export and then writes the previously saved custom curves back into the FBX. Take a look at the UMotion API if you want to go this route.

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

Best regards,
Peter

Hello, sorry for the late response,

I'm sure I understand the solution you described. What is 'Animator Parameter'? And I cannot re-import the said animation as I've already done that in the project. What would the steps be to copy my existing curves from the FBX and set them up in the way to described so that UMotion export doesn't delete them?

Kind regards

What is 'Animator Parameter'?

An 'Animator Parameter' is a custom animation curve that is added to an animation and can be accessed by the Unity "Animator" component (and from your scripts). It's another word for the custom curves you added to your FBX file.

You can check out this link to learn how to create such 'Animator Parameters' in UMotion: https://www.soxware.com/umotion-manual/CustomProperty.html#AnimatorParameter


And I cannot re-import the said animation as I've already done that in the project. What would the steps be to copy my existing curves from the FBX and set them up in the way to described so that UMotion export doesn't delete them?

First setup the custom properties (in Animator Parameter mode) for each of your custom curves. Then import the animation a second time (will be added to your project with a "1" added to the name or something like that). Then copy and paste the keys of those custom curves to your originally imported animation clip.

Best regards,
Peter