地图文件格式
< 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 2、 id Tech 3和
 id Tech 3和 id Tech 4通用的纯文本格式,用于存储实体与场景几何数据(id Tech 4引擎甚至可直接读取)。
 id Tech 4通用的纯文本格式,用于存储实体与场景几何数据(id Tech 4引擎甚至可直接读取)。 起源的VBSP仍保留对MAP文件的编译支持。
 起源的VBSP仍保留对MAP文件的编译支持。
该格式核心由多个实体构成,每个实体可包含:
- 笔刷(所有引擎)
- (仅存在于 
 之中) 曲面网格
- (仅存在于
 之中) 曲面网格
- (仅存在于  之中) 置换面
 之中) 置换面
 警告:兼容性问题错综复杂:GoldSrc编译器仅支持Quake1 Valve220格式,但MAP文件存在数十种变体(详见[[Zh/
警告:兼容性问题错综复杂:GoldSrc编译器仅支持Quake1 Valve220格式,但MAP文件存在数十种变体(详见[[Zh/
- Variants|变体章节]])
格式变体
| 格式名称 | 支持工具 | 特性说明 | 
|---|---|---|
|  Quake I (经典版) | 除  Hammer 4.x外多数工具 | 原始格式 | 
|  Quake I (Valve220) | 所有  金源工具及多数现代  雷神之锤引擎工具 | 增强纹理UV精度 由  Worldcraft 2.0首创,现为标准 | 
|  Quake II (经典版) | 所有  Quake II Engine及多数  id Tech 3工具 | 新增三个WAL元数据标志位 | 
|  Quake II (Valve220) |  J.A.C.K.、  NetRadiant-Custom和  TrenchBroom | 采用Valve220式UV坐标 现为Quake2社区标准 | 
|  Quake III (轴向投影) | 所有  id Tech 3工具 | 支持[[Zh/ 
 | 
|  Quake III (笔刷基元) | 除  Q3Radiant和  TrenchBroom外多数工具 | |
|  Doom 3 (轴向投影) | 所有  id Tech 4工具 | 标准笔刷已逐渐被笔刷基元取代 | 
|  Doom 3 (笔刷基元) | 除TrenchBroomBFG外多数工具 | |
|  起源 (Valve400) | 无 | 早期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缩放
 重要:旋转值必须与UV法向量方向匹配,否则会导致编辑器异常!
重要:旋转值必须与UV法向量方向匹配,否则会导致编辑器异常!格式转换工具
使用maputil.exe可进行格式互转: ```bash
- 转为笔刷基元
maputil.exe --convert bp input.map
- 转为Valve220标准
maputil.exe --convert valve input.map
相关链接
VMF(Source引擎原生格式)
RMF(Worldcraft遗留格式)

























