5,389
edits
m (→Compression size 6: reformulating) |
(→Compression size 6: additional insight after batch-processing the TRAM) |
||
Line 185: | Line 185: | ||
|} | |} | ||
An orientation consists of three angles, each of them stored in quantized form, as a 2-byte signed integer (short). | An orientation consists of three angles, each of them stored in quantized form, as a 2-byte signed integer (short). | ||
:*Oni converts from the stored integer to an angle through multiplication by 360°/65535 = '''0.00549324'''78828[...] | :*Oni converts from the stored integer to an angle through multiplication by 360°/65535 = '''0.00549324'''78828[...] | ||
:*Thus, when quantizing angles from a new animation, multiply the angles by 65535/360° = '''182.041'''6667[...] | :*Thus, when quantizing angles from a new animation, multiply the angles by 65535/360° = '''182.041'''6667[...] | ||
:*A quantized angle of 65535 never occurs in Oni, so apparently they consistently used only 0 through 65534. | |||
Note that these angles cannot be used directly for interpolation, they must first be converted to quaternions. | Note that these angles cannot be used directly for interpolation, they must first be converted to quaternions. |