← All ideas
  • Published 24 Jun 2019

FBX Anim Curves

Could use some help re-factoring the import/export of the FBX to translate "animcurvenodes" that aren't associated to anything (mesh or armature bone) into straight up Custom Properties.

This would be a great if not almost vital addition to blender's overall compatibility with major game engines - it would in fact put the application on par with 3dsmx or Maya/Autodesk (who does this natively).

A longer explanation with more info is here: devtalk.blender.org/t/feature-request-fbx-anim-curves/8049

A TL;DR Basically custom properties export as Float or Int or String values but not as AnimCurveNodes even if they have aim curve nodes. This prevents creating of custom curves that can be exported to other applications, as well as visualizing the same type of custom curves when importing an FBX that contains them.

100%

Development Status: Open

Upvote 2 Downvote 0
mosthostla
24 Jun 2019

3 Comments

mosthostla Author

Well, for whatever it's worth I made it... it's all done and apparently working fine. youtu.be/KrWlMoSiACM

mosthostla Author

How do I go about having you guys check the FBX import module modifications for possible aggregation? For now I have a text version. mosthostla.com/downloads/import_fbx.py.txt

Some things obviously need to be done better - in time i'll get to it. like, I don't want to index every key if the value is just 0 or the same as the frame before. however these changes enable to correctly import and visualize the FBX file curves shared before.

mosthostla Author

So, I put in some work on the import side - one thing at a time since I have to get my head around all of this...

The current way that the importer checks for data is it checks a cahnnel - import_fbx.py line 2900 If this channel is None it skips the variable with a continue. line 2906

Commenting out the continue it is possible to associate curve data to the properties.

Now the issue becomes creating the properties within blen_read_animations

And that lead to more and more code that i'll have to wrap up and propose to you guys for a merge I guess

Small success, the script automatically manages to create the variables gyazo.com/fdfa9ead21efc1f9d022e943b313a393

Sort of pointless if I can't associate/bake the curve, but I'd say it's progress considering . when the channel data was empty...