IDE
扩展名为 .ide , 通常用于定义模型和贴图的 ID(必须唯一),以及模型相关的属性(Flags)。
基本结构
用于定义模型文件和贴图文件之间的映射关系以及模型的相关属性Flags,并赋予一个唯一的ID给引擎进行查询。
注:由于数字很大,为了阅读方便这里默认使用16进制来表示,需要请自行转换。
属性值 (FLAG_NUMBER) : 描述 (DESCRIPTION)
Refrences (参考文献)
[1] “OBJS,” GTA Wiki. Available: https://gta.fandom.com/wiki/OBJS
[2] "IDES", GTA Wiki. Available: https://gta.fandom.com/wiki/IDE
[3] Justin,"19.2 剔除(culling)技术", Zhihu. Available: https://zhuanlan.zhihu.com/p/403555125
[4] Y. Milo,"如何理解OpenGL中的backface culling以及图形的正反面?" Avaiable: https://www.zhihu.com/question/41690252
扩展名为 .ide , 通常用于定义模型和贴图的 ID(必须唯一),以及模型相关的属性(Flags)。
基本结构
Section Flag
...
end
Section Flag 用来表示一系列详细的元素定义,例如:模型(OBJ),贴图父级(TXDP)OBJ动画 (ANIM),等,在SA引擎可用的SectionFlag如下- OBJS - 模型文件
- TOBJ - Timed Object,在特定时间内显示的模型文件,通常用于夜晚的霓虹灯,窗户灯等。
- ANIM - Animated Map Object,OBJ动画,例如UFO酒吧前的飞碟(会旋转),机场雷达,LV沙漠油田的磕头机
- TXDP - Texture Archive Parent,定义贴图的父级(Parent),你可以使用这个属性来告诉引擎需要额外查询的贴图(Txd)文件
- 2DFX - 2D光源定义,SA不用,因为SA已经讲2DFX灯光信息附着在模型的DFF二进制文件里,但是如果你是在转VC/III的地图的话基本上会看到很多这个Flag,因为他们不支持DFF的2DFX效果
- PATH - 路径文件定义,用来定义单机NPC载具或者行人行走的路径,同上,SA默认不用,主要VC/III,SA已经将PATH迁移到GTA3.IMG里的nodeData_*.dat文件中。
用于定义模型文件和贴图文件之间的映射关系以及模型的相关属性Flags,并赋予一个唯一的ID给引擎进行查询。
objs
ID, ModelName, TextureName, ObjectCount, DrawDist, Flags
end
- ID - 模型唯一的编码,用来查找模型
- ModelName - 模型的文件名,具体对应DFF的名字(去除后缀)
- TextureName - 模型对应的贴图文件名,具体对应TXD的名字(去除后缀)
- ObjectCount - SA可选,默认为1,用来描述该模型有多少个组件,例如损坏部分
- DrawDist - 模型渲染距离,用来表示该模型多远可见,注:MTA最大建议不要超过300,否则可能会出现渲染BUG
- Flags - 模型属性,例如透明OBJ,可以损坏的OBJ,默认为0,详细Flags属性列表在下面列出
注:由于数字很大,为了阅读方便这里默认使用16进制来表示,需要请自行转换。
属性值 (FLAG_NUMBER) : 描述 (DESCRIPTION)
- 0x1 : 下雨效果
- 0x2 : 夜间OBJ标记
- 0x4 : ALPHA Transperent_1 透明类型_1
- 0x8 : ALPHA Transperent_2 透明类型_2
- 0x10: 白天OBJ标记
- 0x20: 室内OBJ标记
- 0x40: 禁用影子网格渲染(Shadow Mesh), 影子通常定义在模型对应的COL文件里
- 0x80: 在视图平截锥体(View frustum)外剔除掉该模型 [3],用于优化节省资源
- 0x100: 禁用模型LOD显示
- 0x200: 玻璃,易碎,可撞烂
- 0x400: 玻璃,(需要一点力度才能撞烂)
- 0x800: 车库门
- 0x1000: 2种形态的OBJ,例如可以撞烂的路灯,撞烂后会切换到另外一个模型(损坏的模型)显示
- 0x2000: 小的植被,可在强风中飘
- 0x4000: 普通植被,例如椰子树
- 0x8000: 使用timecycle.dat里的PoleShadow标记
- 0x10000: 可爆炸的OBJ,例如油桶
- 0x20000: 未知属性1,和SCM相关(任务脚本)
- 0x40000: 未知属性2
- 0x80000: 未知属性3
- 0x100000: 帮派涂鸦
- 0x200000: 禁用背面除去(Backface Culling)渲染 [4],无视模型正反面里外一律渲染
Refrences (参考文献)
[1] “OBJS,” GTA Wiki. Available: https://gta.fandom.com/wiki/OBJS
[2] "IDES", GTA Wiki. Available: https://gta.fandom.com/wiki/IDE
[3] Justin,"19.2 剔除(culling)技术", Zhihu. Available: https://zhuanlan.zhihu.com/p/403555125
[4] Y. Milo,"如何理解OpenGL中的backface culling以及图形的正反面?" Avaiable: https://www.zhihu.com/question/41690252