求魔物娘TD解包教學

原本想說看遊戲是用UNITY去建構的
想說用AssetStudio直接把遊戲文件夾丟進去解析看看
(用的是DMMPLAYER下載的,全年齡和X版都試過)

是有看到一些文件,像是道具、介面圖標、部分背景和角色SD小人的圖樣
但就是沒有看到其他CG、背景圖和角色的立繪

後來自己測試後發現,不知道是不是有加密過
要讓CG至少讀取過一次才能透過Caches讓他讀出來,但有些已經打不開的活動背景圖會因為這樣抓不到,而且一個一個點好麻煩==
(甚至快取也只能抓去LIVE2D的貼圖檔案,但立繪還是沒有出來)

有沒有什麼方法可以一次解出來,能包括立繪+背景+CG最好@@

1 个赞

是用fildder找嗎 ?
我有點不太懂這部分的操作,有看到assets.game-monmusu-td.net:443 這個位址
但好像又不是這個

研究了2天搞定
正在寫教程
和上傳懶人包 : )

全部AB包先給你
assets.game-monmusu-td.net_asset_20240905.rar (13.6GB)

使用Asset Studio抽出資源後懶人包(Spine文件 PNG圖像已調整過分辨率)
assets.game-monmusu-td.net_20240905.rar (15.0GB)

1 个赞



遊戲資源列表清單解析取得詳情

VPN + Google Chrome 進入遊戲後
使用Fiddler可得到遊戲資源包文件清單ablist.json (8.01MB)

https://assets.game-monmusu-td.net/assetbundles/ver_0bdb2d72a9/webgl_r18/ablist.json
ablist.rar (2.6 MB)

ablist.json 使用EmEditor開啟後長長一條文字
需要做一下排版

先安裝Google Chrome外掛程式(插件) Json Viewer

Json Viewer安裝完畢後使用Google Chrome開啟ablist.json
ablist.json拖到Google Chrome網址列上面,然後按下enter即可開啟json文件

勾選左上角的"美化排版"
json文件排版會變得比較直觀一點(分行排版)

然後全選複製到新的文本文件(ablist.txt)
ablist.rar (5.2 MB)

遊戲資源包下載清單製作詳情

由Fiddler解析遊戲數據包路徑可知
https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/c1a8bd6fe98ec4df4275ac63451ed536857a708cf90a7e8371a786438c997343.bytes

地址格式
https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ + {64位數hash值} .bytes

一開始我想太複雜了 , 以為是AB包文件名做int32處理
昨天無聊把hash(32位數)和path(32位數)排列組合嘗試下載
最後確定原來那麼單純
hash(32位數) + path(32位數) 湊成64位數就好
https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ + hash(32位數) + path(32位數).bytes
ablist.json 文件裡剛好都有這些訊息

EmEditor 搜尋(S) —> 尋找(F) —> 輸入 “hash” —> 抽出(T)
會自動抽出有"hash" 字串的所有行
後面的", 可以直接利用取代為空白字符 , 批次消除
然後另存文本文件hash.txt(共50466行)
hash.rar (1.7 MB)








接著使用EmEditor抽出ablist.txt文檔裡面特定的字串
EmEditor 搜尋(S) —> 尋找(F) —> 輸入 “path” —> 抽出(T)
會自動抽出有"path" 字串的所有行(共50466行)
bytes後面的", 可以直接利用取代為空白字符 , 批次消除
然後另存文本文件path.txt
path.rar (2.0 MB)





我這邊使用土法煉鋼
使用EXCEL將https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ + hash(32位數) + path(32位數).bytes拼湊起來
EXCEL C1欄位貼上https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ (複製到C50466)
EXCEL D1欄位貼上hash.txt 共50466行的內容
EXCEL E1欄位貼上path.txt 共50466行的內容
EXCEL A1欄位輸入=C1&D1&E1
EXCEL A2到A50466通通複製A1的公式
A1到A50466就是遊戲資源包完整的URL
將A1到A50466欄位URL全選複製貼上到新的文本文件
另存為20240904_monmusu-td_asset_bundle_url.txt
20240904_monmusu-td_asset_bundle_url.rar (2.0 MB)

使用wget下載遊戲資源包url清單
wget_asset_bundle_url.rar (3.8 MB)

R:/wget/wget -i 20240904_monmusu-td_asset_bundle_url.txt -c -r -P ./dmm2
(wget.exe所在位置 + url文件 + wget下載參數 + 存放的目錄)
wget.exe所在位置和存放的目錄可自行更改

AB包全部下載完共50463個文件(13.2GB)(有3個不在server上)
全部都是.bytes文件 , 其實就是AB包文件(Asset Bundle) , 沒加密可直接開啟
使用Raz版Asset Studio直接全選開啟50463個AB包文件



遊戲資源包下載清單製作截圖詳情





















Asset Studio輸出設定詳情

Asset Studio輸出設定
Options (選項) ---->
Export options (輸出選項) ---->
Group exported assets by (分組輸出材質方式) —> container path (內容路徑)
效果 : 輸出的文件會依照原AB內的路徑自動生成分類目錄 , 文件比較美觀 , 不會都擠在同一個目錄內

Asset Studio輸出類別設定
第1次輸出AudioClip(音頻) , Font(字型) , TextAsset(文檔) , Texture2D(圖像)
輸出目錄 : asset-1
第2次輸出Sprite(圖像)
輸出目錄 : asset-2






一開始回覆樓主的懶人包少放了Sprite(圖像)
所以我又重新打包新的懶人包
assets.game-monmusu-td.net_20240905_fix.rar (16.6GB)
樓主要的資源都在懶人包裡面(不用玩遍整個遊戲)(包括無法看到的資料)

Spine文件在TextAsset(文檔) , Texture2D(圖像)裡面
\asset-1\advscene\resources\advscene\texture\character\chr_poses (角色全身spine)
\asset-1\advscene\resources\advscene\texture\character\r18_scenes (色色spine)
\asset-1\resources\character\ (角色戰鬥SD小人)
其他類別圖像和角色語音都在懶人包裡面

Spine 文件後綴修改詳情

看完所有目錄Spine文件後
Spine文件後綴需要修改



(1) .atlas.prefab 改成 .atlas
(2) .skel.prefab 改成 .skel
(3) .atlas.asset 改成 .atlas
(4) .prefab 改成 . json
先做(1) (2) (3) 最後做(4)
所以(1) (2) (3) 直接將2個後綴看在一起修改

bat批次代碼 (bat文件放在最外圍目錄下\asset-1\ 運行即可一次修改後綴)
修改子目錄副檔名.rar (766 字节)


forfiles /s /m *atlas.prefab /c “cmd /c rename @file @fname
forfiles /s /m *skel.prefab /c “cmd /c rename @file @fname
forfiles /s /m *atlas.asset /c “cmd /c rename @file @fname
forfiles /s /m *prefab /c “cmd /c rename @file @fname.json

Spine PNG圖像分辨率修改詳情

Spine PNG圖像實際分辨率有些與atlas文件內記載的分辨率不一致
看了一下
\asset-1\advscene\resources\advscene\texture\character\chr_poses (不用更改)
\asset-1\advscene\resources\advscene\texture\character\r18_scenes (全部要更改)
\asset-1\resources\character (部分要更改)
\asset-1\resources\effects (不用更改)
\asset-1\resources\missile (不用更改)
\asset-1\resources\ui (全部要更改)

方法1 : 土法煉鋼 , 使用XnView手動修改調整PNG圖像分辨率
方法2 : 使用yjzyl9008大佬提供的python腳本
方法3 : 購買愛發電奇怪的魚的寫的腳本

一開始用方法1 , 後來用方法3
但奇怪的魚腳本輸出的圖這次有白邊


試了一下yjzyl9008大佬提供的python腳本
無黑邊無白邊 , 效果不錯

一開始遇到UnicodeDecoderError : ‘cp950’ codec can’t decode 問題
上網查了一下找到方法
yjzyl9008大佬提供的python腳本內
open()函式內加上encoding=“utf-8”
運行腳本後就無錯誤訊息了
不需要更改分辨率的圖腳本會自動略過






PNG圖像分辨率修改腳本
python腳本我另存為png_resize.py
png_resize.rar (2.5 KB)

C:\Windows\System32\cmd.exe 複製一份
這樣做的話運行cmd.exe時
cmd起始路徑會隨你當前所在目錄變動

cmd.exe和py腳本放在一起
cmd 命令 : python png_resize.py
自動開始調整PNG圖像分辨率



環境變數設定詳情

這邊的論壇帖子你有看到大佬貼上代碼的話
大多是python腳本
代碼內容全選複製貼到新的文本文件(.txt)
存檔後(.txt)更改後綴為(.py)
要運行.py文件的話
py文件需要安裝python
https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe

安裝python時
自動添加於環境變數的選項要勾選
Add python.ext to PATH
這邊你的python要設定好環境變數才能執行
教學網址 : Python:安裝 python 並且添加環境變數 - HackMD

若當初安裝忘了勾選 (Add python.ext to PATH)
cmd命令就無法直接使用"python"這一個單詞
cmd輸入python命令沒反應時
方法 1 : 重新安裝python , 安裝時勾選 (Add python.ext to PATH)

方法 2 : 手動環境變數設定
我的電腦 —> 內容 —> 進階系統設定 → 環境變數
看下面欄位 ----> 系統變數(S) —> 找到Path —> 編輯
新增路徑 C:\Users\你的電腦名稱\AppData\Local\Programs\Python\Python311
新增路徑 C:\Users\你的電腦名稱\AppData\Local\Programs\Python\Python311\Scripts

環境變數設定就是告訴windows
當輸入cmd內建以外的命令時
windows可以藉由手動設定的程序路徑
去找到要運行的程序

比如ffmpeg這個命令
ffmpeg程序若放在C:\ffmpeg內
運行程序時
cmd直接輸入ffmpeg會沒反應 (因為不是內建的命令)
需要輸入C:\ffmpeg\ffmeg (要加上程序完整的路徑才有反應)
windows手動設定環境變數添加程序路徑C:\ffmpeg
之後cmd就可以省略輸入程序路徑 , 直接輸入程序名就好
通常安裝程序都會幫你設定環境變數

遊戲角色Spine版本為3.8.79 (skel & json)
使用skeletonViewer-3.8.99.jar開啟即可



懶人包

懶人包載點詳情

遊戲原始AB包
assets.game-monmusu-td.net_asset_20240905.rar (13.6GB)

Google Drive載點

Mega.nz載點

百度盤載點

提取码: 1234

使用Asset Studio抽出資源後懶人包(Spine文件 PNG圖像已調整過分辨率) (補上Sprite圖像)
assets.game-monmusu-td.net_20240905_fix.rar (16.6GB)

Google Drive載點

Mega.nz載點
上傳中

百度盤載點

提取码: 1234

相關工具

1 个赞

補充一個類似Fiddler的抓包國產工具
抓包程序名 : Sunny网络中间件

我覺得比Fiddler方便多了
設置簡單
解包迅速

運行SunnyNet.exe

(1) 點選左上角齒輪圖示
(2) 點選SSL証書
(3) 勾選默認証書
(4) 點擊默認証書
(5) 點擊左下角 設置系統IE代理
(6) 點擊完設置系統IE代理後自動開始抓包




DMM + Google
DMM + IE
都可以正常抓包


不使用軟件時
記得先關掉"設置系統IE代理"
再關閉程序
以免無法上網 : )

謝謝大佬的詳細教學 我會去自己操作一次 辛苦你的研究和步驟解析 !

有沒有辦法修復紅色的,因為我發現了經過審查的那個?

原PNG圖檔的屌就是一塊紅色
只能自己修圖了 : )

如何編輯 skel 檔案?我想刪除 draw order

用Sunny网络中间件没能抓到ablist.json


请问怎么操作

結合樓上二位的意見
找到一個非破壞性的修改方法(不刪除物件的方式)
魔物娘TD Spine版本為3.8.79
剛好可以使用Spine Pro 3.8.75 學習版來處理紅色肉棒與紅色小穴
的問題
這邊我使用Spine Pro 3.8.75 學習版來開啟魔物娘TD skel文件
不直接修改skel , 利用Spine學習版將skel文件另存為json文件
然後我再修改json文件即可 , 修改觸發物件名稱就好(不刪除物件)
因為不是每個人都會買正版SPINE
所以我的教程以免費資源為主 : )
以下方法我自己用正版Spine Pro和學習版Spine Pro 3.8.75測試過了
教程我使用虛擬機來安裝Spine Pro 3.8.75 學習版

取得Spine Pro v3.8.75.rar (125MB)
解壓縮後將整個Spine目錄放在你想要的硬盤目錄下
運行install.bat (註冊表登錄 + 桌面建立快捷)

點選桌面Spine快捷 , 運行Spine程序
這邊要注意一點 , 請勿更改Spine版本

更改Spine版本後再運行Spine程序會出錯

若出現此問題(程序出錯信息窗口彈出)
再運行一次install.bat 註冊表登錄即可再次運行Spine程序
Spine學習版只能綁定一個版本 3.8.75

修改紅熱大肉棒與紅色小穴
原圖集的確有肉棒與紅色小穴


但被和諧了(MaskMosaic) - 馬賽克遮罩
多了一張紅色遮罩的圖
將原肉棒和小穴遮蔽起來
所以要把紅色遮罩拿掉
即可正常顯示肉棒和小穴

Step 01 : 運行Spine Pro 3.8.75 學習版
Step 02 : 點選Spine程序最左上角, 會出現選項 , 點選"材質解包器"
Step 03 : 開啟altas文件(紋理圖集)
Step 04 : 匯出資料夾 , 在目錄下自己新增1個images目錄(方便放切片)
Step 05 : 匯出資料夾選擇出到images目錄
Step 06 : 勾選"非預乘alpha" (這邊的情況是要勾選的 , 看遊戲類別決定)
Step 07 : 點選"解開" 開始解包材質
Step 08 : 匯入資料
Step 09 : 開啟skel文件
Step 10 : 點選 JSON或二進位檔案
Step 11 : 點選"匯入"
Step 12 : 儲存變更 ----> 放棄變更
Step 13 : 按否略過"已調整圖片大小" 信息窗口
Step 14 : 載入Spine切片完成
Step 15 : 若出現橘色圖片Missing信息
Step 16 : 點選右邊圖片
Step 17 : 點選右下角文件夾圖示
Step 18 : 重新讀取images文件夾即可正常顯示
Step 19 : 點選Spine程序最左上角 , 會出現選項
Step 20 : 點選Spine選項 - 匯出
Step 21 : 數據 勾選JSON
Step 22 : 匯出資料夾 , 選擇你要存放JSON文件的路徑
Step 23 : 副檔名 .json , 格式JSON , 勾選美化功能(這樣JSON文件本文會自動分行)
Step 24 : 匯出 非必要資料 動畫清理 警告 , 我這邊都勾選
Step 25 : 材質圖集 : 打包 , 選擇"圖片資料夾" (一定要選 , 不然等下看不到圖)
Step 26 : 材質圖集 : 打包設定 (我沒做任何設定)
Step 27 : 按下"匯出" , 開始打包images , 匯出JSON文件
Step 28 : 使用EmEditor開啟剛才匯出的JSON文件
Step 29 : 搜尋(S) —> 取代(R) —> 尋找(F) 輸入 MaskMosaic
Step 30 : { “name”: “MaskMosaic1”, “bone”: “Penis”, “attachment”: “MaskMosaic1” }, 修改最後面的MaskMosaic1字串
Step 31 : 答案就在上面那行 , 改成Penis
Step 32 : { “name”: “MaskMosaic1”, “bone”: “Penis”, “attachment”: “Penis” }, 改完後存檔 (紅色大肉棒已被置換)
Step 33 : 使用skeletonViewer-3.8.80.jar開啟 3.8.75版JSON文件
Step 34 : 紅色大肉棒消除 , 非破壞性修改 , 僅修改觸發物件名稱
Step 35 : 另一張圖有紅色大肉棒與紅色小穴
Step 36 : 使用Spine Pro 3.8.75 學習版將skel文件轉換成JSON文件後
Step 37 : 使用EmEditor開啟剛才匯出的JSON文件
Step 38 : 搜尋(S) —> 取代(R) —> 尋找(F) 輸入 MaskMosaic
Step 39 : { “name”: “MaskMosaic1”, “bone”: “L_Body”, “attachment”: “MaskMosaic1” }, 修改最後面的MaskMosaic1字串
Step 40 : 答案就在上面那行 , 改成L_Body2
Step 41 : { “name”: “MaskMosaic1”, “bone”: “L_Body”, “attachment”: “L_Body2” }, 改完後存檔 (紅色小穴已被置換)
Step 42 : { “name”: “MaskMosaic2”, “bone”: “Penis”, “attachment”: “Penis1” },
Step 43 : 答案就在上面那行 , 改成Penis1
Step 44 : { “name”: “MaskMosaic2”, “bone”: “Penis”, “attachment”: “Penis1” }, 改完後存檔 (紅色大肉棒已被置換)
Step 45 : 使用skeletonViewer-3.8.80.jar開啟 3.8.75版JSON文件
Step 46 : 紅色大肉棒與紅色小穴消除 , 非破壞性修改 , 僅修改觸發物件名稱
Step 47 : 有3.8.79 skel直接轉json的程序 , 修改速度會比較快 , 魔物娘TD有580個色色skel要改 (r18_scenes)

點我看截圖詳情



























修改好的SPINE文件範本
spine_r18_fix.rar (7.2 MB)

Spine Pro 3.8.75 學習版
Spine Pro v3.8.75.rar (125MB)

Mega.nz載點

百度盤載點

提取码: 1234

相關工具

考慮到若有人拿來要做動態桌面的話
那就真的要修改skel文件內容

不過我的話會把大肉棒和小穴換成天下布魔那種 : )
直接換物件(這是我解包最大目的)

107801_joyResult
107801_joyResultx2
107801_joyResultx3
107801_joyResultx4
107801_joyResultx5
107801_joyResultx6

剛看了一下
清了好幾次瀏覽器緩存
試了Microsoft Edge和Google連上遊戲網站
Sunny和Fiddler抓取情況真的不一樣

https://assets.game-monmusu-td.net/assetbundles/ver_0bdb2d72a9/webgl_r18/ablist.json

Microsoft Edge + Sunny : 抓不到
Microsoft Edge + Fiddler : 抓得到

Google + Sunny : 抓不到
Google + Fiddler : 抓得到

看來是Sunny的問題 : )


这胎教级的教程复刻成功了。
但TextAsset里没有文本,只有骨架和纹理,文本会在哪里呢

r18_10015_1

r18_10121_1

r18_10042_1

r18_10140_2

r18_10148_2

r18_10276_2

python腳本
這次處理紅色大肉棒問題 : )

python.part1.rar (6 MB)

python.part2.rar (5.4 MB)

DMM版遊戲資源清單取得(2025.10.31版本)

Fiddler分析取得DMM版遊戲資源清單URL

https://assets.game-monmusu-td.net/assetbundles/ver_f866b3b5ac/webgl_r18/ablist.json

遊戲資源清單生成URL思路

json文件中
可看到兩個陣列參數 path 與 hash
AB包文件名稱就是兩者合併而來
unity3d file name = hash + path

比如
“hash”: “3331c9be6f5da9df24f5e8e85ddf3b4d”,
“path”: “857a708cf90a7e8371a786438c997343.bytes”,
unity3d file name = hash + path
= 3331c9be6f5da9df24f5e8e85ddf3b4d + 857a708cf90a7e8371a786438c997343.bytes
= 3331c9be6f5da9df24f5e8e85ddf3b4d857a708cf90a7e8371a786438c997343.bytes

由Fiddler分析可知每個AB包文件名前面加上前綴URL可得實際下載地址
base url =

https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/

unity3d file name = hash + path
full url = base url + unity3d file name = base url + hash + path
https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/3331c9be6f5da9df24f5e8e85ddf3b4d857a708cf90a7e8371a786438c997343.bytes

遊戲資源清單生成URL - python腳本

python 腳本
讀取 ablist.json 文件
讀取 data陣列 , 截取同一個括弧下 “hash”: " 與 ", 之間的字串 , 存於變數 {hash}
讀取 data陣列 , 截取同一個括弧下 “path”: " 與 ", 之間的字串 , 存於變數 {path}
再加上前綴URL https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/
新URL = https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ + 變數 {hash} + 變數 {path}
逐行生成

比如

“path”: “857a708cf90a7e8371a786438c997343.bytes”,
“hash”: “3331c9be6f5da9df24f5e8e85ddf3b4d”,
截取字串後
變數 {hash} = 3331c9be6f5da9df24f5e8e85ddf3b4d
變數 {path} = 857a708cf90a7e8371a786438c997343.bytes
新URL = https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/ + 變數 {hash} + 變數 {path}
新URL = https://assets.game-monmusu-td.net/assetbundles/ver_10004/webgl_r18/3331c9be6f5da9df24f5e8e85ddf3b4d857a708cf90a7e8371a786438c997343.bytes

生成ablist_url.txt

運行json2url.bat
自動運行json2url.py
自動生成ablist_url.txt

wget下載遊戲資源URL

將ablist_url.txt拿去餵wget
運行wget.bat
自動開始下載遊戲資源
AB包 : 69685 Files (20.3GB)

Raz版AssetStudio抽出AB包資源

AB包路徑 \assetbundles\ver_10004\webgl_r18
輸出設定 : Group exported assets by container path
依照AB內自帶遊戲資源路徑生成目錄分類
Filter Type : AudioClip , TextAsset , Texture2D

python腳本批次處理spine文件後綴思路

SPINE Version : 3.8.79

.atlas.prefab —> .atlas
.prefab —> json
.skel.prefab —> .skel

python腳本批次處理spine文件後綴

運行01_spine_rename.bat
自動運行spine_rename.py
自動修改spine文件後綴

python腳本
自動瀏覽子目錄下所有檔案
自動修正spine文件副檔名
.atlas 與 .skel 為 spine文件
直接修改不用詢問
*.bat 與 *.py 文件
列入例外則不做修改

以ANCII CODE讀取字串
字串中同時有 .png 和 format: RGBA8888
判斷為atlas文件

CASE 1
若atlas文件沒有副檔名
則加上副檔名 .atlas
如 sample —> sample.atlas

CASE 2
若atlas文件有多個副檔名
如 sample.atlas.prefab
則去掉 .prefab 變成 sample.atlas
如 sample.atlas.prefab —> sample.atlas

CASE 3
若atlas文件有多個副檔名
如 sample.atlas.asset
則去掉 .asset 變成 sample.atlas
如 sample.atlas.asset —> sample.atlas

CASE 4
若atlas文件有多個副檔名
如 sample.atlas.atlas
則去掉 .atlas 變成 sample.atlas
如 sample.atlas.atlas —> sample.atlas

CASE 5
若atlas文件副檔名為.bin
則將.bin 修改為 .atlas
如 sample.bin —> sample.atlas

以ANCII CODE讀取字串
字串中同時含有 字串 “skeleton” 和 字串 }
字串 “skeleton” 在內文中
“skeleton”
} 在字串尾部
判斷為json文件

CASE 6
若json文件沒有.json副檔名
則加上副檔名 .json
如 sample —> sample.json

CASE 7
若json文件有多個副檔名
如 sample.json.prefab
則去掉 .prefab 變成 sample.json
如 sample.json.prefab —> sample.json

CASE 8
若json文件有多個副檔名
如 sample.json.asset
則去掉 .asset 變成 sample.json
如 sample.json.asset —> sample.json

CASE 9
若json文件有多個副檔名
如 sample.json.json
則去掉 .json 變成 sample.json
如 sample.json.json —> sample.json

CASE 10
若json文件副檔名為.prefab
則將.prefab 修改為 .json
如 sample.prefab —> sample.json

以HEX讀取字串BINARY文件
BINARY文件中同時含有 HEX 33 2E 38 2E 37 39 (3.8.79) 與 72 6F 6F 74 (root)
判斷為skel文件

CASE 11
若skel文件沒有副檔名
則加上副檔名 .skel
如 sample —> sample.skel

CASE 12
若skel文件有多個副檔名
如 sample.skel.prefab
則去掉 .prefab 變成 sample.skel
如 sample.skel.prefab —> sample.skel

CASE 13
若skel文件有多個副檔名
如 sample.skel.asset
則去掉 .asset 變成 sample.skel
如 sample.skel.asset —> sample.skel

CASE 14
若skel文件有多個副檔名
如 sample.skel.skel
則去掉 .skel 變成 sample.skel
如 sample.skel.skel —> sample.skel

CASE 15
若skel文件副檔名為.prefab
則將.prefab 修改為 .skel
如 sample.prefab —> sample.skel

CASE 16
若skel文件副檔名為.bin
則將.bin 修改為 .skel
如 sample.bin —> sample.skel

python腳本批次處理spine圖檔尺寸大小

運行02_png_resize.bat
自動運行png_resize.py
自動修改PNG圖檔尺寸以符合atlas文件定義

python腳本批次處理spine文件紅色馬賽克思路

經過多次測試後
修改atlas文件中MaskMosaic字串後面第2、3、4行內容
如 xy: 1370, 1845 改成 xy: 1,1
如 size: 347, 199 改成 size: 1,1
如 orig: 349, 201 改成 orig: 1,1

圖片的 XY 座標起點通常位於左上角
其中 X 軸從左向右延伸 , Y 軸從上向下延伸

x , y : 1 , 1 表示由圖片中左上角座標 1 , 1 當起點
size : 1 , 1 表示由圖片中左上角座標 1 , 1 開始移動
從X軸從左向右延伸 1 像素 , 此時座標 2 , 1
從Y軸從上向下延伸 1 像素 , 此時座標 2 , 2
(這邊的X軸定義向右為正值 , Y軸定義向下為正值)
座標 (1,1) (1,2) (2,1) (2,2) 圍成 1 x 1 的正方形

這個正方形就是紅色馬賽克的圖檔範圍大小
通常這一區塊位於整個PNG圖檔左上角透明區域

orig同size
一開始只修改其中一個
後來發現有些Spine打開後發現圖片會錯位
經過多次測試後
xy size orig 都要一起修改
基本上圖片會錯位情況降為0%

紅色馬賽克物件名稱為MaskMosaic
有多塊紅色馬賽克遮罩的話
物件名稱後面加上數字
MaskMosaic1 , MaskMosaic2 , …等

因為紅色馬賽克MaskMosaic這個物件不能刪除
否則開啟skel文件會出錯 (skel文件內骨架名稱有MaskMosaic)

對於紅色馬賽克MaskMosaic這個物件
只能縮小物件範圍大小
範圍放在圖檔透明區域
效果呈顯出來變成 1 x 1 像素的透明遮罩
紅色馬賽克看起來就消失了

因要修改atlas文件
所以python腳本修改前
會生成備份文件 *.atlas.bak

不改成 0 x 0
是因為SPINE PRO開啟後不會圖片不會錯位
頂多出現警告
說偵測到圖片大小變更 (忽視即可)

實際使用SPINE PRO測試後
發現在使用材質解包器時圖片切片會輸出不完整
只能使用未修改過的atlas文件輸出切片
紅色馬賽克遮罩只能使用SPINE PRO刪除物件
修改過的atlas文件可以在官方版和非官方版Viewer上觀看
這是沒問題的 : )

python腳本批次處理spine文件紅色馬賽克

運行03_remove_mosaic.bat
自動運行remove_mosaic.py
自動修改atlas文件
自動修改MaskMosaic字串後面第2行內容
自動修改MaskMosaic字串後面第3行內容
自動修改MaskMosaic字串後面第4行內容
若字串已為 xy: 1,1 、size: 1,1、orig: 1,1 或不存在則跳過修改
修改前自動生成 *.atlas.bak 備份文件
修改後覆蓋原檔 *.atlas 文件

修改後查看色色SPINE
大致上都看不到紅色馬賽克區域了 : )

瀏覽子目錄下所有 *.atlas 檔案

CASE 1
搜索 MaskMosaic1 字串
修改 MaskMosaic1 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改 MaskMosaic1 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic1 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 2
搜索 MaskMosaic2 字串
修改 MaskMosaic2 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic2 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic2 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 3
搜索 MaskMosaic3 字串
修改 MaskMosaic3 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic3 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic3 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 4
搜索 MaskMosaic4 字串
修改 MaskMosaic4 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic4 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic4 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 5
搜索 MaskMosaic5 字串
修改 MaskMosaic5 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic5 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic5 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 6
搜索 MaskMosaic6 字串
修改 MaskMosaic6 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic6 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic6字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 7
搜索 MaskMosaic7 字串
修改 MaskMosaic7 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic7 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic7 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 8
搜索 MaskMosaic8 字串
修改 MaskMosaic8 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic8 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic8 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

CASE 9
搜索 MaskMosaic 字串
修改 MaskMosaic 字串後面第2行內容
如 xy: 1370, 1845 改成 xy: 1,1
若字串已為 xy: 1,1 或 不存在 則跳過修改
修改 MaskMosaic1 字串後面第3行內容
如 size: 347, 199 改成 size: 1,1
若字串已為 size: 1,1 或 不存在 則跳過修改
修改 MaskMosaic1 字串後面第4行內容
如 orig: 349, 201 改成 orig: 1,1
若字串已為 orig: 1,1 或 不存在 則跳過修改
修改後覆蓋原檔 *.atlas 文件
原 *.atlas 檔案 生成備份檔 *.atlas.bak
若未做任何修改 , 則不生成備份檔 *.atlas.bak

SPINE文件目錄

SPINE文件主要在這3個目錄內
\extract\resources\advscene\texture\character\chr_poses (角色全身表情差分圖) (3.17GB)
\extract\resources\advscene\texture\character\r18_scenes (角色H SCENE) (3.61GB)
\extract\resources\character (角色SD小人) (848MB)

SPINE 版本 : 3.8.79

遊戲資源AB包與抽出資源懶人包載點詳情

遊戲資源AB包與抽出資源懶人包 (RAR密碼 : 1234)
assets.game-monmusu-td.net_20251104.rar (43.1GB)

Google Drive載點

Mega.nz載點

百度盤載點

2 个赞

您好老大!我想利用您的懒人包文件导出GIF图,因此下载使用了Spine Viewer,但发现会出现引人注目的黑边,请教老大指导!

rev10361_02_260227022720_1f201c_10

rev10379_01_260227023842_55db81_10好像还会有奇怪的黑色光晕……?

你都找到这了再搜一搜历史帖子吧
搜出来比直接告诉你收获更大

1 个赞

对不起我的问题,只需要开启“渲染–预乘alpha通道就行了”