您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 暮苏 于 2022-8-3 00:45 编辑
RenderDoc for Unity
1.安装包:
官方网站:RenderDoc
软件是开源免费的.开源万岁!
暂时无法在文档外展示此内容
2.简述:
具体食用指南:
- 安装部分:
- 先安装RenderDoc.确保Unity进程关闭状态下,打开renderdoc安装包,下一步下一步即可.(在这里建议调试的Unity版本应大于Unity2019.之前尝试2018版本似乎一定要Unity版本是Pro/破解版才可以.否则则会在运行renderdoc时卡死.似乎是Unity官方做了什么非付费的屏蔽措施.)
- 安装成功之后,打开Unity,右键Game面板会有Load RenderDoc的选项.如图:
- 点击之后会让你存储一下当前场景,存储一下.存储完之后观察Game视口会出现RenderDoc的标志:
- 运行部分:
- 在抓帧之前,请注意要在调试的shader内加一段关键字
- 在shader中添加关键字段#pragma enable_d3d11_debug_symbols
- 加上它的原因是关闭HLSL的编译优化.
- 下面两张图分别是未加字段和加字段编译后的结果.
未加编译标识字段
加了编译标识字段
- 单击上面小人(RenderDoc标志)稍等会激活RenderDoc程序.我们拿个角色做举例
- 抓帧成功会弹出新的窗口:
双击抓取到的帧,便可读取数据如下图:
切换到TextureViewer,通过滑动EID去看它渲染顺序如下图:
找到绘制角色那一帧,如下图:
Unity是以OpenGL窗口为标准,所以在DX显示下会上下颠倒,UE则相反,此时我们可以Flip texture如下图:
此时我们就能去看他的一些相关数据,比如说顶点输入和输出的相关数据:
以及在渲染各阶段都做了哪些,如下图:
或者我们直接定位像素如下图(直接在图上右键就行.注意RenderDoc在渲染中选择像素/片元都是通过右键去选择.)
当点击Debug的时候就会跳转到代码块中就可以通过F10观察右下角数据去逐行Debug.
逐行Debug天下第一!
- 其他:
- RenderDoc也可以Debug UE的渲染.
- RenderDoc也可以连接手机真机调试.(说是调试,你可以扒别人的贴图资源和部分未做混淆的源码)
RenderDoc for UE
还没写
XCode
1.安装包:
XCode只在Mac OS平台发布,所以需要一个mac/黑苹果。
AppStore下载即可。
还有,你需要一个苹果开发者账号或者7天有效的本地证书也行。
2.简述:
具体食用指南:(这里我用真机调试)
1.Unity内相关设置:
Unity环境切换到IOS之后,在Player Setting中找到Target SDK(真机测试保持默认Device SDK即可,模拟器测试切换成Simulator SDK)注意:Simulator SDK打出来的包是没办法发布的。
Unity2019中Target SDK是在Other setting分卷下,老版本的话,位置不在这。但是也在player setting中。
模拟器作为简单观测还行,但是要涉及到Proflie就还是真机最好。
Unity内打包我就跳过了。
2.XCode相关步骤:
打开XCode加载刚才Unity打包出来的文件如下图:
打开之后配置一下证书,如下图,如果没有开发者账号,申请个开发者证书就好了(有时效性)
配置完证书文件,先连接下ios设备,确保连接上之后直接直接运行就好,等他编译。
编译完成之后手机上会自动安装上你打的包,如果是证书用户记得去手机设置-通用-描述文件,信任一下你自己的证书然后再重新运行一下找到如下界面(这里仅作shader相关调试,其他调试之后补充
如果点了抓帧(就是上图那个小摄像机)就会出现如下界面:
左边是渲染队列,中间是对应里面数据及大小,下面是当前帧内数据。
同样也可以在像素层面debug,如下图:
然后就会跳转到对应的代码块查看具体变量编译后的结果。
愉快的debug就开始了!
3.题外话:
XCode内置的Profile比Unity强大很多很多,所以后期要做检查及优化,至少在IOS层面上就不用选择XCode以外的工具了。
|