OpenFlight格式和API的英文手册在MultiGen的官方网站上可以免费下到,我就不贴出来了,由于我英文差,如果有些理解错误的地方谢谢大家指出来。 第一章讲的是场景描述,以前有人贴过,我就不废话了 第二章 OpenFlight文件格式 一个OpenFlight数据库的层次结构被作为一个文件存储在磁盘上。文件由线性的二进制流记录组成。字节在文件中的存储顺序是按照Big Endian方式存储的(即0x1234在内存中存储顺序为0x12 0x34)。所有的OpenFlight记录都是以4个字节序列开始的。序列的前两个字节标识了记录类型(opcode),后两个字节指明记录的长度。在这种结构规律下,OpenFlight记录很容易从磁盘中读取并加以分析。 ● 所有的OpenFlight记录的长度都是4字节的整数倍。当一个记录不到4字节的整数倍时,会自动填补成4的整数倍。在某些情况下,OpenFlight记录被填补成8字节的整数倍。 ● 所有记录的长度(所有记录的值)同所有值的偏移值都是以字节为单位的。 ● 除非明确的说明,位域和掩码都是从0开始计算的。(例如第一个位的位号为0) ● 除非明确的说明,矩阵记录的元素是以排为主要顺序存储在OpenFlight文件中的。例如,矩阵元素应该以如下顺序排列: ● 所有OpenFlight记录的长度都被限制在能被2个字节或16个bit位(65535)表示的最大长度。对于长度固定的记录,这个最大长度是足够的。对于可变尺寸的记录,这个限制被扩展记录打破。更多信息见63页“Continuation Record”。 下面是Header Record
这里有一个问题:我用UE32打开两个版本的flt文件时出现的格式修订版本(format reision)如下: 版本15.69 值为00 00 06 18 版本15.70 00 00 06 22 它是长度为4的int类型。按照Big Endian方式通过值如何转换得到的版本信息? |
|
来自: 昵称12278894 > 《待分类1》