Unity3D:图形

Unity3D:图形
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

图形

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

Graphics 设置
Graphics 设置

本节提供有关以下属性组的文档说明:

  • 可编程渲染管线设置
  • 相机设置
  • 层设置
  • 内置着色器设置
  • 始终包含的着色器
  • 着色器剥离
  • 着色器加载

可编程渲染管线设置

允许您设置 Unity 用于渲染项目的默认渲染管线。要基于可编程渲染管线设置渲染管线,请在此处分配所需的渲染管线资源。

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

相机设置

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

属性功能
Transparency Sort Mode定义按对象在特定轴上的距离渲染对象的顺序。Unity 中的渲染器按几个条件排序,例如图层编号或与摄像机的距离。这通常仅适用于 2D 开发;例如,按高度或沿 Y 轴来对精灵进行排序。
Default根据摄像机模式将对象进行排序。
Perspective根据透视图将对象进行排序。
Orthographic根据正交视图将对象进行排序。
Custom Axis根据使用 Transparency Sort Axis 定义的排序模式来排序对象。
Transparency Sort Axis自定义__透明度排序模式 (Transparency Sort Mode)__。

Tier Settings

Player 设置中显示的 Tier Settings
Player 设置中显示的 Tier Settings

在内置渲染管线中,可以使用层设置更改不同类型硬件的渲染和着色器编译设置。有关详细信息,请参阅图形层。

属性功能
Standard Shader Quality标准着色器 (Standard Shader) 的质量设置为 HighMedium  Low
Reflection Probes Box Projection反射探针上的反射 UV 贴图启用投影。
Reflection Probes Blending启用反射探针上的混合
Detail Normal Map启用细节法线贴图 (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目标设备是 PS4 或使用 DX11 或 DX12 的平台时,启用 32 位浮点阴影贴图。
大多数平台采用的是定点阴影贴图格式,无法进行调整。这些平台的格式多种多样,可以是 16 位、24 位或 32 位,也可以基于浮点数或整数。32 位阴影贴图提供的阴影质量要高于 16 位阴影贴图,但会在 GPU 上占用更多的内存和带宽。
注意:要使用 32 位阴影贴图,请确保深度缓冲区也设置为 32 位。
Use HDR为此层启用高动态范围渲染
HDR Mode选择为当前图形层启用 HDR 时用于 HDR 缓冲区的格式。默认情况下,此设置为 FP16
FP16颜色渲染纹理格式,每通道 16 位浮点值。
R11G11B10颜色渲染纹理格式。R 和 G 通道为 11 位浮点值,B 通道为 10 位浮点值。
Rendering Path选择 Unity 应如何渲染图形。不同的渲染路径会影响游戏的性能以及光照和阴影的计算方式。有些路径比其他路径更适合不同的平台和硬件。
使用正交投影时不支持_延迟 (Deferred)_ 渲染。如果摄像机的投影模式设置为正交模式,则会覆盖这些值,并且摄像机始终使用_前向 (Forward)_ 渲染。有关更多信息,请参阅渲染路径
Forward传统的渲染路径。此渲染路径支持所有典型的 Unity 图形功能(法线贴图、每像素光照、阴影等)。但是,在默认设置下,仅少量最亮的光线才在每像素光照模式下渲染。其余光线是在对象顶点上或每个对象上计算的。
DeferredDeferred shading has the most lighting and shadow fidelity, and is best suited if you have many real-time lights. It requires a certain level of hardware support.
Legacy Vertex Lit旧版顶点光照 (Legacy Vertex Lit) 是具有最低光照保真度且不支持实时阴影的渲染路径。它是_前向 (Forward)_ 渲染路径的一个子集。
Legacy Deferred (light prepass)旧版延迟 (Light Prepass) 类似于延迟着色,只是采用不同的技术并进行不同的折中。不支持 Unity 5 基于物理的标准着色器。
Realtime Global Illumination CPU UsageThe CPU budget you allow Enlighten Realtime Global Illumination to use for lighting calculations at runtime. Increasing this makes the system react faster to changes in lighting at a cost of using more CPU time.
Note: Some platforms allow all CPUs to be occupied by worker threads whereas some enforce maximums. For example, some gaming consoles allow a maximum of 4 CPU cores. For Android devices, if it is a bigLittle architecture, only the little CPUs are used; otherwise the maximum is one less than the total number of CPUs.
Low将可用 CPU 线程的 25% 用作工作线程。
Medium将可用 CPU 线程的 50% 用作工作线程。
High将可用 CPU 线程的 75% 用作工作线程。
Unlimited将可用 CPU 线程的 100% 用作工作线程。

Built-in shader settings

Use these settings to specify which shader to use for each of the listed features in the Built-in Render Pipeline.

渲染路径要使用的着色器
Deferred延迟着色结合使用。
Deferred Reflection反射探针及延迟光照结合使用。
Screen Space shadows与 PC/游戏主机平台上的方向光的级联阴影贴图结合使用。
Legacy deferred旧版延迟光照结合使用。
Motion vectors用于基于对象的运动矢量计算。
Lens Flare镜头光晕结合使用。
Light Halo光环结合使用。

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

  • No Support 禁用此计算。如果不使用延迟着色或光照,请使用此设置。这样可以节省构建的游戏数据文件中的一些空间。
  • Built-in Shader 使用 Unity 的内置着色器进行计算。此为默认值。
  • Custom Shader 使用自己的兼容着色器进行计算。这样可以对延迟渲染进行深度自定义。

选择 Custom shader 时,在特征属性下方会出现 Shader 参考属性,您可以在此处设置对需要使用的着色器的引用。

始终包含着色器

这是一个着色器列表,Unity 在每个构建中包含所有可能的变体。如果要在运行时使用着色器或变体,否则这些着色器或变体不会包含在构建中,这会很有用;例如,如果您使用依赖于这些着色器或变体的资产包或可寻址对象,或者如果您使用着色器关键字在运行时更改变体。

警告:对于具有大量变体的着色器(如标准着色器),不建议使用此功能;它可能会导致严重的运行时和构建时性能问题。相反,您应该创建仅包含所需变体的着色器变体集合,并将这些变体包含在构建中。

注意:此设置将覆盖着色器关键字声明设置。对于列表中的每个着色器,Unity 包含所有关键字的所有集,即使您使用“着色器功能”声明类型也是如此。

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

着色器剥离

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

默认情况下,Unity 会检查构建中的场景,并自动去除这些场景中未使用的着色器变体。但是,如果要在运行时使用着色器或变体,否则这些着色器或变体不会包含在构建中,这可能会导致问题;例如,如果您使用依赖于这些着色器或变体的资产包或可寻址对象,或者如果您使用着色器关键字在运行时更改变体。

属性功能
光照贴图模式确定与光照贴图相关的着色器的着色器变体剥离行为。
自动Unity 会检查构建中的场景,并自动去除这些场景中未使用的变体。这是默认设置。
习惯选择手动包含或排除以下光照贴图模式的变体:

* 烘焙非定向* 烘焙定向* 实时定向* 实时定向

* 烘焙阴影蒙版


* 烘焙
雾模式确定与 Unity 内置雾效果相关的着色器的着色器变体剥离行为。
自动Unity 会检查构建中的场景,并自动去除这些场景中未使用的变体。这是默认设置。
习惯选择手动包含或排除以下雾模式的变体:

* 线性
* 指数
* 指数平方
实例化变体确定与 GPU 实例化相关的着色器的着色器变体剥离行为。
带材未使用Unity 仅当至少一个使用该着色器的材质启用了启用实例化时,才包含用于给定着色器的 GPU 实例化的变体。这是默认设置。
全部剥离剥离 GPU 实例化的所有变体,即使它们正在使用。
全部保留包括 GPU 实例化的所有变体,即使它们正在使用。

着色器加载

这些属性允许您配置 Unity 如何在应用程序中“预热”着色器变体集合。

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

属性功能
Preloaded shaders要在应用程序启动时预热的着色器变体集合。
Preload shaders after showing first scene当 Unity 预热预加载着色器中指定的着色器变体时。

如果启用,Unity 会在第一个场景完全加载后加载并预热它们。否则,Unity 会在显示第一个场景之前加载并预热它们。
Preloaded shaders如果启用了“显示第一个场景后预加载着色器”,Unity 如何预热预热预加载着色器中指定的着色器变体。

如果值为 0,Unity 会在显示第一个场景后的下一帧预加载所有着色器变体。

否则,Unity 会在显示第一个场景后在多个帧上预加载新的着色器变体。在给定帧中,它会预热着色器变体,直到达到此处设置的时间限制。之后,直到下一帧才会开始预热新的着色器变体。

跟踪的着色器变体

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

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

此文由3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:Editor (mvrlink.com)

下一篇:Unity3D:包管理器 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号