之前写过一篇基于Aderno Profiler的手游效果分析,但这个工具高通早就没有维护了,在使用其分析游戏效果的时候也是错误百出。
还好,失之东隅,收之桑榆:Snapdragon profiler在更新之后要好用许多,足够我们完成对游戏效果的分析了。
本篇主要着眼于介绍工具本身,而不是具体的渲染技术,将以下面这个风动树为例来介绍:
一 连接手机
二 截取一帧
三 定位Drawcall(以下简称DC)
定位到绘制树的DC:
四 分析DC
通过分析贴图、Shader等就基本能还原其效果了,这里分享几个小技巧:
1 定位具体资源
勾选Used,将仅当前DC所用到的资源(贴图、Shader等)显示出来
2 TEXCOORD0对应哪个贴图?
通过展开DC能看到TEXCOORD0、TEXCOORD1等分别对应哪个贴图
3 修改Shader代码
修改Shader代码并应用,能看到具体的效果
4 Program Inspector
通过ProgramInspector窗口,能看到该Shader所采用的全局变量具体的值,这在后续的效果还原中是相当重要的
五 获取资源
接下来需要获取游戏相关的资源:
1 贴图
贴图很好获取,直接在Profiler中保存即可:
2 模型
通过NinjiaRipper可获取,具体操作可参见其官网
六 在Unity中还原
最后利用获取到的资源,还原出来的效果(带碰撞):