for learning purpose of 3d animation, I picked blender to study. So far I've exported .blend to .lua file that contains mesh data, bones, and animation data. My animation data is fcurve arrays based on keyframe. I am trying to load this into an engine and run it. I want to apply fcurve values on bones, however what I get is smashed animation. I am extra newbie to this, and I want to know what fcurve represent, how it should be used, and how I need to process the values to apply to bones. Without setting fcurve to bones, it draws the model as I expected. Thank you for the help in advance.


Blender's fcurve contains a collection of keyframed values, to calculate the value used on a frame in between two given keyframed values a bezier curve is used, each keyed point contains a left and right handle position that defines how the curve is calculated between keys. If you are only exporting the points listed in the fcurves data then you are missing the data for the frames in between.

You can have blender calculate the value for each keyframe instead of caclulating the curve yourself.

for f in range(100):
    val = fcurve.evaluate(f)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.