PvZ2修改大典 第三章 數(shù)據(jù)包的處理

前言:隨著技術(shù)的發(fā)展和進(jìn)步,貼圖合成、動(dòng)畫(huà)修改、屬性組合、關(guān)卡制作、音樂(lè)編碼早已不是秘密。其實(shí)從2021年9月Ftp2Res制作出來(lái)時(shí)候就已經(jīng)打破了貼圖合成和動(dòng)畫(huà)修改壟斷,然而由于核心圈大佬仍然使用一些漏洞百出的工具而且不愿變通,導(dǎo)致了我制作的相關(guān)工具在2021-2023年期間使用人數(shù)仍然保持在個(gè)位數(shù),傳播力度極窄,我早已聲明相關(guān)工具公開(kāi),但是收效甚微。以前并沒(méi)有時(shí)間去寫(xiě)相關(guān)教程,而且不少人入門(mén)看的就是我那個(gè)已經(jīng)嚴(yán)重過(guò)時(shí)的RTON修改教程,在此真的勸退不少修改玩家。去年10月我將我當(dāng)時(shí)所有自己寫(xiě)的工具都集成在EBToolBox上,以方便使用,同時(shí)為了照顧無(wú)法安裝.NET 4.8的玩家和便于調(diào)試,保留了各個(gè)功能的單文件版并同步更新。所以在此專門(mén)抽時(shí)間寫(xiě)新版工具相關(guān)的教程,以供來(lái)者學(xué)習(xí)觀摩。
在此特別感謝那些幫助我完善工具和教程的大佬們。
注:若汝目前在升學(xué)考試(小升初、中考、高考、專轉(zhuǎn)本、考研等)期間,請(qǐng)立即停止閱讀PvZ2修改相關(guān)文獻(xiàn),作者自然無(wú)法限制您的閱讀自由,但是為了您的未來(lái)著想,請(qǐng)立即停止修改相關(guān)的學(xué)習(xí),全身心投入考試當(dāng)中,吾不希望踏足PvZ2修改的任何玩家因?yàn)閷W(xué)習(xí)這門(mén)技術(shù)而丟了本業(yè)。
第三章 數(shù)據(jù)包的處理
1.正常數(shù)據(jù)包處理(以處理成正常數(shù)據(jù)包的iOS 10.5.2版本數(shù)據(jù)包為例,如何處理后面再講)(不是改版用到的打包解包,是資源提取操作,也是1536精簡(jiǎn)化的必要流程)
準(zhǔn)備材料:太極,數(shù)據(jù)包

首先,將數(shù)據(jù)包ipad3_10.5.2_main.rsb拖入太極,選擇7(全資源解包) 0(建議事后用PvZ2Tool處理RTON,太極生成的json未序列化,排版不好改也不好看) 1 1,然后就會(huì)彈出一個(gè)資源管理器讓你去選擇圖像材質(zhì)資源文件,進(jìn)入C:\ProgramData\cn.smallpc\taiji\cfg\texture路徑,選擇iOS.json(中文國(guó)際iOS都選iOS.json,中文安卓選android-chs.json,國(guó)際安卓選android-row.json)

隨后選擇0 0(如果你電腦存儲(chǔ)夠大,你可以選1 1)等待將近一個(gè)小時(shí)后(中文版iOS包為大于等于三個(gè)小時(shí)),你所需要的一切資源全部展現(xiàn)了出來(lái),這樣做的目的是將整圖全部切為碎圖,以方便以后預(yù)覽發(fā)布、動(dòng)畫(huà)調(diào)試等等的操作。

2.1536精簡(jiǎn)化處理(極其適用于制作改版)
目前,全資源解包已經(jīng)完成,所有的資源我們已經(jīng)擁有了,但是,目前來(lái)說(shuō),數(shù)據(jù)包體量還是太大了,尤其是768、384分辨率的資源,已經(jīng)不適合這個(gè)時(shí)代了,沒(méi)幾個(gè)手機(jī)需要去適配,所以我們需要將這些清除,這樣也好在我們的電腦上騰出空間。
I.清除無(wú)用數(shù)據(jù)
首先,打開(kāi)我們的解包文件夾ipad3_10.5.2_main.rsb.dir

先打開(kāi)atlas的ATLASES文件夾,這些都是轉(zhuǎn)換后的整圖,和數(shù)據(jù)包解包打包無(wú)任何關(guān)聯(lián)

點(diǎn)擊右上角的搜索框
搜索768(由于我這是iOS版,只有1536,所以沒(méi)有圖演示了),點(diǎn)擊搜索結(jié)果其中一個(gè),然后Ctrl+A全選,點(diǎn)擊鍵盤(pán)上的Delete鍵,將它們?nèi)縿h除
同理搜索384(由于我這是iOS版,只有1536,所以沒(méi)有圖演示了),點(diǎn)擊搜索結(jié)果其中一個(gè),然后Ctrl+A全選,點(diǎn)擊鍵盤(pán)上的Delete鍵,將它們?nèi)縿h除
再打開(kāi)image的images文件夾,這些都是切割分類(lèi)后的碎圖,和數(shù)據(jù)包解包打包無(wú)任何關(guān)聯(lián)

由于我這是iOS版,只有1536,所以沒(méi)有圖演示了。如果是安卓版,這個(gè)地方會(huì)出現(xiàn)768和384的文件夾,不用遲疑,刪掉就好
這樣,和解包打包無(wú)關(guān)的占電腦空間的數(shù)據(jù)就會(huì)被我們清除了
II.利用MOD精簡(jiǎn)數(shù)據(jù)包為1536數(shù)據(jù)包
剛才清除的僅僅是沒(méi)用的,對(duì)數(shù)據(jù)包無(wú)影響,下面我們便要制作僅有1536分辨率的數(shù)據(jù)包,由于目前使用的是iOS的數(shù)據(jù)包,所以只能用來(lái)演示,實(shí)際效果可能和安卓不同,相關(guān)教程只能等以后補(bǔ)充。
準(zhǔn)備材料:太極,解包文件夾
首先打開(kāi)太極的MOD文件夾C:\ProgramData\cn.smallpc\taiji\cfg\script\PVZ2MOD
里面有各式各樣的MOD,但是目前我們只用到其中兩個(gè)

我們先對(duì)其中的mod.env{版本號(hào)}.json進(jìn)行修改

如圖修改數(shù)據(jù)包所在路徑和打包大小

現(xiàn)在,我們將【RSB】移除資源子群-384.tjpvz2mod拖入太極
選擇0 0彈出資源管理器,在C:\ProgramData\cn.smallpc\taiji\cfg\script\PVZ2MOD路徑選擇mod.env{版本號(hào)}.json,這樣關(guān)于384的數(shù)據(jù)就會(huì)被清除


現(xiàn)在,我們將【RSB】移除資源子群-768.tjpvz2mod拖入太極
選擇0 0彈出資源管理器,在C:\ProgramData\cn.smallpc\taiji\cfg\script\PVZ2MOD路徑選擇mod.env{版本號(hào)}.json,這樣關(guān)于768的數(shù)據(jù)就會(huì)被清除


數(shù)據(jù)清除完畢,現(xiàn)在著手于干最后一件事,將res文件夾的atlases文件夾中768、384的PTX清理掉

和之前清理PNG一樣,點(diǎn)擊右上角的搜索框,
搜索768(由于我這是iOS版,只有1536,所以沒(méi)有圖演示了),點(diǎn)擊搜索結(jié)果其中一個(gè),然后Ctrl+A全選,點(diǎn)擊鍵盤(pán)上的Delete鍵,將它們?nèi)縿h除
同理搜索384(由于我這是iOS版,只有1536,所以沒(méi)有圖演示了),點(diǎn)擊搜索結(jié)果其中一個(gè),然后Ctrl+A全選,點(diǎn)擊鍵盤(pán)上的Delete鍵,將它們?nèi)縿h除
然后就是1536數(shù)據(jù)包的生成了
實(shí)際上很簡(jiǎn)單,向太極拖入解包文件夾ipad3_10.5.2_main.rsb.dir,輸入0 1 1,等待一段時(shí)間完成,1536數(shù)據(jù)包即生成。

III.后續(xù)改版打包解包正常操作
現(xiàn)在,你的數(shù)據(jù)包已經(jīng)僅含有1536分辨率了,以前的解包文件夾請(qǐng)改名放在別處,取資源便于利用。
現(xiàn)在,需要正式推出解包打包的正常操作
目前需要了解的是,數(shù)據(jù)包分為兩種形式,全資源形式和資源組形式,剛剛用到的便是全資源形式,打包和解包都尤其慢,但是用到資源組形式就不一樣了,就像一個(gè)壓縮包裝著好幾個(gè)壓縮包一樣,解壓和壓縮都是最快的,現(xiàn)在便是需要進(jìn)行改版的常規(guī)操作,群組解包打包。
首先,將我們的數(shù)據(jù)包拖入太極,選擇5 1 0 0 0,即可幾秒解包完成

我們看到,解包文件夾的packet文件夾中,放置了不少RSGP,這些RSGP也是相當(dāng)于壓縮文件可以解包打包,功能各異,我們以后再講。

現(xiàn)在再來(lái)說(shuō)說(shuō)打包,和往常一樣,將解包文件夾拖入太極,選擇0 1 0(群組打包不會(huì)用到資源文件重寫(xiě)功能),幾秒后即可打包完成。

拓展:10.4及以后版本數(shù)據(jù)包處理(以10.5.2 iOS版RSB處理為例)
注:一般情況下,太極無(wú)法處理不符合太極自定規(guī)范的資源文件,經(jīng)常崩潰。這時(shí)候需要用到第一章提供的PvZ2Tool中的rton2json.exe和json2rton.exe進(jìn)行轉(zhuǎn)換。教程提供的使用太極轉(zhuǎn)換resources.rton或者resources.json這種做法已經(jīng)過(guò)時(shí),是錯(cuò)誤的。
I.數(shù)據(jù)包的資源文件新轉(zhuǎn)舊替換
準(zhǔn)備材料:太極,EBToolBox,數(shù)據(jù)包

首先,將數(shù)據(jù)包拖向桌面的太極圖標(biāo)
如圖所示,依次選擇5 1 0 0 0,將RSB分解為RSGP

打開(kāi)解包文件夾中的packet文件夾,找到__MANIFESTGROUP__.rsgp,將其拖入太極,選擇5后即可解開(kāi)得到分解文件夾里面的資源文件



將資源文件RESOURCES.RTON拖入太極,選擇5,將RTON轉(zhuǎn)為JSON

打開(kāi)EBToolBox,轉(zhuǎn)到ResSC功能,將剛剛生成的RESOURCES.json拖入文本框,點(diǎn)擊運(yùn)行按鈕,待彈出ResSplite Done后即可分解完成,再點(diǎn)擊上方的開(kāi)關(guān),轉(zhuǎn)換為合成模式

默認(rèn)數(shù)組形式的資源文件路徑,將分解片段文件夾resources.dir拖入文本框,點(diǎn)擊運(yùn)行按鈕,待提示ResCraft Done后即可關(guān)閉EBToolBox

此時(shí)RESOURCES.json已經(jīng)被重新生成,將其拖入太極,選擇6,完成后RESOURCES.RTON會(huì)被重新生成

現(xiàn)在,將這個(gè)包含了被修改的資源文件的RSGP分解文件夾__MANIFESTGROUP__.rsgp.dir拖入太極,選擇0 0后__MANIFESTGROUP__.rsgp就會(huì)被重寫(xiě)


最后,將解包文件夾ipad3_10.5.2_main.rsb.dir拖入太極,選擇0 1 0后即可生成可全資源解包的數(shù)據(jù)包了,接下來(lái)就應(yīng)當(dāng)是正常數(shù)據(jù)包的常規(guī)操作,只不過(guò)之后作為改版的資源文件需要用ResSC選擇新版斜杠路徑合成。


II.改版的資源文件舊轉(zhuǎn)新替換
對(duì)于之前的資源文件替換,是為了1536精簡(jiǎn)化和全資源解包獲得資源用的,但是制作改版時(shí),對(duì)于10.4及其以后新版而言,必須用到新版的資源文件,而經(jīng)過(guò)1536精簡(jiǎn)化之后再進(jìn)行群組解包后,資源文件的形式已經(jīng)影響不到正常修改操作了,這時(shí)候需要將舊版資源文件轉(zhuǎn)為新版并替換掉__MANIFESTGROUP__.rsgp.dir中的RESOURCES.RTON,具體操作如下:
準(zhǔn)備材料:群組解包文件夾,EBToolBox,太極
將解包文件夾packet文件夾的__MANIFESTGROUP__.rsgp拖入太極,選擇5后解包完成


然后找到解包文件夾里的資源文件RESOURCES.RTON,拖入太極選擇5轉(zhuǎn)換為JSON


隨后打開(kāi)EBToolBox,選擇ResSC,和之前一樣,資源文件分解,資源文件合成,然后太極轉(zhuǎn)RTON,隨后RSGP合成,之后就等什么時(shí)候RSB合成就能放游戲里用了。唯一不同的就是資源文件合成時(shí)選擇的合成版本是斜杠版本路徑。
