使用**图形**设置(主菜单:**编辑** > **项目设置**,然后选择**图形**类别)来应用图形的全局设置。
构建项目时,这些设置的值会变成静态。您无法在运行时更改这些设置。
本节提供了以下属性组的文档
使用**默认 渲染管线一系列操作,将场景的内容渲染到屏幕上。Unity 允许您从预构建的渲染管线中选择,或者编写自己的渲染管线。 了解更多
参见 词汇表**字段设置 Unity 用于渲染项目的默认渲染管线。例如,将**默认渲染管线**设置为通用渲染管线 (URP) 资源,即可使用 URP 渲染项目。
如果**默认渲染管线**设置为**无**,Unity 将使用内置渲染管线。
有关更多信息,请参阅以下内容
这些属性允许您配置构建中的着色器变体剥离。
默认情况下,Unity 会检查构建中的场景场景包含游戏的环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您都可以放置环境、障碍物和装饰物,从而对游戏进行设计和构建。 了解更多
参见 词汇表,并自动剥离那些场景中未使用的着色器变体根据特定着色器关键字组合及其状态,Unity 生成的着色器程序版本。一个着色器对象可以包含多个着色器变体。 了解更多
参见 词汇表。但是,如果您想在运行时使用构建中未包含的着色器或变体,则可能会出现问题。例如,如果您使用依赖这些着色器或变体的 AssetBundle 或 Addressables,或者如果您使用着色器关键字在运行时更改变体。
属性 | 功能 | |
---|---|---|
光照贴图模式 | 确定与光照贴图相关的着色器的着色器变体剥离行为。 | |
自动 | Unity 会检查构建中的场景,并自动剥离那些场景中未使用的变体。这是默认设置。 | |
自定义 | 选择此选项可手动包含或排除以下光照贴图模式的变体 * 烘焙的非方向性光 * 烘焙的方向性光 * 实时非方向性光 * 实时方向性光 * 烘焙的阴影遮罩 * 烘焙的减色 |
|
雾模式 | 确定与 Unity 内置雾效相关的着色器的着色器变体剥离行为。 | |
自动 | Unity 会检查构建中的场景,并自动剥离那些场景中未使用的变体。这是默认设置。 | |
自定义 | 选择此选项可手动包含或排除以下雾模式的变体 * 线性 * 指数 * 指数平方 |
|
实例化变体 | 确定与 GPU 实例化相关的着色器的着色器变体剥离行为。 | |
剥离未使用的 | Unity 只会为使用给定着色器的材料的**启用实例化**已启用时,才会为 GPU 实例化包含该着色器的变体。这是默认设置。 | |
剥离所有 | 剥离 GPU 实例化的所有变体,即使它们正在使用。 | |
保留所有 | 包含 GPU 实例化的所有变体,即使它们未被使用。 |
这些属性允许您配置 Unity 如何在应用程序中预热着色器变体集合。
有关预热的更多信息(包括有关图形 API 支持的重要信息),请参阅着色器加载:预热着色器变体。
属性 | 功能 |
---|---|
渲染器光探测器选择 | 选择渲染器从光探测器接收全局照明但不在任何光探测器组的影响范围(四面体)内时,Unity 使用的探测器类型。 选项
|
预加载的着色器 | 在应用程序启动时预热要预热的着色器变体集合。 |
显示第一个场景后预加载着色器 | 此属性确定 Unity 何时预热**预加载的着色器**中指定的着色器变体。 如果启用,Unity 会在第一个场景完全加载后加载和预热这些变体。否则,Unity 会在显示第一个场景之前加载和预热这些变体。 |
预加载的着色器 | 此属性确定如果启用了**显示第一个场景后预加载着色器**,Unity 将如何预热**预加载的着色器**中指定的着色器变体。 如果该值为 0,Unity 会在显示第一个场景后的下一帧预加载所有着色器变体。 否则,Unity 会在显示第一个场景后的多帧预加载新的着色器变体。在给定的帧中,Unity 会一直预热着色器变体,直到达到此属性中设置的时间限制。之后,它会在下一帧之前不会开始预热新的着色器变体。 |
Unity 编辑器可以跟踪应用程序运行时使用的着色器变体。您可以使用这些信息构建着色器变体集合。
控制 | 功能 |
---|---|
创建资源 | 使用当前跟踪的着色器变体创建一个新的着色器变体集合资源。 |
清除 | 清除跟踪的着色器变体。 |
属性 | 功能 | |
---|---|---|
相机相对剔除 | 确定 Unity 是否使用相机一个组件,在场景中创建特定视点的图像。输出结果要么绘制到屏幕上,要么作为纹理捕获。 了解更多 参见 词汇表位置作为剔除的参考点。 |
|
灯光 | 使用相机位置作为参考点来剔除灯光,而不是世界空间原点。启用**灯光**可减少灯光远离相机时的闪烁。有关更多信息,请参阅了解视锥。 | |
阴影 | 使用相机位置作为参考点来剔除阴影,而不是世界空间原点。启用**阴影**可减少阴影远离相机时的闪烁。有关更多信息,请参阅了解视锥。 |
**图形**设置窗口始终包含以下内置渲染管线设置。
但是,如果您的项目使用可脚本化的渲染管线 (SRP),例如通用渲染管线 (URP) 或高清渲染管线 (HDRP),窗口将包含项目中每个 SRP 的选项卡。有关更多信息,请参阅以下页面
这些属性控制各种渲染设置。
属性 | 功能 | |
---|---|---|
透明度排序模式 | 定义沿特定轴的距离对对象进行渲染的顺序。Unity 中的渲染器是根据多个标准进行排序的,例如它们的层级编号或它们与相机的距离。这通常仅在 2D 开发中很有用:例如,根据高度或沿 Y 轴对精灵2D 图形对象。如果您习惯于在 3D 中工作,精灵本质上只是标准纹理,但有一些特殊技术可以组合和管理精灵纹理,以便在开发过程中提高效率和便利性。 了解更多 参见 词汇表进行排序。 |
|
默认 | 根据相机模式对对象进行排序。 | |
透视 | 根据透视视图对对象进行排序。 | |
正交 | 根据正交视图对对象进行排序。 | |
自定义轴 | 根据使用**透明度排序轴**定义的排序模式对对象进行排序。 | |
透明度排序轴 | 定义自定义**透明度排序模式**。 |
在内置渲染管线中,您可以使用**层级设置**来更改不同类型的硬件的渲染和着色器编译设置。有关更多信息,请参阅图形层级。
属性 | 功能 | |
---|---|---|
标准着色器质量 | 将标准着色器的质量设置为高、中等或低。 | |
反射探测器盒投影 | 启用反射探测器一个渲染组件,可以捕获周围环境的球形视图,就像相机一样。然后,捕获的图像将存储为立方体贴图,可以由具有反射材质的对象使用。 了解更多 参见 词汇表上的反射 UV 映射的投影。 |
|
反射探测器混合 | 启用反射探测器上的混合。 | |
细节法线贴图 | 启用细节法线贴图采样(如果已分配)。 | |
启用半透明阴影 | 启用半透明阴影。 这将添加或删除 UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS 着色器编译器定义。 |
|
启用光探测器代理体积 | 启用渲染插值的光探测器光探测器存储有关光线如何穿过场景中的空间的信息。在给定空间内排列的光探测器集合可以改善该空间内移动物体和静态 LOD 场景的照明。 了解更多 参见 词汇表的 3D 网格。 |
|
级联阴影 | 启用使用级联阴影贴图。 这将添加或删除 UNITY_NO_SCREENSPACE_SHADOWS 着色器编译器定义。 |
|
优先使用 32 位阴影贴图 | 在您针对使用 DX11 或 DX12 的平台时,启用 32 位浮点阴影贴图。 大多数平台都有固定的阴影贴图格式,您无法调整。这些格式各不相同,可能是 16 位、24 位或 32 位,也可能是基于浮点型或整型型。32 位阴影贴图比 16 位阴影贴图提供更高的质量阴影,但在 GPU 上使用更多的内存和带宽。 注意:要使用 32 位阴影贴图,请确保深度缓冲区也设置为 32 位。 |
|
使用 HDR | 为本层启用 高动态范围渲染。 | |
HDR 模式 | 当当前图形层启用 HDR高动态范围 参见 术语表 时,选择用于 HDR 缓冲区的格式。默认情况下,此设置设置为 FP16。 |
|
FP16 | 颜色 渲染纹理一种特殊类型的纹理,在运行时创建和更新。要使用它们,首先创建一个新的渲染纹理,并指定其中一个相机渲染到该纹理中。然后,您可以在材质中像使用普通纹理一样使用渲染纹理。 更多信息 参见 术语表 格式,每个通道 16 位浮点数。 |
|
R11G11B10 | 颜色渲染 纹理格式用于由 3D 图形硬件(如图形卡或移动设备)在实时渲染过程中处理纹理的文件格式。 更多信息 参见 术语表。R 和 G 通道为 11 位浮点数,B 通道为 10 位浮点数。 |
|
渲染路径渲染管道用来渲染图形的技术。选择不同的渲染路径会影响光照和阴影的计算方式。一些渲染路径比其他路径更适合不同的平台和硬件。 更多信息 参见 术语表 |
选择 Unity 渲染图形的方式。不同的渲染路径会影响游戏的性能以及光照和阴影的计算方式。某些路径比其他路径更适合不同的平台和硬件。 使用正交投影时不支持 延迟 渲染。如果相机的投影模式设置为正交,则这些值将被覆盖,并且相机始终使用 前向 渲染。有关更多信息,请参见 渲染路径。 |
|
前向 | 传统的渲染路径。这支持所有典型的 Unity 图形功能(法线贴图、逐像素灯光、阴影等)。但是,在默认设置下,只有少数最亮的灯光以逐像素照明模式渲染。其他灯光是在物体顶点或逐物体计算的。 | |
延迟 | 延迟着色内置渲染管线中的一种渲染路径,它对可以影响游戏对象的灯光数量没有限制。所有灯光都以逐像素的方式进行评估,这意味着它们都与法线贴图等正确交互。此外,所有灯光都可以具有光饼和阴影。 更多信息 参见 术语表 具有最高的光照和阴影保真度,如果您有许多实时灯光,最适合使用它。它需要一定级别的硬件支持。 |
|
传统顶点光照 | 传统顶点光照 是光照保真度最低、不支持实时阴影的渲染路径。它是 前向 渲染路径的一个子集。 | |
实时全局照明 CPU 使用率 | 允许 Enlighten 实时全局照明在运行时用于光照计算的 CPU 预算。增加此值会使系统对光照变化做出更快的反应,但代价是会使用更多 CPU 时间。 注意:某些平台允许所有 CPU 被工作线程占用,而另一些则强制执行最大值。例如,某些游戏主机允许最多使用 4 个 CPU 内核。对于 Android 设备,如果它是 bigLittle 架构,则只使用 little CPU;否则,最大值为 CPU 总数减 1。 如果您使用 URP 或 HDRP 渲染管道,则可以在 质量设置 中配置此属性。 |
|
低 | 25% 的允许 CPU 线程被用作工作线程。 | |
中 | 50% 的允许 CPU 线程被用作工作线程。 | |
高 | 75% 的允许 CPU 线程被用作工作线程。 | |
无限制 | 100% 的允许 CPU 线程被用作工作线程。 |
使用这些设置指定要为内置渲染管道中的每个列出功能使用的着色器。
渲染路径 | 要使用的着色器 |
---|---|
延迟 | 与 延迟着色 一起使用。 |
延迟反射 | 与延迟着色中的 反射探测器 一起使用。 |
屏幕空间阴影 | 与 PC/主机平台上方向光的级联阴影贴图一起使用。 |
运动矢量 | 用于基于对象的运动矢量计算。 |
镜头光晕模拟光线在相机镜头内折射的效果的组件。使用镜头光晕来表示非常明亮的灯光或为场景添加氛围。 更多信息 参见 术语表 |
与 镜头光晕 一起使用。 |
灯光光晕 | 与 灯光光晕 一起使用。 |
对于这些功能中的每一个,您可以选择要使用的着色器类型。
当您选择 自定义着色器 时,一个 着色器在 GPU 上运行的程序。 更多信息
参见 术语表 引用属性将出现在功能属性下方,您可以在其中设置对要使用的着色器的引用。
这是一个着色器列表,对于这些着色器,Unity 会在每个构建中包含所有可能的 变体。如果您想在运行时使用在构建中不会包含的着色器或变体,这将非常有用;例如,如果您使用依赖于这些着色器或变体的 AssetBundles 或 Addressables,或者如果您使用 着色器关键字 在运行时更改变体。
警告:对于具有大量变体的着色器(例如 标准着色器),不建议使用此功能;它可能会导致严重的运行时和构建时间性能问题。您应该改为创建仅包含所需变体的 着色器变体集合,并在构建中包含它们。
注意:此设置会覆盖 着色器关键字声明设置。对于列表中的每个着色器,Unity 会包含所有关键字的所有集合,即使您使用“着色器功能”声明类型也是如此。
要将着色器添加到列表中,请增加 大小 属性中的值。要删除列表中的最后一个着色器,请减少 大小 属性。要删除列表中不是最后一个的着色器,您可以将其值设置为 无。
GraphicsSettings
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.