地图文件格式

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
edit
Info icon
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文件格式金源 金源id Tech 2 id Tech 2id Tech 3 id Tech 3id Tech 4 id Tech 4通用的纯文本格式,用于存储实体与场景几何数据(id Tech 4引擎甚至可直接读取)。起源 起源VBSP(en)仍保留对MAP文件的编译支持。

该格式核心由多个实体(en)构成,每个实体可包含: - 笔刷(en)(所有引擎) - (存在于 id Tech 3id Tech 4 之中) 曲面网格 - (存在于 起源 之中) 置换面

Warning.png警告:兼容性问题错综复杂:GoldSrc编译器仅支持Quake1 Valve220格式,但MAP文件存在数十种变体(详见[[Zh/
  1. Variants|变体章节]](en)

格式变体

格式名称 支持工具 特性说明
雷神之锤 Quake I (经典版) Hammer Hammer 4.x外多数工具 原始格式
雷神之锤 Quake I (Valve220) 所有金源 金源工具及多数现代雷神之锤引擎 雷神之锤引擎工具 增强纹理UV精度
Hammer 3.x Worldcraft 2.0首创,现为标准
Quake II Quake II (经典版) 所有Quake II Engine Quake II Engine及多数id Tech 3 id Tech 3工具 新增三个WAL(en)元数据标志位
Quake II Quake II (Valve220) J.A.C.K. J.A.C.K.NetRadiant-Custom NetRadiant-CustomTrenchBroom TrenchBroom 采用Valve220式UV坐标
现为Quake2社区标准
Quake III Quake III (轴向投影) 所有id Tech 3 id Tech 3工具 支持[[Zh/
  1. Patch meshes|曲面网格]](en)(类似置换面(en)但采用贝塞尔曲线)
    注意:编辑器需明确选择使用标准笔刷或[[Zh/
  2. Brush primitives|笔刷基元]](en)格式
Quake III Quake III (笔刷基元) Q3Radiant Q3RadiantTrenchBroom TrenchBroom外多数工具
Doom 3 Doom 3 (轴向投影) 所有id Tech 4 id Tech 4工具 标准笔刷已逐渐被笔刷基元取代
Doom 3 Doom 3 (笔刷基元) 除TrenchBroomBFG外多数工具
起源 起源 (Valve400) 早期Source引擎试验性格式(2001-2002年间被VMF(en)取代)

几何结构

笔刷定义

多数版本中,笔刷以平面(en)集合形式存储(而非顶点)。每个平面由三个点定义,平面相交形成边与顶点。因此: - 笔刷不能为凹面体 - 缺失面会导致无限延伸,引发编译错误

Quake1格式示例

{
    ( -16 -64 -16 ) ( -16 -63 -16 ) ( -16 -64 -15 ) 材质名 U偏移 V偏移 旋转 U缩放 V缩放
}
Note.png注意:虽然现代编译器支持浮点坐标,但建议非必要不使用,以避免精度问题

Valve220革新

改进纹理投影方式,消除斜面拉伸:

( x1 y1 z1 ) ( x2 y2 z2 ) ( x3 y3 z3 ) 材质名 [U法线向量] [V法线向量] 旋转 U缩放 V缩放
Icon-Important.png重要:旋转值必须与UV法向量方向匹配,否则会导致编辑器异常!

格式转换工具

使用maputil.exe可进行格式互转: ```bash

  1. 转为笔刷基元

maputil.exe --convert bp input.map

  1. 转为Valve220标准

maputil.exe --convert valve input.map

相关链接

MAP格式详解(en)

VMF(en)(Source引擎原生格式)

RMF(en)(Worldcraft遗留格式)