陈巧倩

Unity中文版-Create Gameplay Editor Features-Project Settings-Graphics(自翻译)

· 421 words · 2 minutes to read
Categories: Unity
Tags: Document

翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。

Graphics 🔗

Graphics设置(主菜单:Edit > Project Settings,然后选择Graphics类别)用于应用全局的图形设置。

本部分提供了以下属性组的文档:

  • 脚本化渲染管线设置
  • 摄像机设置
  • 分层设置
  • 内置着色器设置
  • 始终包含的着色器
  • 着色器剥离
  • 着色器加载
  • 裁剪设置

脚本化渲染管线设置 🔗

允许您设置 Unity 在渲染项目时使用的默认渲染管线。要基于脚本化渲染管线设置渲染一个管线,请在此处分配所需的渲染管线资源。

有关更多信息,请参阅如何获取、设置和配置活动的渲染管线。

摄像机设置 🔗

这些属性控制各种渲染设置。

属性 功能
Transparency Sort Mode 定义按照特定轴向对象的距离对其进行渲染的顺序。在 Unity 中,渲染器按照多个标准对其进行排序,例如它们的图层编号或它们与摄像机的距离。这通常只在 2D 开发中有用:例如根据高度或 Y 轴对 Sprites 进行排序。
Default 根据摄像机模式对对象进行排序。
Perspective 根据透视视图对对象进行排序。
Orthographic 根据正交视图对对象进行排序。
Custom Axis 使用定义的Transparency Sort Axis的排序模式对对象进行排序。
Transparency Sort Axis 定义自定义的Transparency Sort Mode

层级设置 🔗

在通用渲染管线中,你可以使用层级设置来更改不同类型硬件的渲染和着色器编译设置。详情请参阅 Graphics tiers。

属性 功能
Standard Shader Quality 将标准着色器的质量设置为高、中、低。
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 启用渲染插值的光探头体积。
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 缓冲区中使用的格式。默认情况下,设置为FP16(每个通道 16 位浮点数的颜色渲染纹理格式)。
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 核心数减 1。如果你使用了 URP 或 HDRP 渲染管线,可以在质量设置中配置此属性。
Low 使用允许的 CPU 线程数量的 25% 作为工作线程。
Medium 使用允许的 CPU 线程数量的 50% 作为工作线程。
High 使用允许的 CPU 线程数量的 75% 作为工作线程。
Unlimited 使用允许的 CPU 线程数量的 100% 作为工作线程。

内置着色器设置 🔗

使用这些设置来指定通用渲染管线中所列功能的着色器类型。

渲染路径 所使用的着色器
Deferred 用于 Deferred 渲染。
Deferred Reflection 用于延迟渲染中的反射探头。
Screen Space shadows 用于 PC / 主机平台上定向光的级联阴影贴图。
Motion vectors 用于基于对象的运动向量计算。
Lens Flare 用于光晕效果。
Light Halo 用于光晕效果中的光圈效果。

对于每个功能,你可以选择使用哪种类型的着色器:

  • No Support(无支持)禁用此计算。如果不使用延迟渲染,请使用此设置。这将节省内置游戏数据文件中的一些空间。
  • Built-in Shader(内置着色器)使用 Unity 的内置着色器进行计算。这是默认设置。
  • Custom Shader(自定义着色器)使用自定义的兼容着色器进行计算。这使你能够深度定制延迟渲染。

当选择Custom shader(自定义着色器)时,会在功能属性下方显示一个Shader引用属性,你可以在那里设置要使用的着色器的引用。

始终包含的着色器 🔗

这是一个列表,列出了 Unity 在每个构建中包含了所有可能变体的着色器。这在以下情况下非常有用:如果你想在运行时使用否则不会包含在构建中的着色器或变体,例如如果你使用依赖于这些着色器或变体的 AssetBundles 或 Addressables,或者如果你使用着色器关键字在运行时更改变体。

警告: 不建议对具有大量变体的着色器(如标准着色器)使用此功能,否则可能导致严重的运行时和构建时性能问题。你应该创建只包含所需变体的着色器变体集合,并将其包含在构建中。

注意: 此设置会覆盖着色器关键字声明设置。对于列表中的每个着色器,Unity 都会包含所有关键字的所有组合,即使你使用的是 “shader feature” 声明类型。

要将着色器添加到列表中,请增加Size属性的值。要删除列表中的最后一个着色器,请减少Size属性的值。要删除不是最后一个着色器的着色器,可以将该值设置为None

着色器剥离 🔗

这些属性允许你配置构建中的着色器变体剥离。

默认情况下,Unity 会检查构建中的场景并自动去除在这些场景中未使用的着色器变体。但是,如果你想在运行时使用否则不会包含在构建中的着色器或变体,例如如果你使用依赖于这些着色器或变体的 AssetBundles 或 Addressables,或者如果你使用着色器关键字在运行时更改变体,则可能会出现问题。

属性 功能
光照图模式 确定与光照图相关的着色器变体剥离行为。
自动(Automatic) Unity 检查构建中的场景并自动去除在这些场景中未使用的变体。这是默认设置。
自定义(Custom) 选择手动包含或排除以下光照图模式的变体:烘焙非定向烘焙定向实时非定向实时定向烘焙影子掩码烘焙减法
雾模式 确定与 Unity 内置雾效果相关的着色器变体剥离行为。
自动(Automatic) Unity 检查构建中的场景并自动去除在这些场景中未使用的变体。这是默认设置。
自定义(Custom) 选择手动包含或排除以下雾模式的变体:线性指数平方指数
实例化变体 确定与 GPU 实例化相关的着色器变体剥离行为。
去除未使用(Strip Unused) Unity 仅在至少有一个使用了该着色器且启用了启用实例化的材质时,才会包含用于 GPU 实例化的着色器变体。这是默认设置。
去除所有(Strip All) 去除所有用于 GPU 实例化的变体,即使它们正在使用中。
保留所有(Keep All) 包含所有用于 GPU 实例化的变体,即使它们正在使用中。

Shader 加载 🔗

这些属性允许您配置 Unity 在应用程序中 “预加载” 着色器变体集合的方式。

有关预加载的信息,包括有关图形 API 支持的重要信息,请参阅《Shader 加载:预加载着色器变体》。

属性 功能
Renderer Light Probe Selection(渲染器光探头选择) 在 Renderer 接收到来自光探头的全局照明但不在任何光探头群组的影响范围(四面体)内时,选择 Unity 使用的探头类型。默认情况下,选择 “查找最近的光探头(Find closest Light Probe)”,表示 Unity 会搜索最近的光探头,这会消耗大量系统资源。Renderer Light Probe Selection(渲染器光探头选择) 提供了另一种选择。选择 “使用环境探头(Use Ambient Probe)” 以使 Unity 在这些情况下退回到环境探头,这样可以节省系统资源。选项:查找最近的光探头(Find closest Light Probe) 使用环境探头(Use Ambient Probe)
Preloaded shaders(预加载的着色器) 应用程序启动时预加载的着色器变体集合。
Preload shaders after showing first scene(在显示第一个场景后预加载着色器) Unity 在 Preloaded shaders(预加载的着色器) 中指定的着色器变体的预加载时间。如果启用,Unity 会在第一个场景完全加载后加载和预加载它们。否则,Unity 会在显示第一个场景之前加载和预加载它们。
Preload variants within frame(在帧内预加载变体) 如果启用了Preload shaders after showing first scene(在显示第一个场景后预加载着色器),则 Unity 会在显示第一个场景后的下一帧预加载 Preloaded shaders(预加载的着色器) 中指定的着色器变体。如果值为 0,则 Unity 会在显示第一个场景后的下一帧预加载所有着色器变体。否则,Unity 会在显示第一个场景后的多个帧中预加载新的着色器变体。在给定的帧中,它会预加载着色器变体,直到达到此处设置的时间限制。之后,直到下一帧,它才会开始预加载新的着色器变体。

跟踪的着色器变体 🔗

Unity 编辑器可以在应用程序运行时跟踪应用程序使用的着色器变体。您可以利用此信息构建着色器变体集合。

控制 功能
创建资源 使用当前跟踪的着色器变体创建新的着色器变体集合资源。
清除 清除已跟踪的着色器变体。

裁剪设置 🔗

属性 功能
相对于相机的裁剪 确定 Unity 是否将相机位置作为裁剪的参考点。
灯光(Lights) 将相机位置作为裁剪灯光的参考点,而不是世界空间原点。启用 灯光**(Lights)**可减少如果灯光远离相机时的闪烁。更多信息,请参阅了解视锥体。
阴影(Shadows) 将相机位置作为裁剪阴影的参考点,而不是世界空间原点。启用阴影(Shadows)可减少如果阴影远离相机时的闪烁。更多信息,请参阅了解视锥体。

结论 🔗

搬砖愉快!