地图文件格式
< Zh
Jump to navigation
Jump to search
This page documents information about an engine not developed by Valve. This information is documented here because it has technical and/or historical relevance to Valve's engines.
本文涵盖所有主流MAP文件格式变体(不限于
金源所用版本),全面解析该格式并说明兼容性问题的复杂性
本文涵盖所有主流MAP文件格式变体(不限于
MAP文件格式是
金源、
id Tech 2、
id Tech 3和
id Tech 4通用的纯文本格式,用于存储实体与场景几何数据(id Tech 4引擎甚至可直接读取)。
起源的VBSP仍保留对MAP文件的编译支持。
该格式核心由多个实体构成,每个实体可包含:
- 笔刷(所有引擎)
- (仅存在于 ![]()
之中) 曲面网格
- (仅存在于
之中) 置换面
- Variants|变体章节]])
格式变体
| 格式名称 | 支持工具 | 特性说明 |
|---|---|---|
| 除 |
原始格式 | |
| 所有 |
增强纹理UV精度 由 | |
| 所有 |
新增三个WAL元数据标志位 | |
| 采用Valve220式UV坐标 现为Quake2社区标准 | ||
| 所有 |
支持[[Zh/
| |
| 除 | ||
| 所有 |
标准笔刷已逐渐被笔刷基元取代 | |
| 除TrenchBroomBFG外多数工具 | ||
| 无 | 早期Source引擎试验性格式(2001-2002年间被VMF取代) |
几何结构
笔刷定义
多数版本中,笔刷以平面集合形式存储(而非顶点)。每个平面由三个点定义,平面相交形成边与顶点。因此: - 笔刷不能为凹面体 - 缺失面会导致无限延伸,引发编译错误
Quake1格式示例
{
( -16 -64 -16 ) ( -16 -63 -16 ) ( -16 -64 -15 ) 材质名 U偏移 V偏移 旋转 U缩放 V缩放
}
Valve220革新
改进纹理投影方式,消除斜面拉伸:
( x1 y1 z1 ) ( x2 y2 z2 ) ( x3 y3 z3 ) 材质名 [U法线向量] [V法线向量] 旋转 U缩放 V缩放
格式转换工具
使用maputil.exe可进行格式互转: ```bash
- 转为笔刷基元
maputil.exe --convert bp input.map
- 转为Valve220标准
maputil.exe --convert valve input.map
相关链接
VMF(Source引擎原生格式)
RMF(Worldcraft遗留格式)