好久前就搞定了,但是忘记回了,今天突然想起来,解决方法是
参数加上-m live2d --l2d-search-by-filename就行了
好久前就搞定了,但是忘记回了,今天突然想起来,解决方法是
参数加上-m live2d --l2d-search-by-filename就行了
我问一下最新的meme用assetstudio打开后有图片资源看不了,有些角色也不能直接看了甚至都不能拆解出来保存。
不要再用老旧的as了,找个新一点的去行不
对ass版本不是很了解,谷歌上一堆不知道那个好用
。
這次由DMM版入手遊戲資源AB包 (AB包已升級為Unity 6.0版本)
AB包來源有分兩種
DMM安裝時自帶AB包 (4492 files 958MB) (UnityFS5.x.x6000.0.53f1)
C:\Users\Nazon\MementoMori\MementoMori_Data\StreamingAssets\aa\StandaloneWindows64\
DMM熱更新AB包 (10349 files 2.25GB) (UnityFS5.x.x6000.0.53f1)
C:\Users\Nazon\AppData\LocalLow\BankOfInnovation\MementoMori\AssetBundle\
由Fiddler解包可得
遊戲資產清單
這邊挺有趣的
在下載熱更新遊戲資源時
Fiddler看不到AB包實際下載URL
應該是使用了SSL Pinning
但還好遊戲資產清單json文件可以看得到 : )
先使用json美化排版python腳本
運行jsonfix.bat
自動運行jsonfix.py
自動生成549159da4b7595170b7b9c3a16e9b72c6c072779.fixed.json
查看json陣列規則後
再使用另一個python腳本生成url下載清單
python 腳本
讀取json文件
讀取 549159da4b7595170b7b9c3a16e9b72c6c072779.json
截取 m_InternalIds 陣列中
"{Ortega.Common.Manager.GameManager.AssetFullUrl}\ 與 ", 之間的字串
並加上前端URL https://cdn-mememori.akamaized.net/asset/MementoMori/Win64/
逐行截取字串
逐行合併 前端URL + 截取字串
逐行生成
輸出 549159da4b7595170b7b9c3a16e9b72c6c072779_url.txt
運行json2url.bat
自動運行json2url.py
自動生成549159da4b7595170b7b9c3a16e9b72c6c072779_url.txt
拿去餵wget
運行wget.bat
自動開始下載遊戲資源AB包 (38606 files 6.57GB)
比較json陣列清單格式
安裝時自帶AB包
{UnityEngine.AddressableAssets.Addressables.RuntimePath}\StandaloneWindows64
熱更新AB包
{Ortega.Common.Manager.GameManager.AssetFullUrl}\Win64\
實際測試過安裝時自帶AB包URL無法下載
故只能從安裝目錄取得自帶AB包 (4492 files 958MB)
C:\Users\Nazon\MementoMori\MementoMori_Data\StreamingAssets\aa\StandaloneWindows64
這邊只能手動複製整個StandaloneWindows64目錄
畢竟Live2D文件大部分都在這裡面
少部分幾個在熱更新AB包內 : )
DMM 安裝包文件大小 1.36GB (4583files)
DMM 熱更新預計大小 2.38GB
DMM 實際下載總大小 2.54GB (10623 files) (加上影片)
總計大小 = 1.36 + 2.54 = 3.90 GB
遊戲熱更新資產清單檔案數量 (38606 files)
遊戲熱更新資產清單實際下載 (38606 files) 6.57GB
結論 : 2.38GB < 6.57GB
熱更新不會下載全部遊戲數據
需要從遊戲資產清單去下載
不能從遊戲熱更新目錄去撈資料
AB包實際大小
DMM 安裝自帶AB包 (StandaloneWindows64目錄) (4492 files 958MB)
DMM 熱更新資產清單AB包 (Win64目錄) (38606 files 6.57GB)
共43098 files 7.51GB
Live2D文件大多在DMM 安裝自帶AB包
音頻文件大多在 DMM 熱更新資產清單AB包
將StandaloneWindows64 與 Win64 目錄AB包都放在mix新目錄內
等下使用 AnimeStudio.CLI.exe 和 AssetStudioModCLI.exe 抽出資源
將StandaloneWindows64 與 Win64 目錄AB包都放在mix新目錄內
因為AB包版本為Unity 6.0版本 (UnityFS5.x.x6000.0.53f1)
使用AnimeStudio net9版 AnimeStudio.CLI.exe 抽出遊戲資源 (記得裝Runtime)
這邊使用CLI(命令列介面)版 , 等下使用批次命令抽出資源
AnimeStudio-net9 Download Link
https://nightly.link/Escartem/AnimeStudio/workflows/build/master/AnimeStudio-net9.zip
Runtime Download Link for AnimeStudio-net9
安裝Runtime windowsdesktop-runtime-9.0.9-win-x64.exe (我這邊挑net9)
將AnimeStudio-net9.zip解壓縮後放在桌面上
(C:\Users\KEVIN\Desktop\AnimeStudio-net9)
將C:\Windows\System32\cmd.exe 複製一份到AnimeStudio net9版目錄下
(C:\Users\KEVIN\Desktop\AnimeStudio-net9\cmd.exe)
AnimeStudio net9目錄下手動建輸入目錄
(C:\Users\KEVIN\Desktop\AnimeStudio-net9\ASImport)
AnimeStudio net9目錄下手動建輸出目錄
(C:\Users\KEVIN\Desktop\AnimeStudio-net9\ASExport)
(抽出TextAsset、Texture2D、AudioClip、VideoClip、Font類型資源)
AnimeStudio net9目錄下手動建輸出目錄2
(C:\Users\KEVIN\Desktop\AnimeStudio-net9\ASExport2)
(抽出Sprite類型資源) (也可以不輸出此類型)
將AB包混合目錄mix放入輸入目錄ASImport內
(C:\Users\KEVIN\Desktop\AnimeStudio-net9\ASImport\mix)
CMD命令範例 : AnimeStudio.CLI 輸入目錄路徑 輸出目錄路徑 輸出命令參數
命令參數 : --game Normal (非特殊 - 普通的AB包)
命令參數 : --types TextAsset Texture2D AudioClip (只抽出TextAsset、Texture2D、AudioClip類型資源)
命令參數 : --types Sprite (只抽出Sprite類型資源)
命令參數 : --types MonoBehaviour (只抽出MonoBehaviour類型資源)
命令參數 : --group_assets ByContainer (依照AB包 Container PATH 生成子目錄 - 自動分類抽出的資源)
AB包抽出資源類型比較常用 TextAsset、Texture2D、AudioClip、Font、VideoClip
選擇性抽出 Sprite、MonoBehaviour
我習慣抽出 TextAsset、Texture2D、AudioClip、Sprite、Font、VideoClip
運行cmd.exe
輸入CMD命令 :
AnimeStudio.CLI ASImport ASExport --game Normal --types TextAsset Texture2D AudioClip VideoClip Font --group_assets ByContainer
AnimeStudio.CLI ASImport ASExport2 --game Normal --types Sprite --group_assets ByContainer
這邊使用相對路徑 (輸入目錄和輸出目錄要和程序在同一個目錄下)
也可使用絕對路徑 (輸入目錄和輸出目錄和程序不在同一個目錄下)
比如 (mix目錄放桌面 , 桌面上手動建立 output 與 output2 目錄)
AnimeStudio.CLI C:\Users\KEVIN\Desktop\mix C:\Users\KEVIN\Desktop\output --game Normal --types TextAsset Texture2D AudioClip --group_assets ByContainer
AnimeStudio.CLI C:\Users\KEVIN\Desktop\mix C:\Users\KEVIN\Desktop\output2 --game Normal --types Sprite --group_assets ByContainer
這邊你可以弄一個bat批次檔 , 命令寫在bat裡面 , 指定好輸入與輸出目錄 , 設定好參數 , 免cmd.exe ,免keyin命令 , 運行bat自動抽出指定類型資源
AnimeStudio.CLI-1.bat (選擇抽出TextAsset、Texture2D、AudioClip、VideoClip、Font類型資源)
@echo off
AnimeStudio.CLI ASImport ASExport --game Normal --types TextAsset Texture2D AudioClip VideoClip Font --group_assets ByContainer
AnimeStudio.CLI-2.bat (選擇抽出Sprite類型資源)
@echo off
AnimeStudio.CLI ASImport ASExport2 --game Normal --types Sprite --group_assets ByContainer
AnimeStudio.CLI-1.bat、AnimeStudio.CLI-2.bat和AnimeStudio.CLI.exe放在一起
輸入目錄ASImport要先手動建立 (輸入目錄名稱可自訂)
輸出目錄ASExport要先手動建立 (輸出目錄名稱可自訂)
輸出目錄ASExport2要先手動建立 (輸出目錄名稱可自訂)
之後要解包的AB包通通丟ASImport目錄下 (可以多個目錄+子目錄)
運行 AnimeStudio.CLI-1.bat、AnimeStudio.CLI-2.bat 自動抽出遊戲指定類型資源
這邊使用AnimeStudio單獨抽出遊戲各類型資源
Live2D文件要用另外一個程序單獨抽出 (AssetStudioModCLI_net472_win32_64.zip)
使用aelurum版AssetStudio CLI 命令列介面 抽出Live2D文件
https://github.com/aelurum/AssetStudio/releases/download/v0.19.0/AssetStudioModCLI_net472_win32_64.zip
AssetStudioModCLI_net472_win32_64.zip解壓縮後放在桌面上
(C:\Users\KEVIN\Desktop\AssetStudioModCLI_net472_win32_64)
將C:\Windows\System32\cmd.exe 複製一份到AssetStudioModCLI_net472_win32_64目錄下
(C:\Users\KEVIN\Desktop\AssetStudioModCLI_net472_win32_64\cmd.exe)
手動建立輸入目錄ASImport (搭配程序輸出目錄ASExport)
(C:\Users\KEVIN\Desktop\AssetStudioModCLI_net472_win32_64\ASImport)
程序會自動建立輸出目錄ASExport (程序自動設定)
(C:\Users\KEVIN\Desktop\AssetStudioModCLI_net472_win32_64\ASExport)
將AB包mix目錄移動到輸入目錄ASImport下
(C:\Users\KEVIN\Desktop\AssetStudioModCLI_net472_win32_64\ASImport\mix)
運行cmd.exe
輸入CMD命令 : AssetStudioModCLI ASImport -m Live2D --l2d-search-by-filename
ASImport 為輸入目錄 (可自訂)
參數 -m Live2D --l2d-search-by-filename (測試過一定要加上去 不然抽不出motion文件)
這邊你可以弄一個bat批次檔 , 命令寫在bat裡面 , 指定好輸入目錄 , 免cmd.exe , 免keyin命令 , 運行bat自動抽出Live2D
AssetStudioModCLI.bat
@echo off
AssetStudioModCLI ASImport -m Live2D --l2d-search-by-filename
AssetStudioModCLI.bat和AssetStudioModCLI.exe放在一起
輸入目錄ASImport要先手動建立 (輸入目錄名稱可自訂 , 這邊單純搭配ASExport才命名ASImport)
之後有Live2D的AB包通通丟ASImport目錄下 (可以多個目錄+子目錄)
運行 AssetStudioModCLI.bat 自動抽出 Live2D 文件
程序會自動生成輸出目錄ASExport , Live2D都在裡面
本次更新後
角色人數由一年前87人增加至114人
增加 114 - 87 = 27人
每一個Live2D都手動看過一遍
都能正常顯示
都有motion檔 (動作檔)
使用Live2DViererEX生成大張PNG圖檔 (去背大圖)
用於圖檔後製使用(所以圖檔要帶有透明層)
當然也可以拿來張桌布
使用Steam版Live2DViererEX → 開啟EX工作室 → Live2D/Spine編輯器
選擇Json配置文件 (以CHR_000001為例子)
(\Live2DOutput\Assets\AddressableConvertAssets\Characters\CHR_000001\model\CHR_000001.model3.json)
開啟後直立長方形為渲染區 (Render Zone)
角色無論如何縮放都不能超出渲染區 (圖片會截掉)
所以將角色適當地放大 , 不超過長方形渲染區
點選你想要的動作檔文件(motion)
點選EF_idle_motion3.json 只要一開始點選EF_idle_motion3.json會出現動態背景圖
只要一開始點選EF_idle_motion3.json
後面無論點選那個動作檔文件動態背景圖都會持續出現
反之一開始不點選EF_idle_motion3.json的話
後面無論點選那個動作檔文件動態背景圖都不會出現
每一位角色都有專屬的動態背景圖
輸出PNG時可以考慮要不要加載動態背景圖
因為要輸出去背PNG(有透明背景的PNG)
左上角背景 (純色改成禁用)
右下角渲染尺寸改成 3000 x 4000 (手機模式) (圖檔尺寸看個人喜好)
右下角渲染尺寸改成 4000 x 3000 (PC模式) (圖檔尺寸看個人喜好)
按下中間快照鈕 , 另存png圖檔 , 完成大張png圖檔輸出
拿一台虛擬機來測試靜態桌布效果
也可以使用Photoshop來做圖檔後製 (比如去除上下左右多餘透明層)
也可以使用python腳本去除上下左右多餘透明層
運行png_trim.bat
自動運行png_trim.py
自動剪裁png圖檔上下左右多餘透明層
另生成新圖檔 原文件名_fix.png
最後生成懶人包 : )
歌曲 \Extract\output-1\Assets\AddressableConvertAssets\CharacterSong
台詞 \Extract\output-1\Assets\AddressableConvertAssets\Scenario
語音 \Extract\output-1\Assets\AddressableConvertAssets\Voice
BGM \Extract\output-1\Assets\AddressableLocalAssets\Sound\BGM
遊戲資源AB包與抽出資源懶人包
mementomori_dmm_20251128.rar (46.7GB) (RAR密碼 : 1234)
Google Drive載點
Mega.nz載點
百度盤載點