前言¶
在《战争雷霆》中制作自定义涂装,传统流程是「量 UV → 逐面放置角色 → 合成 → 导出 DDS + blk」。这个链路涉及多个步骤,每一步都需要手动操作,容易出错,尤其对于需要精细控制每个图层位置的用户来说,效率较低。
DSH(DeepSeek Harness)的理念是「一切皆插件」,通过插件可以扩展工具链。dsh-wtskin-project 就是这样一个插件,它把上述流程变成可调用的工具,并内置了四点多边形取点器。
这是什么¶
dsh-wtskin-project 是一个面向 DeepSeek Harness 的《战争雷霆》自定义涂装插件。由 Wuqiu-Ying 维护,属于「趣味换装」分类。插件提供了一套声明式图层系统,支持 4K DDS 纹理与 .blk 文件导出,让用户通过配置文件控制涂装流程,而不是手动操作。
核心功能¶
插件提供以下工具:
| 工具 | 作用 |
|---|---|
dsh_wtskin_project |
创建 / 读取 / 更新 project.json(画布尺寸、底漆、输出设置) |
dsh_wtskin_layer |
增删改查图层:图片 + 4 点四边形 + 旋转 / 翻转 / 偏移 / 裁切线 |
dsh_wtskin_export |
合成底漆与全部图层,输出 PNG、DDS、预览图和 .blk |
dsh_wtskin_presets |
列出内置机型预设(贴图名与 blk 条目) |
dsh_wtskin_measure |
启动本地取点页(四点多边形模式)并返回 URL |
取点器¶
dsh_wtskin_measure 会在 127.0.0.1 上起一个只服务单页的本地服务器(随机端口),把内置的 assets/measure.html(基于 image-pixel-coords.html 扩展)发给你:
- 拖入 / 粘贴一张贴图预览
- 点「四点框选」,依次点 4 个点,自动画出四边形
- 「缩放 ×」默认取工程的
quadScale(比如 1600 预览对应 2.56) - 保存到工程:直接把四边形写进
project.json的指定图层(该图层带自己的quadScale,不会被二次缩放) - 复制:输出
[[x,y],[x,y],[x,y],[x,y]],可以手动交给dsh_wtskin_layer
页面只用原生 JS,不依赖网络。
安装与启用¶
插件通过本地路径安装,不需要从 GitHub 直接添加。
# 有 dsh CLI
dsh plugin --profile desktop add link:D:/path/to/dsh-wtskin-project
# 没有 CLI
node install.mjs --profile desktop
安装后需要重启 DSH,工具会在启动时注册。
典型用法¶
1. 创建工程¶
dsh_wtskin_project dir=D:/skins/q5l action=create data={"quadScale":2.56,"width":4096,"height":4096}
这里创建了一个 4096×4096 的工程,quadScale 为 2.56。
2. 启动取点器¶
dsh_wtskin_measure dir=D:/skins/q5l id=wing_u scale=2.56
打开返回的 URL,量完点「保存到工程」。
3. 更新图层¶
dsh_wtskin_layer dir=D:/skins/q5l action=update id=wing_u layer={"image":"p8.png","size":"chord","factor":1.3,"rotate180":true}
这里指定了图片路径、尺寸模式、缩放因子和旋转。
4. 导出¶
dsh_wtskin_export dir=D:/skins/q5l
导出会合成底漆与全部图层,生成 PNG、DDS、预览图和 .blk 文件。
尺寸模式¶
chord:按四边形前后缘中点距离缩放(最常用)quadHeight:按四边形包围盒高度height:直接给像素高度widthAdapt:窄条面板(翼根)用,按宽度适配
图层字段¶
{
"image": "path/to/character.png",
"quad": [[x0,y0],[x1,y1],[x2,y2],[x3,y3]],
"quadScale": 1,
"size": "chord",
"factor": 1.2,
"offset": [0, -40],
"rotate180": true,
"flip": false,
"clipLine": [[x0,y0],[x1,y1]],
"expand": 8,
"opacity": 1
}
前两个点是前缘,后两个点依次是后缘 —— 引擎用它算弦长和中点。quadScale 是该图层自己的坐标缩放,覆盖工程级设置。
产物¶
导出后的文件位于 out/ 目录:
out/
├── q_5l_c.png 合成结果(4096)
├── q_5l_c.dds 32 位未压缩 DDS(约 64MB)
├── preview.png 1600 预览
└── q_5l.blk 引导文件
整个 out 复制进 War Thunder/UserSkins/ 即可。
原理¶
插件的工作原理分为三步:
- 底漆:读一张现有贴图做细节载体(铆钉、蒙皮线),按亮度映射到自定义色带,可选边缘发光与点阵。
- 图层:仿射变换(旋转 → 缩放 → 平移到四边形中心),再用四边形做 alpha 裁切,可选沿直线做半平面裁切。
- 导出:Pillow 写 32 位未压缩 DDS(BGRA),并生成 blk。
适用场景与注意¶
适合需要批量处理《战争雷霆》涂装、希望用配置文件控制图层参数的用户。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
限制¶
- 不自动测量 UV:四边形要靠取点器人工量。
- DDS 未压缩:4K 约 64MB;需要 DXT5 请用 PS + NVIDIA DDS 插件另存。
- 法线贴图(
_n)不自动生成。
许可¶
MIT。用户素材(角色立绘等)的版权由使用者自行负责。
结语¶
dsh-wtskin-project 把《战争雷霆》涂装流程从手动操作变成了可配置的声明式工作流。如果你正在用 DSH 做这类任务,可以尝试用它来简化图层管理和导出过程。
- 目录页:https://www.skillhub.cn/plugins/Wuqiu-Ying/dsh-wtskin-project
- GitHub:https://github.com/Wuqiu-Ying/dsh-wtskin-project