I'm following ThinMatrix's skeletal animation tutorial and his custom written Collada parser is deriving a different rotation quaternion from each keyframe matrix than the Assimp importer library does. They are close, except the values are signed inversely and unpredicatbly.
I dug around his importer code but it's a mess. I assume he is manually performing an additional axis calculation somewhere, any ideas what it could be and why?
Original Matrix
1 0 0 0
0 -0.06466547 -0.997907 0
0 0.997907 -0.06466556 3.810999
0 0 0 1
Assimp rotation quaternion : (0.7296115 , 0 , 0 , 0.683862)
ThinMatrix's rotation quaternion : -0.72961134 , 0, 0 , 0.68386203)
And for reference, the position vec3: (0, 0, 3.810999)
Update:
With an identity matrix both Assimp and the ThinMatrix code produce (0, 0, 0, 1)