Location keys animation data parsed strangely

hello there, I’m doing .blend c++ parser and I faced a problem I can’t get the roots of: I have a simple model with one animation, KeySet is LocationRotationScale, but the Location data is updated only for a root bone, rest bones are altered only with Rotation - so, after parsing I see Scale data as 1.0, 1.0, 1.0 - good, rotation quat data is parsed correctly - good, but Location data differs from 0.0f, 0.0f, 0,.0f (that I expect it to be at every bone except the root one) at some bones which are only the bones that dont have children, I mean the top bones of the bone chains, and looks like random e-07 floats. Id love to know why is that behaviour, is it a modelling issue or I have wrong code, thank you :slight_smile:

Console window report gives a parsing example for right_arm bone: it means 5 columns that correspond to the bone update (5 times per animation), and the raws follow in order: location[0…2], quaternion[3…6], scale [7…9] - as you can see location data for 2nd, 3d and 4th tick is incorrect and can not be explained (to my opinion) - it repeats [-4.01693e07, 2.38419e-7,1.12808e-07] instead of being [0.0, 0.0, 0.0], have to say sorry Im an coding amateur and may be didnt describe the image quite clear :slight_smile:

So I found out these are scientific notation floats, and by " - " sign after e it mostly means its almost a zero - the question is why does Blender store the location data in this format instead of zero considering bone location offsset doesnt change? Or I dont get it correct?