准备工作
准备软件:
- Blue Archive PC版(我用日服)
- RenderDoc v1.23(我使用的)
- YYadorigi/HLSL-Decompiler
准备环境:
- 电脑进入BIOS,关闭Secure Boot,重启,这样才能通过全局hook向游戏注入RenderDoc(这会导致登录PIN暂时不可用,需用Outlook登录用户)
- RenderDoc菜单Tool – Settings,
- 在General页,为了开启全局hook,勾选
Allow global process hooking - 在Shader Viewer页,为了安装HLSL-Decompiler,点Add,内容:
- |Name|DXBC Decompiler|
- |Tool Type|Custom Tool|
- |Executable|Absolute path of
HLSLDecompiler.bat| - |Command Line|{input_file} -dxbc|
- |Input/Output|DXBC/HLSL|
- 在General页,为了开启全局hook,勾选
抓帧
- 进入RenderDoc的Launch Application窗口,设置Executable Path为BlueArchive_JP下的BlueArchive.exe(注意,不是启动器)
- 其他不用动。点击Enable Global Hook,授予管理员权限
- 打开蔚蓝档案的启动器,通过启动器启动游戏(否则运行过一会就闪退)
- 进入游戏后,游戏左上角应当显示RenderDoc调试信息,说明成功注入,正常登录游戏即可
- 在想要抓帧的画面按一下F12,即可抓到一帧
分析帧

重要的窗口:
- 上方的Timeline,从左往右是渲染顺序,可以左右拖动,灰色的是一个个Pass
- 左侧的Event Browser,也是从上往下的渲染顺序表
- Texture Viewer:渲染结果/贴图查看器
- 拖动Timeline到想分析的Pass,鼠标右键图片上的一个像素,在Pixel Context中选择Debug,右侧就会弹出Pixel History窗口,可以查看该像素的经历和颜色变化
- Zoom旁有个绿色双向箭头按钮,点一下可以垂直翻转图片
- 可通过上方的RGBA按钮,查看不同通道,右键可以显示单通道
- 可通过γ按钮,应用/取消gamma映射
- 可通过Actions中的保存按钮保存图片
- Pipeline State:渲染管线查看器
- 基本只用看VS和PS
- 点进去可以看到具体的Shader名称、用到的Resources(贴图)、Samplers、Constant Buffers,点击任意资源右侧的箭头按钮即可查看资源
- 点击Shader旁边的View按钮即可跳转到Shader查看器
- Shader查看器:
- 默认反编译成DXBC码
- 可以选择Disassembly Type为HLSL(DXBC Decompiler),将DXBC反编译为HLSL
发表回复