Unity中文本AssetBundle的解析


 Unity在其安裝目錄下提供了許多實用的小工具,就存放在unity安裝目錄下的:Editor/Data/Tools, 其中該路徑下的WebExtract.ext和binary2text.exe可以用來解析Text Asset打包出的AssetBundle, 也就是將二進制的ab反序列化成原來的文本格式。

 使用這兩個exe應用程序,我們就能了解到每次補丁中打出去的文本AB內部到底是什么,進而排查在游戲更新時出現的一些問題。不過在解析的時候操作步驟比較繁瑣,所以筆者抽空寫了一個bat腳本,自動化解析(順便回顧下批處理的語法=.=),具體的bat腳本如下:

@echo OFF
:LOOP
    :: 使用方式:將腳本直接放到C:\Users\lin\AppData\Roaming\Microsoft\Windows\SendTo目錄下,后續即可通過右鍵AB,點擊“發送到” 選擇對應的腳本
    rem 前提是將下方的webExtractPath和binary2testPath變量的unity路徑替換成你本地unity安裝目錄

    set webExtractPath=C:\"Program Files\Unity565\Editor\Data\Tools\WebExtract.exe"
    set binary2testPath=C:\"Program Files\Unity565\Editor\Data\Tools\binary2text.exe"
    set filePath=%1
    set transitionFolder=%filePath%_data
    
    if not exit %webExtractPath% (
        echo 不存在%webExtractPath%
        goto END
    )
    if not exit %binary2testPath% (
        echo 不存在%binary2testPath%
        goto END
    )   
    if %filePath%! == ! (
        goto END
    )
    call %webExtractPath% %filePath%
    echo 生成文本文件
    choice /t 1 /d y

    for /f "delims=" %%i in ('dir /b/a-d/s %transitionFolder%\*') do (
        call %binary2testPath% %%i
    )
    echo 已生成到同目錄%~nx1%_data下
    shift
    goto LOOP

:END
    echo Done!
pause

快捷實用,開袋即食


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM