lol-skins 仓库 Space Groove Taric 炫彩包全解析:Chroma ID、WAD 结构与资源组织规范
lol-skins 仓库 Space Groove Taric 炫彩包全解析:Chroma ID、WAD 结构与资源组织规范
本文基于 lol-skins 开源仓库中 skins/Taric/chromas/Space Groove Taric/ 目录的 README.md 及其配套压缩包展开,系统讲解 Space Groove Taric 炫彩(Chroma)资源包的完整清单、包内数据文件格式(META/info.json 与 WAD/Taric.wad.client)、Chroma ID 的编号规律,以及该系列在仓库中的组织方式。读完本文,你将掌握这套炫彩包的目录结构、ID 到文件/预览图的映射关系,并能用几行 Python 命令独立校验包内元数据,进而推广到仓库中其他英雄的炫彩集。
一、背景:lol-skins 仓库与炫彩资源包
仓库根目录 README.md 将自身定位为 "a comprehensive collection of League of Legends skins available for custom use",即一套面向自定义使用场景的《英雄联盟》皮肤资源合集,并明确声明:本仓库未获得 Riot Games 背书,不代表 Riot Games 及其关联方的观点,所有相关商标归 Riot Games, Inc. 所有。
仓库按英雄分目录组织,每个英雄目录(如 skins/Taric/)下存放该英雄各款皮肤的基础资源包(.zip),而每款皮肤的具体炫彩配色则收纳在 chromas/ 子目录中,以"皮肤名 + 炫彩 ID"命名子目录。Space Groove Taric(太空律动 塔里克)就是其中的典型样本:其炫彩资源完整存放于 skins/Taric/chromas/Space Groove Taric/,共包含 1 份索引文档(README.md)与 8 个炫彩压缩包。
二、炫彩清单:44019–44026 八个条目
关联文档 skins/Taric/chromas/Space Groove Taric/README.md 的核心内容是一张"预览图 / Chroma ID / 名称"对照表。下表完整继承该文档数据,并补充了仓库中实际对应的压缩包文件:
| Chroma ID | 名称 | 仓库内对应文件 |
|---|---|---|
| 44019 | Space Groove Taric | Space Groove Taric 44019.zip |
| 44020 | Space Groove Taric | Space Groove Taric 44020.zip |
| 44021 | Space Groove Taric | Space Groove Taric 44021.zip |
| 44022 | Space Groove Taric | Space Groove Taric 44022.zip |
| 44023 | Space Groove Taric | Space Groove Taric 44023.zip |
| 44024 | Space Groove Taric | Space Groove Taric 44024.zip |
| 44025 | Space Groove Taric | Space Groove Taric 44025.zip |
| 44026 | Space Groove Taric | Space Groove Taric 44026.zip |
可观察到两个关键事实:
- ID 连续:8 个条目覆盖 44019 → 44026,中间无断号,属于同一皮肤条目下的一整组配色集合。
- 文件命名规范:每个压缩包以
皮肤名 + 空格 + Chroma ID命名,与目录名Space Groove Taric/前缀保持一致,便于脚本按 ID 批量检索。
各压缩包体积略有差异(约 15.2–15.6 KB,见下文 ls 输出),说明每个包内携带的 WAD 载荷并不完全相同,每个炫彩都有独立的资源数据。
三、目录结构:一个炫彩集 = README + 8 个自包含 ZIP
skins/Taric/chromas/Space Groove Taric/ 目录的实际内容如下(来自仓库文件系统):
skins/Taric/chromas/Space Groove Taric/
├── README.md
├── Space Groove Taric 44019.zip (15574 B)
├── Space Groove Taric 44020.zip (15472 B)
├── Space Groove Taric 44021.zip (15507 B)
├── Space Groove Taric 44022.zip (15333 B)
├── Space Groove Taric 44023.zip (15249 B)
├── Space Groove Taric 44024.zip (15456 B)
├── Space Groove Taric 44025.zip (15385 B)
└── Space Groove Taric 44026.zip (15475 B)
这种"每套炫彩一个子目录,每款配色一个独立 ZIP"的组织方式在仓库中高度统一——skins/Taric/chromas/ 下共存在 4 套炫彩集,均遵循相同规范:
| 炫彩集目录 | Chroma ID 范围 | 条目数 |
|---|---|---|
| Pool Party Taric/ | 44005–44008 | 4 |
| Taric Luminshield/ | 44010–44017 | 8 |
| Space Groove Taric/(本文主题) | 44019–44026 | 8 |
| Fatebreaker Taric/ | 44028–44035 | 8 |
同时,skins/Taric/ 顶层还存放了这些皮肤的基础包(如 Space Groove Taric.zip、Pool Party Taric.zip、Fatebreaker Taric.zip、Taric Luminshield.zip 以及经典皮肤 Taric.zip),从而形成"皮肤基础包在顶层、炫彩包在 chromas/ 子目录"的完整资源矩阵。
四、压缩包内部结构:META/info.json 与 WAD/Taric.wad.client
以 44019 号压缩包为例,实际解包后的条目(使用 Python zipfile 读取)为:
META/info.json 136 B
WAD/Taric.wad.client 15459 B
即每个炫彩包内部只有两个文件,非常精简:
META/info.json:元数据清单,描述该资源包的名称、来源与版本;WAD/Taric.wad.client:游戏客户端资源归档(WAD 文件),即炫彩实际生效的载荷。
4.1 META/info.json 字段解析
Space Groove Taric 44019.zip 内 META/info.json 的实际内容为:
{
"Author": "darkseal.org",
"Description": "Extracted by Cresi",
"Name": "Space Groove Taric (44019)",
"Version": "1.0.0"
}
| 字段 | 值 | 含义 |
|---|---|---|
Author |
darkseal.org |
资源来源站点(darkseal.org),标识该包由第三方提取整理 |
Description |
Extracted by Cresi |
提取说明,注明由用户 "Cresi" 从游戏数据中提取 |
Name |
Space Groove Taric (44019) |
资源包显示名,括号内为 Chroma ID |
Version |
1.0.0 |
资源包版本号,便于工具做版本管理 |
对比基础皮肤包 skins/Taric/Space Groove Taric.zip 内的同名文件:
{
"Author": "darkseal.org",
"Description": "Extracted by Cresi",
"Name": "Space Groove Taric",
"Version": "1.0.0"
}
可以看到,基础包 Name 不带 ID 后缀,而每个炫彩包 Name 带 (44019) 形式的后缀——正是靠这一字段将炫彩包与其 Chroma ID 一一对应。经典皮肤包 Taric.zip 的元数据结构完全相同(仅 Name 为 Taric),说明全仓库统一使用这套 META/info.json 约定。
4.2 WAD/Taric.wad.client:客户端 WAD 归档
WAD/Taric.wad.client 文件(15459 B)以二进制开头 52 57 03 03(即 ASCII RW 魔数 + 版本字节 0x03 0x03),与 Riot 客户端 WAD 归档格式一致。对全文件做可读字符串扫描时,几乎提取不到有意义的资源名(条目以哈希键形式组织),这是游戏客户端 WAD 的典型表现——文件名被打散为哈希索引,避免明文暴露资源路径。
可以使用如下 Python 命令在本地独立校验任意炫彩包(无需解压,只读访问):
import json
import zipfile
path = "skins/Taric/chromas/Space Groove Taric/Space Groove Taric 44019.zip"
with zipfile.ZipFile(path) as z:
for name in z.namelist(): # 列出包内条目
print(name, z.getinfo(name).file_size)
info = json.loads(z.read("META/info.json")) # 读取元数据
print(info)
wad = z.read("WAD/Taric.wad.client") # 读取 WAD 头
print("WAD magic:", wad[:8].hex())
输出示例:
META/info.json 136
WAD/Taric.wad.client 15459
{'Author': 'darkseal.org', 'Description': 'Extracted by Cresi', 'Name': 'Space Groove Taric (44019)', 'Version': '1.0.0'}
WAD magic: 52570303000000000000000000000000
五、Chroma ID 与预览图的对应规律
关联文档中每行均附带一张预览图,其图片路径遵循统一模板(此处仅描述路径结构,不展开外部链接):
champion-chroma-images/{championId}/{chromaId}.png
- 路径中的 44 即 Taric 的英雄 ID(Champion ID);
- 紧随其后的 44019–44026 即上文的 Chroma ID。
从数值结构看(44 * 1000 + 序号),可以推断:Chroma ID 前两位与英雄 ID 一致,后三位是该英雄皮肤/炫彩条目的内部序号。44019 紧邻 Taric Luminshield 的 44017 与 Fatebreaker 的 44028,ID 空间按皮肤发布顺序连续分配,中间的空号(如 44009、44018、44027)对应仓库未收录的其他炫彩条目。
另外可以注意到:44019 在文档中排第一,其名称与基础皮肤包 skins/Taric/Space Groove Taric.zip 的 Name 一致,可推断 44019 对应 Space Groove Taric 的默认配色(基础外观),而 44020–44026 为 7 款额外炫彩配色——这与 LoL 数据中"每款皮肤自带一个默认外观、炫彩按皮肤 ID 顺延编号"的惯例吻合。
六、使用方式与合规提示
这些压缩包是自包含的资源单元:META/info.json 提供元数据供工具索引,WAD/Taric.wad.client 提供可注入客户端资源目录的 WAD 归档。它们适用于支持 WAD 注入/替换的社区自定义皮肤工具链,具体安装流程取决于所用工具,仓库本身仅负责提供资源包,不包含任何安装器或脚本。
使用前请注意仓库根目录 README.md 中的声明:该仓库未获 Riot Games 背书,Riot Games 及其相关资产均为 Riot Games, Inc. 的商标。本文内容仅用于技术研究与资源结构解析。
七、小结
Space Groove Taric 炫彩集是 lol-skins 仓库资源组织规范的一个完整缩影:
- 索引层:
README.md以"预览图 / Chroma ID / 名称"表格列出 8 个条目(44019–44026); - 数据层:每个条目对应一个独立 ZIP,包内统一为
META/info.json+WAD/Taric.wad.client; - 元数据层:
info.json记录来源(darkseal.org)、提取者(Cresi)、名称(含 Chroma ID)与版本; - 编码层:Chroma ID 与英雄 ID(44)共用前缀,与预览图路径、压缩包文件名三方联动。
掌握了这套约定,你就可以用同样的方式检索和校验仓库中其余 170 余位英雄下的任意炫彩资源包——例如对照 Pool Party Taric/README.md、Fatebreaker Taric/README.md 与 Taric Luminshield/README.md,你会发现它们的结构与本文完全一致,仅 ID 范围和条目数量不同。