Unity中文本AssetBundle的解析
阅读原文时间:2023年07月09日阅读:1

 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

快捷实用,开袋即食

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章