前言¶
在《戰爭雷霆》中製作自定義塗裝,傳統流程是「量 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