问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Unity中RenderDoc的使用

创作时间:
作者:
@小白创作中心

Unity中RenderDoc的使用

引用
CSDN
1.
https://blog.csdn.net/woodengm/article/details/121223524

RenderDoc是Unity开发中常用的图形调试工具,能够帮助开发者查看和分析每一帧的渲染信息。本文将详细介绍RenderDoc在Unity中的使用方法,包括安装步骤、主要功能区域的介绍以及具体的使用示例。

研究过渲染的同学想必对RenderDoc不陌生。RenderDoc是一个查看和分析渲染效果的工具,可以查看每一帧的渲染信息,比Unity自带的Frame Debugger更强大。

今天给大家分享在Unity中如何使用RenderDoc,并附带一些比起其它文章更详细的说明和实际使用示例。

安装

RenderDoc是以软件的形式而不是插件的形式提供,访问RenderDoc官网,下载对应的版本,直接按照普通软件的过程安装即可。

打开Unity,在Game或者Scene面板的tab上右键,点击Load RenderDoc之后,会在下面的菜单栏上出现RenderDoc的图标,如图所示:

各个主要部分的介绍

无论运行还是不运行,甚至使用Frame Debugger期间,都可以点击RenderDoc功能图标开始使用RenderDoc

RenderDoc的原理是截图分析,在点击功能图标时就截图并记录渲染信息,后续针对截图和渲染信息进行分析。

点击功能图标后会打开RenderDoc界面,几个主要的区域说明如图所示:

打开后需要双击右侧的截图才能显示具体的渲染timeline和事件等信息。

Texture Viewer是我们的主要工作区,点击切换后默认显示的是左侧的第一个渲染事件的结果,如图:

我们一般主要关注的是相机的渲染结果,可以通过渲染事件浏览器(也就是最左边的)来指定查看具体的渲染事件,当然,也可以通过最上方的timeline点击某个数字,下面一一演示。

通过渲染事件浏览器过滤,搜索,查看渲染事件:

通过timeline点击数字查看渲染事件:

通过管线视图,可以查看管线状态信息:

使用示例

这里使用之前文章Unity中使用模板测试模拟Mask组件效果来分析模板测试状态。

将最终效果截图备用,如图:

打开RenderDoc,并双击展开截图信息,在渲染事件浏览器上使用过滤"draw",因为我们只关心绘制事件,同时搜索到

UGUI.Rendering.RenderOverlays

下面的

Canvas.RenderOverlays

, 其中包含四条绘制指令,分别是绘制背景板,绘制原始头像,绘制头像遮罩,绘制头像。我们主要关注后面两个绘制,观察绘制前后的模板缓存信息变化情况,如图所示:

选中第三个,也就是绘制头像遮罩的事件,并在输出视图中选择DS视图(深度和模板),然后选择

Overlay

Stencil Test

, 查看模板缓存状态,如图:

图中的绿色区域就是绘制头像遮罩时模板测试通过的区域,也就是遮罩的图片区域,右键在测试通过区域选取,最下方可以看到对应的像素在模板缓存中的数据,图中显示的是遮罩非透明区域,也就是右侧白色圆圈部分,这里的模板值与参考值一样,是3,其它的位置模板值为0。

然后选择第四个绘制事件,也就是绘制头像的事件,可以看到测试的情况,如图:

图中的红色部分为未通过测试的部分,绿色圆圈就是最后绘制的头像。

可以结合管线阶段中的合并阶段来查看模板测试的参数来观察:

好啦,今天的分享就这么多,希望对大家有所帮助。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号