使用__图形__设置(主菜单:编辑 (Edit) > 项目设置 (Project Settings),然后选择图形 (Graphics) 类别)可应用全局图形设置。
在构建项目时,这些设置的值变为静态。无法在运行时更改设置。
本节提供有关以下属性组的文档说明:
使用默认渲染管线 (Default Render Pipeline) 字段可设置 Unity 用于渲染项目的默认渲染管线。例如,将默认渲染管线设置为通用渲染管线 (URP) 资源可使用 URP 来渲染项目。
如果默认渲染管线设置为无 (None),Unity 将使用内置渲染管线。
有关更多信息,请参阅以下内容:
这些属性可用于在构建中配置着色器变体剥离。
默认情况下,Unity 会检查构建中的场景,并自动剥离这些场景中未使用的着色器变体。但是,如果要在运行时使用通常不会包含在构建中的着色器或变体,这可能会导致问题。例如,如果您使用依赖于这些着色器或变体的 AssetBundle 或 Addressables,或者在运行时使用着色器关键字更改变体。
| 属性 | 功能 | |
|---|---|---|
| Lightmap Modes | 确定光照贴图相关着色器的着色器变体剥离行为。 | |
| Automatic | Unity 会检查构建中的场景,并自动剥离这些场景中未使用的着色器变体。这是默认设置。 | |
| Custom | 选择此选项可手动包含或排除以下光照贴图模式的变体: * Baked Non-Directional * Baked Directional * Realtime Non-Directional * Realtime Directional * Baked Shadowmask * Baked Subtractive |
|
| Fog Modes | 确定与 Unity 内置雾效相关的着色器的着色器变体剥离行为。 | |
| Automatic | Unity 会检查构建中的场景,并自动剥离这些场景中未使用的着色器变体。这是默认设置。 | |
| Custom | 选择此选项可手动包含或排除以下雾效模式的变体: * Linear * Exponential * Exponential Squared |
|
| Instancing Variants | 确定与 GPU 实例化相关的着色器的着色器变体剥离行为。 | |
| Strip Unused | Unity 仅当至少有一种使用该着色器的材质将__启用实例化__启用时,才会包含特定着色器的 GPU 实例化变体。这是默认设置。 | |
| Strip All | 剥离所有 GPU 实例化变体,即使它们正在被使用。 | |
| Keep All | 包括所有 GPU 实例化变体,即使它们未被使用。 | |
这些属性可用于配置 Unity 如何在应用程序中预热着色器变体集合。
有关预热的信息,包括有关图形 API 支持的重要信息,请参阅着色器加载:预热着色器变体。
| 属性 | 功能 |
|---|---|
| Renderer Light Probe Selection | 选择当渲染器从光照探针接受全局光照但不在任何光照探针组的影响体积(四面体)内时 Unity 使用的探针类型。 选项:
|
| Preloaded shaders | 在应用程序启动时预热的着色器变体集合。 |
| Preload shaders after showing first scene | 此属性可确定 Unity 何时预热预加载着色器 (Preloaded shaders) 中指定的着色器变体。 如果启用此选项,Unity 会在第一个场景完全加载后加载变体并进行预热。否则,Unity 会在显示第一个场景之前加载并预热它们。 |
| Preloaded shaders | 此属性可确定在启用了 Preloaded shaders 时 Unity 如何预热 Preloaded shaders 中指定的着色器变体。 如果该值为 0,Unity 会在显示第一个场景后在下一帧预加载所有着色器变体。 否则,Unity 会在显示第一个场景后在多个帧上预加载新的着色器变体。在特定帧中,Unity 会预热着色器变体,直到达到此属性中设置的时间限制。此后,它直到下一帧才会开始预热新的着色器变体。 |
Unity 编辑器可以跟踪应用程序在运行时所使用的着色器变体。可以使用此信息来构建着色器变体集合。
| 控件 | 功能 |
|---|---|
| Create asset | 使用当前跟踪的着色器变体创建新的着色器变体集合资源。 |
| Clear | 清除跟踪的着色器变体。 |
| 属性 | 功能 | |
|---|---|---|
| Camera-Relative Culling | 确定 Unity 是否使用摄像机位置作为剔除的参考点。 | |
| Lights | 使用摄像机位置作为剔除光源的参考点,而不是世界空间原点。如果光源远离摄像机,请启用光源 (Lights) 以减少闪烁。请参阅了解视锥体以了解更多信息。 | |
| Shadows | 使用摄像机位置作为剔除阴影的参考点,而不是世界空间原点。如果阴影远离摄像机,请启用阴影 (Shadows) 以减少闪烁。请参阅了解视锥体以了解更多信息。 | |
图形 (Graphics) 设置窗口始终包含下方的内置渲染管线设置。
但是,如果项目使用可编程渲染管线 (SRP),例如通用渲染管线 (URP) 或高清渲染管线 (HDRP),则该窗口会包含项目中的每个 SRP 的标签。请参阅以下页面以了解更多信息:
这些属性控制各种渲染设置。
| 属性 | 功能 | |
|---|---|---|
| Transparency Sort Mode | 按对象沿特定轴的距离定义渲染对象的顺序。Unity 中的渲染器按多个标准排序,例如层号或与摄像机的距离。这通常仅适用于 2D 开发;例如,按高度或沿 Y 轴来对精灵进行排序。 | |
| Default | 根据摄像机模式将对象进行排序。 | |
| Perspective | 根据透视图将对象进行排序。 | |
| Orthographic | 根据正交视图将对象进行排序。 | |
| Custom Axis | 根据使用 Transparency Sort Axis 定义的排序模式来排序对象。 | |
| Transparency Sort Axis | 自定义 Transparency Sort Mode。 | |
在内置渲染管线中,可以使用层设置 (Tier settings) 更改不同类型硬件的渲染和着色器编译设置。有关更多信息,请参阅图形层。
| 属性 | 功能 | |
|---|---|---|
| Standard Shader Quality | 将标准着色器的质量设置为 High、Medium 或 Low。 | |
| Reflection Probes Box Projection | 为反射探针上的反射 UV 贴图启用投影。 | |
| Reflection Probes Blending | 启用反射探针上的混合。 | |
| Detail Normal Map | 启用细节法线贴图采样(如果已分配)。 | |
| Enable Semitransparent Shadows | 启用半透明阴影。 此选项可添加或删除 UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS 着色器编译器定义。 |
|
| Enable Light Probe Proxy Volume | 启用渲染插值光照探针的 3D 网格。 | |
| Cascaded Shadows | 启用级联阴影贴图。 此选项可添加或删除 UNITY_NO_SCREENSPACE_SHADOWS 着色器编译器定义。 |
|
| Prefer 32 bit shadow maps | 针对使用 DX11 或 DX12 的平台时,启用 32 位浮点阴影贴图。 大多数平台采用了无法调整的定点阴影贴图格式。这些格式各不相同,可以是 16 位、24 位或 32 位,也可以基于浮点或整数。32 位阴影贴图可提供比 16 位更高质量的阴影,但会在 GPU 上使用更多的内存和带宽。 注意:要使用 32 位阴影贴图,请确保深度缓冲区也设置为 32 位。 |
|
| Use HDR | 为此层启用高动态范围渲染。 | |
| HDR Mode | 选择为当前图形层启用 HDR 时用于__ HDR__高动态范围 See in Glossary 缓冲区的格式。默认情况下,此设置为 FP16。 |
|
| FP16 | 颜色渲染纹理格式,每通道 16 位浮点值。 | |
| R11G11B10 | 颜色渲染纹理格式。R 和 G 通道为 11 位浮点值,B 通道为 10 位浮点值。 | |
| Rendering Path | 选择 Unity 应如何渲染图形。不同的渲染路径会影响游戏的性能以及光照和阴影的计算方式。有些路径比其他路径更适合不同的平台和硬件。 使用正交投影时不支持 Deferred 渲染。如果摄像机的投影模式设置为正交模式,则会覆盖这些值,并且摄像机将始终使用 Forward 渲染。有关更多信息,请参阅渲染路径。 |
|
| Forward | 传统的渲染路径。此渲染路径支持所有典型的 Unity 图形功能(法线贴图、每像素光照、阴影等)。但是,在默认设置下,仅少量最亮的光线才在每像素光照模式下渲染。其余光线是在对象顶点上或每个对象上计算的。 | |
| Deferred | 延迟着色具有最大光照和阴影保真度,最适合具有许多实时光源的情况。此渲染路径需要一定程度的硬件支持。 | |
| Legacy Vertex Lit | 旧版顶点光照是具有最低光照保真度且不支持实时阴影的渲染路径。它是 Forward 渲染路径的一个子集。 | |
| Realtime Global Illumination CPU Usage | 允许在运行时用于光照计算的 Enlighten 实时全局光照的 CPU 预算。增加此值会加快系统对光照更改的反应速度,成本是使用更多 CPU 时间。 注意:某些平台允许工作线程占用所有 CPU,而某些平台则会强制执行最大值。例如,某些游戏主机最多允许 4 个 CPU 核心。对于 Android 设备,如果是 bigLittle 架构,则仅使用小 CPU;否则最大值为 CPU 总数减一。 如果使用 URP 或 HDRP 渲染管线,可以在质量设置中配置此属性。 |
|
| Low | 将可用 CPU 线程的 25% 用作工作线程。 | |
| Medium | 将可用 CPU 线程的 50% 用作工作线程。 | |
| High | 将可用 CPU 线程的 75% 用作工作线程。 | |
| Unlimited | 将可用 CPU 线程的 100% 用作工作线程。 | |
使用这些设置可指定要用于内置渲染管线中每个列出功能的着色器。
| 渲染路径 | 要使用的着色器 |
|---|---|
| Deferred | 与延迟渲染结合使用。 |
| Deferred Reflection | 与延迟着色中的反射探针结合使用。 |
| Screen Space shadows | 与 PC/游戏主机平台上的方向光的级联阴影贴图结合使用。 |
| Motion vectors | 用于基于对象的运动矢量计算。 |
| Lens Flare | 与镜头光晕结合使用。 |
| Light Halo | 与光环结合使用。 |
对于每个功能,可以选择要使用的着色器类型:
选择 Custom shader 时,在特征属性下方会出现 Shader 参考属性,您可以在此处设置对需要使用的着色器的引用。
这是 Unity 在每个构建中包含所有可能变体的着色器列表。如果要在运行时使用通常不会包含在构建中的着色器或变体,例如,如果使用依赖于这些着色器或变体的 AssetBundle 或 Addressables,或者如果在运行时使用着色器关键字更改变体,这会非常有用。
警告:对于具有大量变体的着色器(例如标准着色器),不建议使用此功能;此功能可能导致严重的运行时和构建时性能问题。应该创建仅包含所需变体的着色器变体集合,并将这些变体包含在构建中。
注意:此设置会覆盖着色器关键字声明设置。对于列表中的每个着色器,Unity 会包含所有关键字的所有集合,即使使用“Shader Feature”声明类型也是如此。
要将着色器添加到此列表,请增大 Size 属性中的值。要删除列表中的最后一个着色器,请减小大小 (Size) 属性的值。要删除不是列表中最后一个着色器的着色器,可将值设置为 None。
GraphicsSettings