0 votes
asked in General Help by Advanced User (470 points)
Hi. I've rigged a character in Blender and imported it to Unity to animate in Umotion. I use curves on specific bones to perfect the animation in Umotion.

When I export the animation on to the same FBX model/rig I've used for animating, the animation plays fine, but the curves are gone. They're replaced with motion capture like keyframes for every bone on every frame. Very inefficient!

The only rig change I made in Umotion was to add IK to the feet.

Is there a way to export the nice curves to the FBX character? I'm exporting to FBX Binary 2018....maybe I'm exporting it wrong?

Thanks.

1 Answer

+1 vote
answered by Expert (148k points)
selected by
 
Best answer

Hi kenhes,
thank you very much for reaching out.

*.FBX only supports forward kinematics euler rotation curves (and position and scale curves). So if you want your curves to export 1:1 from UMotion to *.FBX, you have to use forward kinematics and euler rotation for your curve. Furthermore you need to disable the "Resample Curves" setting in Unity's import settings of the *.FBX (under the "Animation" tab in the Inspector). That also applies to any other 3D modeling software.

If your animation is used as humanoid, than Unity always re-samples your curves as it needs to convert them into muscle space.

If you use IK, UMotion has to convert the IK movement into FK thus needs to re-sample the curves too. That's also what any other animation software has to do (as long as you don't use scripts to perform the IK during run-time which would be CPU inefficient).

They're replaced with motion capture like keyframes for every bone on every frame. Very inefficient!

If your curve has 3 keys or 100 keys shouldn't matter much when it comes to CPU efficiency. Afaik only if your curve consists of just 2 keys Unity can do some optimization.

If you want to reduce the file size, you can play with the key frame reduction settings in the *.FBX Inspector. To measure the file size of the animation, select the *.anim file (you need to expand your *.FBX in the Project window) and check the file size that is displayed at the bottom in the Inspector. Only the content of the *.anim file will make it into your game's build (not the *.FBX). Don't measure the file size of the *.anim in the windows explorer, that is usually much bigger due to editor only data that is stripped when building your game.

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

Best regards,
Peter

commented by Advanced User (470 points)
edited by
Thank you for the comprehensive answer. If that's how FBX works with IK I'll stick to using Umotion!

Soxware Support

Here you get official product support by the developer and the community for all Soxware Products for Unity®.

Post as guest, login via Facebook or create an account.

Ask questions, report bugs or provide feedback. Please use the correct category and always post in english.

For private email support, please use the Support Form to create a support ticket.

Copyright © 2017 Soxware Interactive | All Rights Reserved | Impressum

...