什么是BLP档案
BLP档案的全名为Blizzard Texture File,是游戏公司Blizzard Entertainment专门为其多款作品设计的图像纹理格式。这个格式最早出现在Warcraft III时代,随后被大量应用于World of Warcraft、Diablo系列以及StarCraft II等知名游戏。BLP档案的核心作用是在游戏引擎中高效存储和调用材质表面贴图,包含颜色、透明度以及多级分辨率影像,以实现远端显示时自动切换到较低细节的版本,从而节省运算资源。由于BLP不是通用图像格式,一般的图片浏览软件无法直接识别,必须借助特定工具才能查看或编辑。在模组制作、游戏美术资源提取或个人化界面修改的过程中,了解BLP档案的结构与操作方法至关重要。
BLP档案的结构与压缩方式
BLP档案内部包含一个固定的档案头,开头通常以ASCII码标示版本类型,最常见的是BLP0、BLP1和BLP2。其中BLP1主要用于较早期的游戏,限制最大尺寸为512像素;BLP2则支持高达65535像素的单边长度,适用于Warcraft III资料片The Frozen Throne及后来的更新。档案头之后储存了一张包含256种颜色的调色板,每个颜色以BGRA 8888格式记录,并允许8位元透明度通道。除了基本的颜色资料,BLP档案还内建多组预先计算好的mipmap,这些mipmap是原图等比例缩小后的副本,让游戏可以根据物件与镜头的距离自动选用合适解析度的贴图,提高渲染效率。

在压缩策略上,BLP主要采用两种方式。第一种是调色板索引压缩,将每个像素记录为指向调色板的8位元索引,适合颜色数目不多的图像。第二种是DXT压缩家族(DXT1、DXT3、DXT5),这是S3TC纹理压缩技术的一种延伸,能有效降低RGB资料的大小,同时保留必要的透明度细节。DXT1不支援透明通道,DXT3和DXT5则分别以不同方式编码透明信息。实际应用时,游戏开发人员会根据贴图的内容选择合适的压缩模式,例如带有复杂渐层的图标可能使用未压缩的BGRA储存,而大面积材质则常用DXT压缩以减少档案体积。
值得注意的是,BLP格式本身并未公开完整的技术说明,目前广泛引用的规格主要来自社群逆向分析以及Blizzard早期发布的开发工具文件。由于官方并未推出通用的转换程式,第三方工具便成为处理BLP档案的主要途径。

| 版本 | 最大尺寸 | 支援Alpha | 常用压缩 | 主要游戏 |
|---|---|---|---|---|
| BLP1 | 512 x 512 | 是(8位元) | 调色板、DXT | Warcraft III(原始版) |
| BLP2 | 65535 x 65535 | 是(8位元) | DXT、未压缩BGRA | Warcraft III 寒冰霸权、World of Warcraft |
如何开启BLP档案
由于BLP并非系统原生支援的格式,欲检视其内容必须使用专用软件。以下是几种主流且经过验证的开启方式。
- XnView:这是一款免费且功能强大的图像浏览与管理程式,内建对BLP格式的部分支援,可直接显示大多数BLP1和BLP2档案,但可能无法正确解析某些特殊压缩模式。
- Addon Studio for World of Warcraft:这是一套开源工具,主要功能是协助玩家编辑游戏介面附加元件,同时也包含了BLP影像的预览与导出能力,适合WoW模组创作者使用。
- BLP Converter(独立工具):专门用于转换BLP格式的轻量级程式,多数版本同时具备开启与转换功能,可快速检视图片内容。
- Warcraft III Viewer:结合模型与贴图浏览的社群工具,适合需要同时检视多媒体的使用者。
- Photoshop 外挂:部分较早的Photoshop外挂(如BLP Plugin)可在安装后让Photoshop读取BLP档案,但后续更新已中止,相容性有限。
上述工具大多可从社群网站(如Hive Workshop)或开源专案页面下载。在安装前建议确认来源可靠,避免下载到含恶意程式的修改版。若要了解更多技术细节,可参考wowdev Wiki上的BLP条目,该页面详细记录了档案位元组结构和压缩演算法。

如何转换BLP档案
转换BLP档案为通用格式(如PNG、TGA、BMP、JPG)是模组制作与资源提取中最常见的需求。多数转换工具同时支援批次处理,能够一次转换大量档案。常用的转换流程如下:
使用独立的BLP Converter程式(如BLP2PNG),开启档案后选择输出格式与路径,即可产生标准影像。需注意转换过程中可能会遗失某些游戏专用资料,例如mipmap链、特定压缩标记或旗标。若只需保留最高解析度的主贴图,转换后的档案通常足够使用。反之,若想保留所有mipmap层级,则须选择支援多页输出的格式如TGA或DDS,有些工具也允许直接输出成原始BGRA资料。

对于World of Warcraft玩家,界面元件常以BLP格式存放。透过Addon Studio或类似工具,使用者可以导入外部PNG图片并重新输出为BLP,以便替换游戏内纹理。这种反向转换通常需要指定正确的压缩参数与版本,否则游戏可能无法正常读取。社群中广泛引用的资源包括Hive Workshop的BLP规格讨论,其中清楚说明BLP0、BLP1与BLP2之间的差异,以及DXT压缩的相关限制。
转换过程中也应注意色域问题,BLP档案可能使用特定的Gamma校正或色彩空间,简单转换可能导致颜色偏移。若发现转换后图片色彩失真,可尝试调整输出设定或改用支援色彩管理的工具。

BLP档案的其他用途
虽然绝大多数BLP档案来自Blizzard游戏,但在极少数情况下,此副档名也可能出现在其他程式中。例如一款名为Speedy Eggbert的益智游戏,其资料档也使用.blp副档名,但内部结构完全不同,通常包含MIDI音讯或传统位图资料。这类档案无法用Blizzard纹理工具开启,必须使用该游戏的原始程式或专门的提取器。对于普通使用者而言,遇到扩展名为.blp的档案时,可先尝试用XnView或Hex编辑器查看档案开头,若开头字符为BLP0、BLP1或BLP2,则可确认是Blizzard纹理;若为其他字符,则需依应用程式判断。这个区别在档案辨识与转换时十分关键。
参考文献
本文内容参考了以下来源,这些资料提供更详尽的技术说明与历史背景。
Blizzard纹理档案的官方规格未被公开,但社群逆向分析成果收录于多个网站。wowdev Wiki的BLP页面(https://wowdev.wiki/BLP )是当前最权威的结构说明,涵盖档案头、调色板、压缩类型与mipmap计算方式。Just Solve the File Format Problem网站(http://justsolve.archiveteam.org/wiki/BLP )确认了BLP2的开头ASCII标识以及原始出处。Solvusoft的副档名资料库(https://www.solvusoft.com/en/file-extensions/file-extension-blp/ )整理了BLP与Warcraft III及Bjord Ent.的关联。Hive Workshop的论坛帖子(https://www.hiveworkshop.com/threads/blp-specifications-wc3.279306/ )补充了BLP0/BLP1的尺寸限制与版本细节。Speedy Eggbert等非Blizzard用途的说明来自小型游戏社群记录。以上来源均为公开的可靠资料,建议有兴趣深入了解的读者进一步查阅。





