I’m currently developing something with pyfbxsdk but I’m prototyping with mobu and well… Im getting the same problem in both.
So I have those 2 objects named Parent and child (parent being child parent). I need to rotate the child object -90 degree globally on the X axis on all the animation. Basically I need to add a -90 degree offset.
So i thought I would open the animation with the fbxsdk, calculate the offset and modify the curves. I decided to go with the fbxsdk because of the speed and ideally I’d like to keep it.
I’ve been able to calculate the global transform of what child should be easily by doing some sinple matrix multiplication. However, for some reason I cant convert this global transform to the proper local tm.
When I multiply this global transform with the inverse of my parent transform I get garbage… at first I thought that my calculated glibal tm was wrong but I tested it and I know for a fact that my global transform gives me the right result.
After some investigations I discovered that my child object has pre-rotations(-90,0,90) but tbh Im not sure if this is what is causing the issue or how to take it into account in my math. Could this pre-rotation mess everything when calculating the local Tm?
Does anyone had issues like that in the past or knows a better way to solves this. In the fbx sdk it says that you can’t write global values but is there anither way to modify an animation other than loading thr curve and doing a KeySet() ?