HDRP给我们提供了一套完整的可视化Debug工具,集成在Rendering Debugger窗口。通过顶部菜单Window→Analysis→Rendering Debugger可以打开窗口。Rendering Debugger窗口不仅仅可以在编辑模式下使用,也可以在真机上运行时使用。(要在真机上运行时使用Debug窗口,我们需要在构建项目时勾选Development Build选项)
PC平台在运行时打开Rendering Debugger窗口的方式为Ctrl+回退键。
在Unity编辑器中使用Rendering Debugger窗口时,在编辑状态和运行状态下该窗口包含不同的选项。在运行状态下会多一个Display Stats选项,该选项可以在运行时直接显示当前帧率等信息。
1.Material(材质)
可以查看相关材质的各项属性。
- Common Material Properties为Smoothness时,场景中物体颜色越白,说明其越光滑。最大为1,为纯白色。
- Meterial 为 Lit/***时,表示针对场景中所有使用Lit着色器的材质,显示与之相关的***信息。
- Material Validator为Metal or SpecularColor时,场景中红色的部分表示这些像素对应材质上的Metallic或Specular颜色不在可接受的PBR范围之内。
2. Lighting(光照)
可以查看相关光照的信息,比如阴影、直接光照和间接光照等。
- Show Lights By Type下的四个参数都不勾选时,表示关闭了所有的光源和反射探针,在场景中只能看到烘焙的间接光和自发光。
- Fullscreen Debug Mode(全屏Debug模式)为Screen Space Ambient Occlusion(SSAO)时,表示使用全屏方式显示屏幕空间环境光遮蔽,这有助于我们快速查看哪些区域的环境光遮蔽可能存在问题。
- 当勾选Override Emissive Color(重载自发光颜色)时,可以为场景中所有自发光材质指定一个颜色。
3. Camera
在Debug窗口中,所有当前场景中的相机都有自己独立的控制界面。比如场景中有:MainCamera、Camera-1和Camera-2相机,再加上默认的Scene窗口相机。Debug窗口会列出当前场景使用的这4个相机。
每个相机的Debug选项都是相同的:Rendering、Lighting、Async Compute和Light Loop。可以使用这些选项临时改变相机的Frame Settings(帧设置),这不会影响相机在场景中的实际设置。这意味着可以在Debug窗口随意开关各项设置查看画面效果。完成Debug以后,在Debug窗口恢复默认选项即可。
Debug、Sanitized、Overridden、Default与HDRP配置文件,默认Frame Settings和自定义Frame Settings之间的关系:
HDRP会按照Default→Overridden→Sanitized→Debug的先后顺序来检查各个区域中某项功能是否起作用。
- HDRP会先检查在相机的Default Frame Settings(在HDRP Global Setting界面)中是否启用某项功能。(对应Default区域)
- 然后检查在相机的Custom Frame Settings(Camera组件的属性)中是否启用某项功能。(对应Overridden区域)
- 最后检查在HDRP配置文件中是否启用此项功能。
- 根据上述三步最终决定是否启用Sanitized选项。