渲染管线调试 (Render Pipeline Debug)
Render Pipeline Debug 窗口是可编程渲染管线 (Scriptable Render Pipeline) 的特定窗口,其中包含调试和可视化工具。您可以使用这些工具快速了解并解决您可能遇到的任何问题。目前主要包含与图形相关的工具,但可以在扩展后包含任何其他领域(如动画)的工具。Render Pipeline Debug 窗口将调试项分为不同的部分,如下所示:
Render Pipeline Debug 窗口。
使用 Render Pipeline Debug 窗口
要在编辑器中打开 Render Pipeline Debug 窗口,请选择 Window > Render Pipeline > Render Pipeline Debug。也可以在运行时在运行模式下打开此窗口,或者在开发版 (Development build) 中在任何设备上的独立 Unity Player 中打开此窗口。使用键盘快捷键 Ctrl+Backspace(在 macOS 上为 Ctrl+Delete)或按控制器上的 L3 和 R3(左摇杆和右摇杆)可以打开此窗口。
您可以独立于 Render Pipeline Debug 窗口显示只读项,例如 FPS 计数器。这意味着,禁用 Render Pipeline Debug 窗口时,这些只读项仍在屏幕的右上角可见。如果想要跟踪特定值而不希望屏幕混乱,这尤其有用。
在运行时导航
更改当前的激活项:
- 键盘:使用箭头键。
- Xbox 控制器:使用方向键盘 (D-Pad)。
- PlayStation 控制器:使用方向按钮。
更改当前的选项卡:
- 键盘:使用 Page up 和 Page down 键(MacOS 上分别为 Fn + Up 和 Fn + Down 键)。
- Xbox 控制器:使用左缓冲键和右缓冲键。
- PlayStation 控制器:使用 L1 按钮和 R1 按钮。
独立于调试窗口显示当前激活项:
- 键盘:按右 Shift 键。
- Xbox 控制器:按 X 按钮。
- PlayStation 控制器:按方形按钮。
Render Graph 面板
Render Graph 面板中的工具可用于调试 HDRP 使用的渲染图 (Render Graph)。
调试选项 | 描述 |
---|---|
Clear Render Targets at creation | 启用此复选框可以使渲染图系统在初次使用渲染目标时清除渲染目标。 |
Disable Pass Culling | 启用此复选框可以渲染对最终渲染没有影响的通道。 |
Immediate Mode | 启用此复选框可以使渲染图系统在创建通道之后立即评估通道。 |
Log Frame Information | 按下此按钮可以在控制台中记录有关在帧期间渲染的通道的信息。 |
Log Resources | 按下此按钮可以在控制台中记录在渲染帧期间使用的资源列表。 |
Decals 面板
Decals 面板中的工具可用于调试项目中的贴花。
调试选项 | 描述 |
---|---|
Display Atlas | 启用此复选框可以在摄像机视图的左上方显示该摄像机的贴花图集。 |
Mip Level | 使用滑动条选择贴花图集的 Mip 级别。Mip 级别越高,贴花图集就越模糊。 |
Display Stats 面板
Display Stats 面板仅在运行模式下可见,可用于调试项目中的性能问题。
调试选项 | 描述 |
---|---|
Frame Rate | 显示当前摄像机视图的帧率(以每秒帧数为单位)。 |
Frame Time | 显示当前摄像机视图的总帧时间。 |
RT Mode | 如果启用了光线追踪,则显示渲染期间使用的光线追踪层。 |
Count Rays | 如果启用光线追踪,启用此复选框可以计算每种效果所追踪的光线数(以 MRays/帧为单位)。 |
- Ambient Occlusion | 启用 RT 环境光遮挡 (AO) 的情况下,为进行 AO 计算而追踪的光线数。 |
- Shadows Directional | 启用 RT 阴影的情况下,为方向光追踪的光线数。 |
- Shadows Area | 启用 RT 阴影的情况下,朝向面光源追踪的光线数。 |
- Shadows Point/Spot | 启用 RT 阴影的情况下,朝向精准光源(点光源/聚光灯)追踪的光线数。 |
- Reflection Forward | 使用前向着色为进行反射计算而追踪的光线数。 |
- Reflection Deferred | 使用延迟着色为进行反射计算而追踪的光线数。 |
- Diffuse GI Forward | 使用前向着色为进行漫射全局光照 (GI) 计算而追踪的光线数。 |
- Diffuse GI Deferred | 使用延迟着色为进行漫射全局光照 (GI) 计算而追踪的光线数。 |
- Recursive | 启用递归 RT 的情况下,为进行漫射全局光照 (GI) 计算而追踪的光线数。 |
- Total | 已追踪的光线总数。 |
Debug XR Layout | 启用此复选框可以显示 XR 通道调试信息。 此模式仅在编辑器和开发构建中可用。 |
Material 面板
Material 面板中的工具可用于可视化不同的材质属性。
调试选项 | 描述 |
---|---|
Common Material Property | 使用下拉选单选择一个材质属性以对屏幕上的每个游戏对象进行可视化。所有 HDRP 材质具有相同的可用属性。 |
Material | 使用下拉选单选择一个材质属性以使用特定着色器对屏幕上的每个游戏对象进行可视化。可用的属性取决于您在下拉选单中选择的 HDRP 材质类型。 |
Engine | 使用下拉选单选择一个材质属性以使用特定着色器对屏幕上的每个游戏对象进行可视化。可用的属性与 Material 的属性相同,但是采用的是在光照引擎中使用的形式(例如,Smoothness 为 Perceptual Roughness)。 |
Attributes | 使用下拉选单选择一个 3D 游戏对象属性(例如 Texture Coordinates 或 Vertex Color)以在屏幕上可视化。 |
Properties | 使用下拉选单选择一个属性,该属性将由调试器用来在屏幕上突出显示游戏对象。如果游戏对象使用具有所选属性的材质,调试器会突出显示这样的游戏对象。 |
GBuffer | 使用下拉选单选择一个属性以便从延迟材质的 GBuffer 进行可视化。 |
Material Validator | 使用下拉选单选择属性以显示相应属性的验证颜色。 • Diffuse Color:选择此选项可以检查场景中的漫射颜色是否在可接受的 PBR 范围内。如果材质颜色超出此范围,则调试器将以 Too High Color 颜色显示该颜色(如果超出此范围),或以 Too Low Color 颜色显示该颜色(如果低于此范围)。 • Metal or SpecularColor:选择此选项可以检查像素是否含有在可接受的 PBR 范围内的金属或镜面反射颜色。如果不包含该颜色,则调试器会在 Not A Pure Metal Color 中突出显示该颜色。有关 Unity 中可接受的 PBR 范围的信息,请参阅“材质图表”文档。 |
- Too High Color | 使用拾色器选择当材质的漫射颜色超出可接受的 PBR 范围时调试器显示的颜色。 仅当从 Material Validator 下拉选单中选择 Diffuse Color 或 Metal or SpecularColor 时,才显示此属性。 |
- Too Low Color | 使用拾色器选择当材质的漫射颜色低于可接受的 PBR 范围时调试器显示的颜色。 仅当从 Material Validator 下拉选单中选择 Diffuse Color 或 Metal or SpecularColor 时,才显示此属性。 |
- Not A Pure Metal Color | 使用拾色器选择当定义为金属性的像素具有非零反照率值时调试器显示的颜色。仅当启用 True Metals 复选框时,调试器才突出显示这些像素。 仅当从 Material Validator 下拉选单中选择 Diffuse Color 或 Metal or SpecularColor 时,才显示此属性。 |
- Pure Metals | 启用此复选框可以使调试器突出显示由 Unity 定义为金属性但具有非零反照率值的像素。调试器使用 Not A Pure Metal Color 突出显示这些像素。 仅当从 Material Validator 下拉选单中选择 Diffuse Color 或 Metal or SpecularColor 时,才显示此属性。 |
如果对几何体或着色法线进行了去标准化,则视图会将目标像素渲染为红色。
Lighting 面板
Lighting 面板中的工具可用于可视化场景中的光照系统的各个组件,例如阴影和直接/间接光照。
阴影调试选项 | 描述 |
---|---|
Debug Mode | 使用下拉选单选择要在屏幕上覆盖的阴影调试信息。 •None:选择此模式可以从屏幕上移除阴影调试信息。 • VisualizePunctualLightAtlas:选择此模式可以为场景中的精准光源覆盖阴影图集。 • VisualizeDirectionalLightAtlas:选择此模式可以为场景中的方向光覆盖阴影图集。 • VisualizeAreaLightAtlas:选择此模式可以为场景中的面光源覆盖阴影图集。 • VisualizeShadowMap:选择此模式可以为场景中的光源覆盖单个阴影贴图。 • SingleShadow:选择此模式可以用单个光源替换场景的光照。要选择要隔离的光源,请查看 Use Selection 或 Shadow Map Index。 |
- Use Selection | 启用此复选框可以显示在场景中选择的光源的阴影贴图。 仅当从 Shadow Debug Mode 下拉选单中选择 VisualizeShadowMap 或 SingleShadow 时,才显示此属性。 |
- Shadow Map Index | 使用滑动条选择要查看的阴影贴图的索引。要正确使用此属性,场景中必须至少有一个使用阴影贴图的光源。 |
Global Scale Factor | 使用滑动条设置 HDRP 应用于阴影渲染分辨率的全局缩放。 |
Clear Shadow Atlas | 启用此复选框可以在每帧清除阴影图集。 |
Range Minimum Value | 设置要在各种阴影调试覆盖层中显示的最小阴影值。 |
Range Maximum Value | 设置要在各种阴影调试覆盖层中显示的最大阴影值。 |
Log Cached Shadow Atlas Status | 按下此按钮可以在控制台中记录在缓存阴影图集内放入的光源列表。 |
光照调试选项 | 描述 |
---|---|
Show Lights By Type | 允许用户根据类型启用或禁用场景中的光源。 |
- Directional Lights | 启用此复选框可以查看场景中的方向光。禁用此复选框可以从场景的光照中移除方向光。 |
- Punctual Lights | 启用此复选框可以查看场景中的精准光源。禁用此复选框可以从场景的光照中移除精准光源。 |
- Area Lights | 启用此复选框可以查看场景中的面光源。禁用此复选框可以从场景的光照中移除面光源。 |
- Reflection Probes | 启用此复选框可以查看场景中的反射探针。禁用此复选框可以从场景的光照中移除反射探针。 |
Exposure | 选择要使用的曝光调试模式。 |
- Debug Mode | 使用下拉选单选择调试模式。请参阅曝光文档以了解更多信息。 |
- Show Tonemap curve | 启用此复选框可以将色调映射曲线覆盖到直方图调试视图。 仅当从 Debug Mode 中选择 HistogramView 时,才显示此属性。 |
- Center Around Exposure | 启用此复选框可以围绕当前曝光值使直方图居中。 仅当从 Debug Mode 中选择 HistogramView 时,才显示此属性。 |
- Display RGB Histogram | 启用此复选框可以将最终图像直方图 (Final Image Histogram) 显示为 RGB 直方图而不仅仅是亮度。 仅当从 Debug Mode 中选择 FinalImageHistogramView 时,才显示此属性。 |
- Display Mask Only | 启用此复选框可以仅在画中画中显示计量遮罩。禁用后,遮罩将在加权场景颜色后显示。 仅当从 Debug Mode 中选择 MeteringWeighted 时,才显示此属性。 |
- Debug Exposure Compensation | 为调试目的设置额外的曝光补偿。 |
Debug Mode | 使用下拉选单选择要调试的光照模式。例如,您可以可视化漫射光照、镜面反射光照、直接漫射光照、直接镜面反射光照、间接漫射光照、间接镜面反射光照、发射光照和方向光阴影级联。 |
Hierarchy Debug Mode | 使用下拉选单选择一种光源类型以显示其直接光照,或选择反射探针类型以显示其间接光照。 |
Light Layers Visualization | 启用此复选框可以在场景中可视化对象的光源层。 |
- Use Selected Light | 启用此复选框可以可视化受选定光源影响的对象。 |
- Switch to Light's Shadow Layers | 启用此复选框可以可视化针对选定光源投射阴影的对象。 |
- Filter Layers | 使用下拉选单过滤要可视化的光源层。具有匹配层的对象将以特定颜色显示。 |
- Layers Color | 使用拾色器选择每个光源层的显示颜色。 |
材质覆盖 | 描述 |
---|---|
Override Smoothness | 启用此复选框可以覆盖整个场景的平滑度。 |
- Smoothness | 使用滑动条设置 HDRP 用于整个场景的平滑度覆盖值。 |
Override Albedo | 启用此复选框可以覆盖整个场景的反照率。 |
- Albedo | 使用拾色器设置 HDRP 用于整个场景的反照率颜色。 |
Override Normal | 启用此复选框可以使用对象法线覆盖整个场景的法线以进行光照调试。 |
Override Specular Color | 启用此复选框可以覆盖整个场景的镜面反射颜色。 |
- Specular Color | 使用拾色器设置 HDRP 用于整个场景的镜面反射颜色。 |
Override Emissive Color | 启用此复选框可以覆盖整个场景的发光颜色。 |
- Emissive Color | 使用拾色器设置 HDRP 用于整个场景的发光颜色。 |
调试选项 | 描述 |
---|---|
Fullscreen Debug Mode | 使用下拉选单选择要调试的全屏光照效果。例如,可以可视化接触阴影、深度棱锥和间接漫射光照。 |
Tile/Cluster Debug | 使用下拉选单选择一个内部 HDRP 光照结构以便在屏幕上可视化。 • None:选择此选项可关闭该调试功能。 • Tile:选择此选项可显示每个光照瓦片的覆盖层以及其中的光源数量。 • Cluster:选择此选项可显示与不透明几何体相交的每个光照集群的覆盖层以及其中的光源数量。 • Material Feature Variants:选择此选项可显示 HDRP 用于瓦片的光照着色器变体的索引。您可以在 lit.hlsl 文件中找到变体描述。 |
- Tile/Cluster Debug By Category | 使用下拉选单选择要显示瓦片/集群调试信息的光源类型。选项包括 Light Types、Decals 和 Density Volumes。 仅当从 Tile/Cluster Debug 下拉选单中选择 Tile 或 Cluster 时,才显示此属性。 |
- Cluster Debug Mode | 使用下拉选单选择集群的可视化模式。选项包括: VisualizeOpaque:显示有关不透明几何体的集群信息。 VisualizeSlice:显示距摄像机一定距离处的集群信息。 仅当从 Tile/Cluster Debug 下拉选单中选择 Cluster 时,才显示此属性。 |
- Cluster Distance | 使用此滑动条设置显示集群切片的距离(相对于摄像机)。仅当从 Cluster Debug Mode 下拉选单中选择 VisualizeSlice 时,才显示此属性。 |
Display Sky Reflection | 启用此复选框可以显示由当前天空生成并由 HDRP 用于光照的立方体贴图的覆盖层。 |
- Sky Reflection Mipmap | 使用滑动条设置天空反射立方体贴图的 Mipmap 级别。使用设置可以查看天空反射立方体贴图的不同 Mipmap 级别。 仅当启用 Display Sky Reflection 复选框时,才显示此属性。 |
Display Light Volumes | 启用此复选框可以显示所有光源包围体积的覆盖层。 |
- Light Volume Debug Type | 使用下拉选单选择 HDRP 用于显示光源体积的方法。 • Gradient:选择此选项可将光源体积显示为渐变。 • ColorAndEdge:选择此选项可将光源体积显示为纯色(每种光源类型使用不同的颜色),并带有红色边框以提高辨识度。 仅当启用 Display Light Volumes 复选框时,才显示此属性。 |
- Max Debug Light Count | 使用滑动条重新缩放渐变。降低此值可使屏幕以更快的速度变红。使用此属性可以更改应用程序可接受的最大光源数量,并且仍然看到红色区域。 仅当 Display Light Volumes 模式设置为 Gradient 时,才显示此属性。 |
Display Cookie Atlas | 启用此复选框可以显示剪影图集的覆盖层。 |
- Mip Level | 使用滑动条设置剪影图集的 Mipmap 级别。 仅当启用 Display Cookie Atlas 复选框时,才显示此属性。 |
- Clear Cookie Atlas | 启用此复选框可以清除每一帧的剪影图集。 仅当启用 Display Cookie Atlas 复选框时,才显示此属性。 |
Display Planar Reflection Atlas | 启用此复选框可以显示平面反射图集的覆盖层。 |
- Mip Level | 使用滑动条设置平面反射图集的 Mipmap 级别。 仅当启用 Display Planar Reflection Atlas 复选框时,才显示此属性。 |
- Clear Planar Atlas | 启用此复选框可以清除每一帧的平面反射图集。 仅当启用 Display Planar Reflection Atlas 复选框时,才显示此属性。 |
Debug Overlay Screen Ratio | 以屏幕大小的比例设置调试覆盖纹理的大小。默认值为 0.33,即屏幕大小的 33%。 |
Volume 面板
Volume 面板中的工具可用于可视化影响摄像机的体积组件 (Volume Components)。
调试选项 | 描述 |
---|---|
Component | 使用下拉选单选择要可视化的体积组件。 |
摄像机 | 使用下拉选单选择要用作体积锚点的摄像机。 |
Parameter | 选定组件的参数列表。 |
Interpolated Value | 每个参数影响所选摄像机的当前值。 |
Other columns | 其余每一列显示影响所选摄像机的体积的参数值。这些列按照影响力降低的顺序从左到右进行排序。 |
Rendering 面板
Rendering 面板中的工具可用于可视化各种 HDRP 渲染特征。
调试选项 | 描述 |
---|---|
Fullscreen Debug Mode | 使用下拉选单选择一个渲染模式以在屏幕上显示为覆盖层。 • Motion Vectors:选择此选项可显示运动矢量。请注意,对象运动矢量在 Scene 视图中不可见。 • NaN Tracker:选择此选项可显示一个用于突出显示 NaN 值的覆盖层。 • ColorLog:选择此选项可显示在进行颜色分级之前原始日志编码缓冲区的外观。 • DepthOfFieldCoc:选择此选项可显示景深效果的模糊圆圈。模糊圆圈显示景深效果对给定像素/区域的模糊程度。 • Quad Overdraw:选择此选项可显示一个覆盖层,其中突出显示运行多个片元着色器的 GPU 四边形。这主要是由小三角形或细长三角形引起的。可使用 LOD 减少对象远离时的过度绘制量。(Metal 和 PS4 当前不支持此模式)。 • Vertex Density:选择此选项可显示一个覆盖层,其中突出显示运行多个顶点着色器的像素。当属于不同三角形时,一个顶点可以运行多次。这有助于找到需要 LOD 的模型。(Metal 当前不支持此模式)。 • TransparencyOverdraw:选择此选项可查看在彼此之上绘制的透明像素的数量。这表示透明像素在屏幕上的重叠量。适合用于从场景的不同视角查看透明游戏对象的像素过度绘制量。此调试选项将每个像素显示为从黑色(表示无透明像素)到蓝色再到红色(具有最大像素成本 (Max Pixel Cost) 的透明像素数)范围内的热图。 • RequestedVirtualTextureTiles:选择此选项可显示每个像素使用的纹理瓦片。此调试视图以相同颜色渲染的像素会请求通过串流虚拟纹理系统将相同的纹理瓦片串流到视频内存中。此调试视图适合用于查看屏幕的哪些区域使用了由虚拟纹理系统串流到视频内存中的纹理。它可以帮助识别虚拟纹理串流系统的问题。 |
- Max Pixel Cost | 透明度过度绘制热图的缩放。例如,如果 10 个透明像素重叠,则值为 10 将显示红色像素。超出此值的过度绘制数也将显示为红色。 仅当 Fullscreen Debug Mode 设置为 TransparencyOverdraw 时,才显示此属性。 |
MipMaps | 使用下拉选单选择要调试的 Mipmap 串流属性。 • None:选择此选项可禁用该调试功能。 • MipRatio:选择此选项可显示像素与纹素比的热图。蓝色表示纹理细节太少的区域(纹理太小)。红色表示纹理细节太多的区域(纹理对于屏幕面积而言太大)。如果调试器显示像素的原始颜色,则表示细节级别恰到好处。 • MipCount:选择此选项可随着 Mip 数量的增加(最多 14 个 Mip 或 16K 大小)将 Mip 数量显示为从黑色到白色的灰度。红色表示有超过 14 个 Mip 的纹理。洋红色表示有 0 个 Mip 的纹理,或者着色器不支持 Mip 计数。 • MipCountReduction:选择此选项可使用绿色刻度显示当前 Mip 数量和原始 Mip 数量之间的差值。较亮的绿色表示减少的幅度较大(表示 Mip 串流可节省更多的纹理内存)。洋红色表示调试器不知道原始 Mip 计数。 • StreamingMipBudget:选择此选项可显示由于串流预算而产生的 Mip 状态。绿色表示串流纹理可以节省一些内存。红色表示由于完整纹理内存预算,Mip 级别低于最佳级别。白色表示串流纹理不会节省任何内存。 • StreamingMip:选择此选项可显示与 StreamingMipBudget 相同的信息,但是将颜色应用于原始纹理。 |
- Terrain Texture | 使用下拉选单选择需要调试 Mipmap 的地形纹理。仅当从 MipMaps 下拉选单中选择除 None 之外的选项时,才显示此属性。 |
拾色器 | 描述 |
---|---|
Debug Mode | 使用下拉选单选择拾色器显示的格式。 |
Font Color | 使用拾色器为拾色器用于显示的字体选择一种颜色。 |
拾色器适用于 HDRP 当前显示的任何调试模式。这意味着您可以看到各个渲染组件的值,例如反照率 (Albedo) 或漫射光照 (Diffuse Lighting)。默认情况下,这会显示主要的高动态范围 (HDR) 颜色缓冲区的值。
调试选项 | 描述 |
---|---|
False Color Mode | 启用此复选框可以定义调试器用来显示当前帧的色温梯度的强度范围。色温梯度从蓝色到绿色,到黄色,再到红色。 |
- Range Threshold 0 | 设置强度范围的第一个拆分。 仅当启用 False Color Mode 复选框时,才显示此属性。 |
- Range Threshold 1 | 设置强度范围的第二个拆分。 仅当启用 False Color Mode 复选框时,才显示此属性。 |
- Range Threshold 2 | 设置强度范围的第三个拆分。 仅当启用 False Color Mode 复选框时,才显示此属性。 |
- Range Threshold 3 | 设置强度范围的最后一个拆分。 仅当启用 False Color Mode 复选框时,才显示此属性。 |
MSAA Samples | 使用下拉选单选择调试器用于 MSAA 的样本数量。 |
Freeze Camera for Culling | 使用下拉选单选择要冻结的摄像机以检查其剔除。要检查摄像机的剔除功能是否正常,请冻结摄像机并在其周围移动遮挡物。 |
Enable Render Graph | 启用此复选框可以使用渲染图进行渲染。 |
Camera 面板
在 Render Pipeline Debug 窗口中,场景中每个激活的摄像机都有自己的调试窗口。使用摄像机的调试窗口可以临时更改这个摄像机的帧设置,而无需更改场景中的摄像机数据。Camera 窗口可帮助你了解为什么特定功能无法正常工作。你可以访问 HDRP 用于渲染选定摄像机的所有信息。
注意:摄像机调试窗口仅适用于摄像机,不适用于反射探针。
以下的列可用于每个帧设置:
列 | 描述 |
---|---|
Debug | 显示所选摄像机的可修改的帧设置值。可以使用这些设置来临时更改摄像机的帧设置以进行调试。无法启用 HDRP 资源不支持的帧设置功能。 |
Sanitized | 显示经过 Unity 检查(查看是否受 HDRP 资源的支持)之后所选摄像机使用的帧设置值。 |
Overridden | 显示由所选摄像机覆盖的帧设置值。如果未选中 Custom Frame Settings 复选框,或者选中了该复选框但未覆盖任何设置,则此列与 Default 列相同。 |
Default | 显示当前 HDRP 资源中的默认帧设置值。 |
Unity 以特定顺序处理 Sanitized、Overridden 和 Default。首先检查的是 Default 帧设置,然后检查所选摄像机的 Overridden 帧设置。最后,检查 HDRP 资源是否支持所选摄像机的帧设置,并将结果显示在 Sanitized 列中。
解读 Camera 窗口
- 上图中,在 Sanitized 步骤中禁用了 Light Layers 复选框。这意味着,虽然在此摄像机使用的帧设置中启用了 Light Layers,但没有在 HDRP 资源的 Render Pipeline Supported Features 中启用。
- 另外,上图中,在 Overridden 步骤中禁用了 Decals 复选框。这意味着在默认的摄像机帧设置中启用了 Decals,然后为该特定摄像机的 Custom Frame Settings 禁用了 Decals。