渲染管线调试 (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 上为 Command+Backspace)或按控制器上的 L3 和 R3(左摇杆和右摇杆)可以打开此窗口。
您可以独立于 Render Pipeline Debug 窗口显示只读项,例如 FPS 计数器。这意味着,禁用 Render Pipeline Debug 窗口时,这些只读项仍在屏幕的右上角可见。如果想要跟踪特定值而不希望屏幕混乱,这尤其有用。
在运行时导航
更改当前的激活项:
- 键盘:使用箭头键。
- Xbox 控制器:使用方向键盘 (D-Pad)。
- PlayStation 控制器:使用方向按钮。
更改当前的选项卡:
- 键盘:使用 Page up 和 Page down 键。
- Xbox 控制器:使用左缓冲键和右缓冲键。
- PlayStation 控制器:使用 L1 按钮和 R1 按钮。
独立于调试窗口显示当前激活项:
- 键盘:按右 Shift 键。
- Xbox 控制器:按 X 按钮。
- PlayStation 控制器:按方形按钮。
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) 计算而追踪的光线数 |
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 面板中的工具可用于可视化场景中的光照系统的各个组件,例如阴影和直接/间接光照。
调试选项 | 描述 |
---|---|
Show Directional Lights | 启用此复选框可以查看场景中的方向光。禁用此复选框可以从场景的光照中移除方向光。 |
Show Punctual Lights | 启用此复选框可以查看场景中的精准光源。禁用此复选框可以从场景的光照中移除精准光源。 |
Show Area Lights | 启用此复选框可以查看场景中的面光源。禁用此复选框可以从场景的光照中移除精准光源。 |
Show Reflection Probes | 启用此复选框可以查看场景中的反射探针。禁用此复选框可以从场景的光照中移除反射探针。 |
Shadow Debug Mode | 使用下拉选单选择要在屏幕上覆盖的阴影调试信息。 • None:选择此模式可以从屏幕上移除阴影调试信息。 • VisualizePunctualLightAtlas:选择此模式可以为场景中的精准光源覆盖阴影图集。 • VisualizeDirectionalLightAtlas:选择此模式可以为场景中的方向光覆盖阴影图集。 • VisualizeAreaLightAtlas:选择此模式可以为场景中的面光源覆盖阴影图集。 • VisualizeShadowMap:选择此模式可以为场景中的光源覆盖单个阴影贴图。 • SingleShadow:选择此模式可以用单个光源替换场景的光照。要选择要隔离的光源,请查看 Use Selection 或 Shadow Map Index。 |
- Use Selection | 启用此复选框可以显示在场景中选择的光源的阴影贴图。仅当从 Shadow Debug Mode 下拉选单中选择 VisualizeShadowMap 或 SingleShadow 时,才显示此属性。 |
- Shadow Map Index | 使用滑动条选择要查看的阴影贴图的索引。要正确使用此属性,您的场景中必须至少有一个使用阴影贴图的光源。 |
Global Shadow Scale Factor | 使用滑动条设置 HDRP 应用于阴影渲染分辨率的全局缩放。 |
Clear Shadow Atlas | 启用此复选框可以在每帧清除阴影图集。 |
Shadow Range Minimum Value | 设置要在各种阴影调试覆盖层中显示的最小阴影值。 |
Shadow Range Maximum Value | 设置要在各种阴影调试覆盖层中显示的最大阴影值。 |
Lighting Debug Mode | 使用下拉选单选择要调试的光照模式。例如,您可以可视化漫射光照、镜面反射光照、直接漫射光照、直接镜面反射光照、间接漫射光照、间接镜面反射光照、发射光照和方向光阴影级联。 |
Light Hierarchy Debug Mode | 使用下拉选单选择一种光源类型以显示其直接光照,或选择反射探针类型以显示其间接光照。 |
Fullscreen Debug Mode | 使用下拉选单选择要调试的全屏光照效果。例如,您可以可视化接触阴影、深度金字塔和间接漫射光照。 |
Override Smoothness | 启用此复选框可以覆盖整个场景的平滑度。 |
- Smoothness | 使用滑动条设置 HDRP 用于整个场景的平滑度覆盖值。 |
Override Albedo | 启用此复选框可以覆盖整个场景的反照率。 |
- Albedo | 使用拾色器设置 HDRP 用于整个场景的反照率颜色。 |
Override Normal | 启用此复选框可以覆盖整个场景的法线。 |
Override Specular Color | 启用此复选框可以覆盖整个场景的镜面反射颜色。 |
- Specular Color | 使用拾色器设置 HDRP 用于整个场景的镜面反射颜色。 |
Override Emissive Color | 启用此复选框可以覆盖整个场景的发光颜色。 |
- Emissive Color | 使用拾色器设置 HDRP 用于整个场景的发光颜色。 |
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 时,才显示此属性。 |
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 复选框时,才显示此属性。 |
Debug Exposure | 选择 Lighting Debug Mode 时,设置 HDRP 应用的曝光。这很有用,因为在调试模式下,HDRP 不会应用普通的场景曝光。 |
Debug Overlay Screen Ratio | 以屏幕大小的比例设置调试覆盖纹理的大小。默认值为 0.33,即屏幕大小的 33%。 |
Rendering 面板
Rendering 面板中的工具可用于可视化各种 HDRP 渲染特征。
调试选项 | 描述 |
---|---|
Fullscreen Debug Mode | 使用下拉选单选择一个渲染模式以在屏幕上显示为覆盖层。 • Motion Vectors:选择此选项可显示运动矢量。 • NaN Tracker:选择此选项可显示一个用于突出显示 NaN 值的覆盖层。 |
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 之外的选项时,才显示此属性。 |
Color Picker - Debug Mode | 使用下拉选单选择拾色器显示的格式。 |
Color Picker - Font Color | 使用拾色器为拾色器用于显示的字体选择一种颜色。 |
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 | 使用下拉选单选择要冻结的摄像机以检查其剔除。要检查摄像机的剔除功能是否正常,请冻结摄像机并在其周围移动遮挡物。 |
XR Debug Mode | 使用下拉选单选择要在 Game 窗口中查看的 XR 调试信息。None:选择此选项可禁用 XR Debug Mode。Composite:选择此选项可在 Game 窗口中合成四个瓦片。HDRP 通过多通道和单通道实例化功能来渲染这些瓦片,因此您可以调试渲染路径。 |
- Display Borders | 启用此复选框可以在瓦片之间的边界处渲染一条红线。仅当从 XR Debug Mode 下拉选单中选择 Composite 时,才显示此属性。 |
- Animate Tiles | 启用此复选框可以更改瓦片的拆分比率,以使瓦片的大小在每帧进行更改。仅当从 XR Debug Mode 下拉选单中选择 Composite 时,才显示此属性。 |
拾色器适用于 HDRP 当前显示的任何调试模式。这意味着您可以看到各个渲染组件的值,例如反照率 (Albedo) 或漫射光照 (Diffuse Lighting)。默认情况下,这会显示主要的高动态范围 (HDR) 颜色缓冲区的值。
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。