什么是 MDX 文件?
MDX 文件是暴雪娱乐的游戏《魔兽争霸 3》中使用的模型文件。这些文件包含 3D 模型,包括网格、纹理、动画以及渲染游戏中角色、建筑和其他对象所必需的其他数据。以下是 Warcraft 3 中 MDX 文件格式的详细拆解:
MDX 文件的结构
头部
头部通常包含模型的元数据,例如文件格式的版本以及其他通用信息。
顶点
本节包含模型顶点的 3D 坐标。顶点是构成模型网格的三维空间点。
法线
法线是垂直于模型表面每个顶点的向量,用于光照计算。
纹理坐标
这些坐标将 2D 纹理映射到 3D 模型上。
面
面(或多边形)定义顶点如何连接形成 3D 形状。通常模型由三角形或四边形组成。
骨骼
骨骼用于骨骼动画,使模型能够以逼真的方式移动。
动画
本节包括用于为模型制作动画的数据,如关键帧和骨骼变换。
材质
材质定义模型表面的外观,包括纹理、颜色和着色属性。
几何集
几何集是顶点、法线和面集合,构成模型的各个部分。每个几何集可以拥有自己的材质。
附加点
这些是模型上可以附加其他对象(如武器或特效)的点。
事件
事件可以在模型动画期间触发特定动作或效果,如音效或粒子发射。
编辑 MDX 文件的工具
- Warcraft 3 Model Editor:类似 Warcraft 3 Model Editor(亦称 War3ModelEditor)的工具可让您查看和编辑 MDX 文件。
- MDLX Converter:此工具可在 MDX 与 MDL 格式之间相互转换,MDL 是一种人类可读的文本格式。
MDX 与 MDL 的对比
- MDX:二进制格式,更紧凑且对游戏引擎读取更高效。
- MDL:文本格式,便于人类阅读和编辑。
将 MDX 转换为 MDL
- 打开 MDLX Converter。
- 加载您的 MDX 文件 到转换器中。
- 转换 为 MDL 格式,以便更容易编辑。
- 使用文本编辑器编辑 MDL 文件。
- 使用转换器将文件转换回 MDX。
示例使用场景
如果您想在 Warcraft 3 中自定义角色模型,您可以:
- 提取 游戏文件中的 MDX 文件。
- 转换 为 MDL 以便更容易编辑。
- 进行必要的更改,如修改顶点、纹理或动画。
- 将编辑后的 MDL 文件转换回 MDX。
- 将修改后的 MDX 文件导入 回游戏中。
如何打开 MDX 文件
打开 MDX 文件(尤其是用于 Warcraft 3 这类游戏)通常需要使用专门的游戏模型处理工具。您可以使用以下工具打开并编辑 MDX 文件:
- Warcraft 3 Model Editor (War3ModelEditor)
- MDLX Converter
- Blender(配合 MDX 导入/导出插件)
- Notepad++(或任何文本编辑器,若先转换为 MDL)
MDX 文件的关键特征
| 特征 | 描述 |
|---|---|
| 文件扩展名 | .mdx |
| 主要变体 | Blizzard 3D 模型、MDict 字典、Daemon Tools 光盘映像、Ansys 数据、X68000 音频 |
| 主要用途 | 根据变体而异:3D 游戏资产、字典数据库、虚拟光盘映像、仿真数据 |
| 格式类型 | 混合:二进制(游戏模型、光盘映像)、结构化二进制(字典)、ASCII(工程数据) |
| 主要特性 | 格式多态性——单一扩展名可用于多种完全不同的用途 |
| 兼容性 | 高度依赖具体变体;每种类型均需特定的专用软件 |
| 安全性概况 | 中等;光盘映像和字典通常安全,游戏模型可能包含自定义代码 |
常见问题
Q1:我可以用文本编辑器打开 MDX 文件吗?
A:这取决于具体变体。MDict 字典文件在开头会显示 XML 元数据,Ansys 文件则完全基于文本。然而,Blizzard 的 3D 模型和 Daemon Tools 的光盘映像是二进制的,在文本编辑器中会显示为乱码。
Q2:我需要什么软件才能查看 Warcraft III 的 MDX 模型?
A:使用 War3ModelEditor 或 MDLX Converter 来查看和编辑 Blizzard 的 MDX 模型文件。这些工具也可以在 MDX 与可编辑的 MDL 文本格式之间相互转换。
Q3:我可以在 macOS 上使用 MDict 字典文件吗?
A:macOS 原生的 Dictionary 应用不直接支持 MDX,但您可以使用支持 MDX 的 GoldenDict‑ng,或使用 PyGlossary 工具将 MDX 文件转换为 Apple 的字典格式。
Q4:如何挂载 MDX 光盘映像?
A:下载 Daemon Tools Lite(提供免费版),安装后右键点击 MDX 文件并选择“挂载”,或在 Daemon Tools 界面中将其挂载为虚拟驱动器。
Q5:MDX 和 MDL 是同一种东西吗?
A:不是——它们是 Blizzard 3D 模型的相关格式。MDX 是游戏最终使用的二进制格式,而 MDL 是用于编辑和开发的可读文本格式。两者之间可以通过转换工具相互转换。