碧藍(lán)航線|半自動化立繪合并&差分表情接頭工具

其實使用的時候要做的事情只有手動導(dǎo)入和保存(
本工具并不包括把碎片化立繪還原的功能
release僅Windows系統(tǒng)可用,僅在64位 Windows 10?上測試過
對于其他系統(tǒng)沒做打包 <del>沒條件整</del>,還請直接下載源碼.py文件運行(需要Python環(huán)境)??赏ㄟ^pip install使用源碼包內(nèi)的requirements.txt安裝所需的模塊
$?pip install -r requirements.txt
本身完全是GUI程序,不過仍然保留了黑框命令行界面,方便記錄報錯信息。有任何bug或其他問題可發(fā)在評論區(qū)或github提issue
該工具使用的?WebExtract.exe 和 binary2text.exe 取自 Unity64 - 2020.1.6f1

p兩張圖簡單總結(jié)該工具的功能:



食用方法:
打開程序后左上角的倆頁簽就是該工具包含的兩個功能

我上一篇專欄講的就是立繪合并功能 <del>到底為啥會想著發(fā)個先行版的呢</del>

更早之前發(fā)的兩篇講思路和算法的專欄現(xiàn)在只剩提供思路的作用了,修bug時又踩了幾個坑,算法改了又改(
改正補(bǔ)充幾個點:
導(dǎo)入文件:需要位于游戲目錄下的painting文件夾里的文件

還可以選_n后綴的以合并不帶小背景的立繪,_hx也可以,總之不要_tex結(jié)尾的文件。
導(dǎo)入完成后等待處理計算完畢?!腥魏螁栴}一般都會在下方文本框里打印ERROR: 并終止處理。比如對應(yīng)的立繪不需要合并或者該文件不可用等等。
計算完畢后就可以導(dǎo)入還原后的立繪并根據(jù)坐標(biāo)點粘貼合并。若想獲得比較完美的合并后的立繪需要保證立繪尺寸是正確的。
上次提到的四個皮膚的問題已解決。不過需要提醒一點

香格里拉立繪合并后會留下大量空白,是文件內(nèi)數(shù)據(jù)決定的,不會修復(fù)。?<del>這是特性</del> 分辨率問題不用擔(dān)心,合并后包括空白的部分,分辨率約4800x3200。合并大鳳的賽車服立繪也會出現(xiàn)該現(xiàn)象。


然后是另一個頁簽,差分表情接頭功能

文件處理框:導(dǎo)入文件,文件要求與立繪合并功能的要求一致,不要_tex結(jié)尾的就行。導(dǎo)入之后會自動計算表情粘貼坐標(biāo)。若文件數(shù)據(jù)內(nèi)找不到face子對象會報錯并終止處理。若一切順利的話下方的差分表情導(dǎo)入框會被激活,而三個導(dǎo)入按鈕僅有一個導(dǎo)入主立繪按鈕會被激活。剩下兩個在導(dǎo)入主立繪后才會被啟用。舉個栗子:

導(dǎo)入主立繪:顧名思義導(dǎo)入一張還原后的立繪。為了避免不必要的差錯,立繪尺寸必須是正確的
導(dǎo)入差分 - 文件:導(dǎo)入游戲目錄下paintingface內(nèi)對應(yīng)的文件,自動分析并產(chǎn)出所有包含在文件內(nèi)的差分表情并全部丟進(jìn)差分列表
導(dǎo)入差分 - 圖片:導(dǎo)入一張圖片作為差分表情粘貼到主立繪上
處理日志:記錄處理paintingface文件的過程和報錯
差分列表:列出所有可選差分表情,可選擇其中一個保存
坐標(biāo)補(bǔ)正勾選框(右上角):是否啟用坐標(biāo)補(bǔ)正。計算粘貼坐標(biāo)時在最后一步加了 (+1, +1) 的坐標(biāo)補(bǔ)正。但部分立繪出于某些原因不適用坐標(biāo)補(bǔ)正,所以加入該CheckBox。


對于普通立繪只要有對應(yīng)paintingface文件就能接頭。
導(dǎo)入差分表情文件后的處理速度取決于差分表情數(shù)量以及數(shù)據(jù)存儲方式。經(jīng)過壓縮紋理處理過并以二進(jìn)制儲存的差分表情處理速度最快,以字符串形式直接保存在文件內(nèi)且未經(jīng)壓縮紋理處理過數(shù)據(jù)的差分表情處理最慢(點名海王星皮膚,類似的還有貝奇。大部分出現(xiàn)問題的情況下會在日志內(nèi)打印ERROR并終止處理
對于需要進(jìn)行立繪合并的,先要在包含人物的立繪上先接頭(注意該立繪的名稱后綴,如_n或者_(dá)front),之后再合并立繪。
立繪合并 保存立繪的后綴為_group,差分接頭 保存立繪的后綴為_exp

配置文件
配置文件名為 ALPAConfigs.yml

painting:
importFilesPath:立繪合并-導(dǎo)入文件時使用的路徑,會自動更新
importPaintingPath:立繪合并-導(dǎo)入立繪和差分接頭-導(dǎo)入主立繪時使用的路徑,會自動更新
wildCard:立繪合并-導(dǎo)入立繪和差分接頭-導(dǎo)入主立繪時篩選立繪文件使用的通配符,只能手動編輯不會自動更新
paintingface:
ApplyCorrection:默認(rèn)是否啟用坐標(biāo)補(bǔ)正
importFilesPath:差分接頭-導(dǎo)入文件時使用的路徑,會自動更新
importFace2DPath:導(dǎo)入差分-圖片時使用的路徑,會自動更新
importFaceFilePath:導(dǎo)入差分-文件時使用的路徑,會自動更新
wildCard_2D:導(dǎo)入圖片差分表情時用于篩選的通配符,只能手動編輯
wildCard_File:導(dǎo)入文件差分表情時用于篩選的通配符,只能手動編輯
程序正常退出時會自動更新配置文件