Compressing Quaternion to 32-bit in C# with Unity
Based on muQuat32 in unity3d-jp/MeshSync, I attempted to write code using C#'s BitVector32 to compress Quaternion to 32 bits.
Vector3 axis;
float angle;
Quaternion quaternion = Quaternion.AngleAxis(angle, axis);
// Compress (Quaternion -> Quat32 -> int)
Quat32 quat32 = quaternion;
int compressed = quat32;
// Decompress (int -> Quat32 -> Quaternion)
quat32 = compressed;
Quaternion decompressed = quat32;