Feature Request: FBX Anim Curves

Hi all,

Wondering who here can provide some help in understanding what needs modification in order to support FBX anim curves as independent items/values that aren’t associated to an armature bone.

This is the doc, the importer already has the required info to deal with the curves.
https://docs.blender.org/manual/en/dev/addons/io_fbx.html

Blender does not know how to handle or what to do with them.

The objective here is to be able to create and export a Blender Curve with a custom name that is not associated to anything, but can still be exported/imported just like a shape-key would.

The inner-workings would be very similar to a ShapeKey in fact, except the shape key is only available on a mesh - and is only imported/exported along with a mesh.

The overall end goal is to be able to export authored and baked curves within the FBX for the specific purpose of importing them into a game engine.

The most common application would be to take out the Root Bone rotation from the armature, and memorize it in this custom curve value.
The process is used extensively in Maya/3DSM and is illustrated in this series of UE4 related tutorials

Another important application would be to copy and use the Foot Z or Y location of a walk cycle to define the custom values that drive foot IK placement within a game (when to enable disable the IK so that a foot can lift off the floor correctly on-par with animation).

So, I suppose the question to the higher level blender programmers is What would you do/How would you do this?
I don’t have much of a direction on a way to start coding this other then to start picking apart the shapekeys code.

I should mention that I did try the obvious:
bpy.data.objects[‘root’].shape_key_add(name=“Test”)
Traceback (most recent call last):
File “<blender_console>”, line 1, in
RuntimeError: Error: Object ‘root’ does not support shapes

Also, another possible application would be Material curves - which are sort of their own thing within Unreal, but could be though the same as this. You could for instance use this to define the curve on which a material glow is then built in game.


Just to be even more clear. If I add a custom properly to the armor I can manipulate the curve.
The issue is that this custom property is not exporting in the FBX at all.

So after some extra testing, I have to say that maybe the way to go about this is not a feature request as much as refactoring the FBX importer to label stuff correctly.

This is a sample file with a curve that imports correctly.
http://mosthostla.com/downloads/Turn_Left_180_TravelMode.FBX
Importing this into blender drops the curve data.

This is a sample file exported from blender with a custom value described as a curve - neither the engine nor blender import this value, but it’s definitely within the file.
http://mosthostla.com/downloads/sample_curve.FBX

Sort of at a loss on where to go from there, but I’m thinking that modifying the export to label the custom value curve to match the same type that imports into the engine is step 1 if I can swing it.

Just an update for anyone that might end up in this topic.
I need up creating my own import/export modified version of the FBX plugin.
You can find it here
http://mosthostla.com/gamedev/ue4curves/

1 Like

is your addon support latest blender version?