FBX 文件中使用的压缩算法是什么?
What is the compression algorithm used in FBX file?
我写了imorter fbx-files,指导规范位于这个link https://code.blender.org/2013/08/fbx-binary-file-format-specification/。它表示可以压缩数据集(例如,顶点数组)。行。从 Blender 导出时,我得到了压缩的顶点集,但我无法解压缩它们,因为它们不适合任何一个库(DotNetZip、SharpZipLib)。怎么了?
示例:
注意:Vertex是double类型
你
ncompressed vertices in ascii fbx file:
-12.500000,-12.500000,0.000000,12.500000,-12.500000,0.000000,-12.500000,12.500000,0.000000,12.500000,12.500000,0.000000,-12.500000,-12.500000,25.000000,12.500000,-12.500000,25.000000,-12.500000,12.500000,25.000000,12.500000,12.500000,25.000000
压缩二进制数据:
[0] 120 byte
[1] 1 byte
[2] 99 byte
[3] 96 byte
[4] 0 byte
[5] 1 byte
[6] 205 byte
[7] 3 byte
[8] 96 byte
[9] 10 byte
[10] 78 byte
[11] 67 byte
[12] 120 byte
[13] 64 byte
[14] 113 byte
[15] 7 byte
[16] 28 byte
[17] 226 byte
[18] 7 byte
[19] 160 byte
[20] 226 byte
[21] 80 byte
[22] 121 byte
[23] 8 byte
[24] 15 byte
[25] 73 byte
[26] 61 byte
[27] 186 byte
[28] 248 byte
[29] 1 byte
[30] 136 byte
[31] 10 byte
[32] 152 byte
[33] 61 byte
[34] 150 byte
[35] 80 byte
[36] 121 byte
[37] 116 byte
[38] 243 byte
[39] 225 byte
[40] 226 byte
[41] 48 byte
[42] 245 byte
[43] 80 byte
[44] 117 byte
[45] 112 byte
[46] 113 byte
[47] 52 byte
[48] 125 byte
[49] 150 byte
[50] 14 byte
[51] 0 byte
[52] 146 byte
[53] 244 byte
[54] 12 byte
[55] 117 byte
那个数据是zlib stream and can be decompressed with zlib。此处以十六进制显示解压结果:
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 c0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 00 00
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 40
00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 40 00 00 00 00 00 00 00 00
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 c0
00 00 00 00 00 00 39 40 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 39 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 40
00 00 00 00 00 00 39 40 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 40 00 00 00 00 00 00 39 40
我写了imorter fbx-files,指导规范位于这个link https://code.blender.org/2013/08/fbx-binary-file-format-specification/。它表示可以压缩数据集(例如,顶点数组)。行。从 Blender 导出时,我得到了压缩的顶点集,但我无法解压缩它们,因为它们不适合任何一个库(DotNetZip、SharpZipLib)。怎么了?
示例:
注意:Vertex是double类型
你
ncompressed vertices in ascii fbx file:
-12.500000,-12.500000,0.000000,12.500000,-12.500000,0.000000,-12.500000,12.500000,0.000000,12.500000,12.500000,0.000000,-12.500000,-12.500000,25.000000,12.500000,-12.500000,25.000000,-12.500000,12.500000,25.000000,12.500000,12.500000,25.000000
压缩二进制数据:
[0] 120 byte
[1] 1 byte
[2] 99 byte
[3] 96 byte
[4] 0 byte
[5] 1 byte
[6] 205 byte
[7] 3 byte
[8] 96 byte
[9] 10 byte
[10] 78 byte
[11] 67 byte
[12] 120 byte
[13] 64 byte
[14] 113 byte
[15] 7 byte
[16] 28 byte
[17] 226 byte
[18] 7 byte
[19] 160 byte
[20] 226 byte
[21] 80 byte
[22] 121 byte
[23] 8 byte
[24] 15 byte
[25] 73 byte
[26] 61 byte
[27] 186 byte
[28] 248 byte
[29] 1 byte
[30] 136 byte
[31] 10 byte
[32] 152 byte
[33] 61 byte
[34] 150 byte
[35] 80 byte
[36] 121 byte
[37] 116 byte
[38] 243 byte
[39] 225 byte
[40] 226 byte
[41] 48 byte
[42] 245 byte
[43] 80 byte
[44] 117 byte
[45] 112 byte
[46] 113 byte
[47] 52 byte
[48] 125 byte
[49] 150 byte
[50] 14 byte
[51] 0 byte
[52] 146 byte
[53] 244 byte
[54] 12 byte
[55] 117 byte
那个数据是zlib stream and can be decompressed with zlib。此处以十六进制显示解压结果:
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 c0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 00 00
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 40
00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 40 00 00 00 00 00 00 00 00
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 c0
00 00 00 00 00 00 39 40 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 39 40
00 00 00 00 00 00 29 c0 00 00 00 00 00 00 29 40
00 00 00 00 00 00 39 40 00 00 00 00 00 00 29 40
00 00 00 00 00 00 29 40 00 00 00 00 00 00 39 40