版本:Unity 6 (6000.0)
语言:English
将 Unity 集成到 Windows 应用程序中
为 Windows 开发

Windows 播放器设置

本页详细介绍了特定于 Windows 的播放器设置。有关一般播放器设置的说明,请参阅播放器设置允许您为 Unity 生成的最终游戏设置各种特定于播放器的选项。 更多信息
查看 术语表
.

Windows Player settings
Windows 播放器设置

您可以在以下部分找到这些属性的文档

图标

启用覆盖 Windows、Mac、Linux设置以分配桌面游戏的自定义图标。您可以上传不同尺寸的图标以适合提供的每个方块。

Icon settings for the desktop platforms
桌面平台的图标设置

分辨率和演示

使用分辨率和演示部分在分辨率独立播放器选项部分中自定义屏幕外观的各个方面。

分辨率

本部分允许您自定义屏幕模式和默认大小。

Resolution section for the Desktop Player platforms
桌面播放器平台的分辨率部分
属性 描述
在后台运行 启用此选项以允许应用程序在失去焦点时在后台运行。禁用后,应用程序在失去焦点时暂停。
全屏模式 选择全屏模式。这定义了启动时的默认窗口模式。
全屏窗口 将您的应用程序窗口设置为全屏原生显示分辨率,覆盖整个屏幕。此模式也称为无边框全屏。Unity 以脚本设置的分辨率或(如果未设置任何分辨率)原生显示分辨率渲染应用程序内容,并将其缩放以填充窗口。缩放时,Unity 会在渲染的输出中添加黑边以匹配显示器的纵横比图像的比例尺寸之间的关系,例如宽度和高度。
查看 术语表
,以防止内容拉伸。此过程称为字母盒。OS 覆盖UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
查看 术语表
显示在全屏窗口之上(例如 IME 输入窗口)。所有平台都支持此模式。
独占全屏(仅限 Windows) 将您的应用程序设置为保持对显示器的唯一全屏使用权。与全屏窗口不同,此模式会将显示器的 OS 分辨率更改为与应用程序选择的分辨率匹配。此选项仅在 Windows 上受支持。
最大化窗口(仅限 Windows 和 Mac) 将应用程序窗口设置为操作系统的最大化定义。在 Windows 上,它是一个带有标题栏的全屏窗口。在 macOS 上,它是一个带有隐藏菜单栏和停靠栏的全屏窗口。对于其他平台,全屏窗口是默认设置。
窗口化 将您的应用程序设置为标准的非全屏可移动窗口,其大小取决于应用程序分辨率。在此模式下,窗口默认情况下是可调整大小的。使用可调整大小的窗口设置来禁用此功能。所有桌面平台都支持此全屏模式。
默认值为原生分辨率 启用此选项以使游戏使用目标机器上的默认分辨率。
注意:如果您将全屏模式设置为窗口化,则此属性不可见。
默认屏幕宽度 以像素为单位设置游戏屏幕的默认宽度。

注意:此属性仅在将全屏模式设置为窗口化时可见。
默认屏幕高度 以像素为单位设置游戏屏幕的默认高度。

注意:此属性仅在将全屏模式设置为窗口化时可见。
Mac Retina 支持 启用此选项以启用对 Mac 上的高 DPI(Retina)屏幕的支持。Unity 默认情况下启用此功能。这会增强 Retina 显示器上的项目,但在处于活动状态时会消耗大量资源。

独立播放器选项

使用独立播放器选项指定用户如何自定义屏幕。例如,您可以确定用户是否可以调整屏幕大小以及可以同时运行多少个实例。

Standalone Player Options settings for the Standalone Player platforms
独立播放器平台的独立播放器选项设置
属性 描述
使用播放器日志 启用此选项以使用调试信息写入日志文件。此选项默认情况下已启用。
可调整大小的窗口 启用此选项以允许调整桌面播放器窗口的大小。
注意:如果您禁用此选项,您的应用程序将无法使用窗口化全屏模式
在后台可见 启用此选项以在使用窗口化全屏模式时在后台显示应用程序。
注意:这将阻止最小化应用程序窗口的键盘快捷键(例如Alt+TabWindows+M)正常工作。有关更多信息,请参阅PlayerSettings.visibleInBackground.
允许全屏切换 启用此选项以允许默认 OS 全屏按键在全屏和窗口化模式之间切换。
强制单实例 启用此选项以将桌面播放器限制为单个并发运行实例。
对 D3D11 使用 DXGI 翻转模型交换链 使用翻转模型可确保最佳性能。此设置会影响 D3D11 图形 API。禁用此选项以回退到 Windows 7 风格的 BitBlt 模型。有关更多信息,请参阅PlayerSettings.useFlipModelSwapchain.

启动画面

使用虚拟现实启动画面设置选择虚拟现实虚拟现实 (VR) 使用头戴式显示器和动作跟踪,将用户沉浸在逼真的图像和声音的虚拟 3D 世界中。 更多信息
查看 术语表
显示器的自定义启动画面。有关常见启动画面设置的信息,请参阅启动画面.

Splash Image Player settings for desktop platforms
桌面平台的启动画面播放器设置

其他设置

本部分允许您自定义一系列选项,这些选项按以下组进行组织

渲染

使用这些设置自定义 Unity 如何为桌面平台渲染您的游戏。

属性 描述
颜色空间 选择要用于渲染的颜色空间。有关更多信息,请参阅线性渲染概述.
伽马 伽马颜色空间通常用于计算旧硬件上的光照,这些硬件被限制为每通道 8 位用于帧缓冲格式。即使今天的显示器是数字的,它们也可能仍然接收伽马编码的信号作为输入。
线性 线性颜色空间渲染可以提供更精确的结果。当您选择在线性颜色空间中工作时,编辑器默认情况下使用sRGB采样。如果您的纹理在线性颜色空间中,您需要在线性颜色空间中工作并对每个纹理禁用 sRGB 采样。
MSAA 回退 选择多重采样抗锯齿回退策略以升级或降级采样计数,如果用户请求的采样计数不受设备支持。
升级 采样计数减少到最接近的支持的较低采样计数。
降级 采样计数增加到下一个更高的采样计数。如果该采样计数不受支持,则将其减少到最接近的支持的较低采样计数。
Windows 自动图形 API 启用此选项以在运行游戏的 Windows 机器上使用推荐的图形 API。禁用它以添加和删除支持的图形 API。
Mac 自动图形 API 启用此选项以在运行游戏的 Mac 上使用推荐的图形 API。禁用它以添加和删除支持的图形 API。Windows 不支持此属性。
Linux 自动图形 API 启用此选项以在运行游戏的 Linux 机器上使用推荐的图形 API。禁用它以添加和删除支持的图形 API。
色域 您可以添加或删除要用于渲染的色域。单击加号 (+) 图标以查看可用色域的列表。色域定义了特定设备(例如显示器或屏幕)可用的颜色范围。sRGB 色域是默认(也是必需的)色域。
静态批处理 启用此选项以使用静态批处理Unity 使用的一种技术,它将屏幕上的 GameObject 组合在一起,将静态(非移动)GameObject 合并成大型网格,并以更快的速度渲染它们。 更多信息
查看 术语表
.
动态批处理 在您的构建中使用动态批处理一个自动的 Unity 过程,它尝试将多个网格渲染为一个网格,以优化图形性能。该技术在 CPU 上转换所有 GameObject 顶点,并将许多类似顶点组合在一起。 更多信息
查看 术语表
(默认情况下已启用)。

注意:可脚本化渲染管线处于活动状态时,动态批处理无效,因此此设置仅在可脚本化渲染管线资产图形设置为空时可见。
精灵批处理阈值 控制批处理时使用的最大顶点阈值。
GPU 骨骼动画 通过着色器在 GPU 上计算网格骨骼动画和混合形状,以释放 CPU 资源并提高性能。
GPU 选择此选项以在 GPU 上执行网格骨骼动画和混合形状计算。
CPU 选择此选项以在 CPU 上执行网格骨骼动画和混合形状计算。
GPU(批处理) 选择此选项以使用批处理和重新排序在 GPU 上执行网格骨骼动画和混合形状计算。批处理会减少对 GPU 的调度调用次数,并可以提高性能。
图形作业 将图形任务(渲染循环)卸载到在其他 CPU 内核上运行的工作线程。此选项会减少在主线程上的Camera.Render中花费的时间,这可能成为瓶颈。
图形作业模式 指定要在应用程序中使用的图形作业模式。有关 Unity 中作业的信息,请参阅作业系统.

注意:此选项仅在启用图形作业图形 API设置为 DX12 或 Vulkan 时可用。
原生 主线程为工作线程编写 Unity 图形命令。工作线程将命令写入任务执行器,渲染线程会消耗这些命令。
传统 主线程为工作线程写入 Unity 图形命令。工作线程直接将命令写入渲染线程。渲染线程读取 Unity 图形命令并将其转换为原生图形命令。
拆分 主线程为工作线程写入 Unity 图形命令。渲染线程读取 Unity 图形命令并将其转换为原生图形命令。然后,渲染线程启动工作线程来写入原生图形命令。
光照贴图编码 定义光照贴图的编码方案和压缩格式。
您可以从 **低质量**、**正常质量** 或 **高质量** 中选择。
HDR 立方体贴图编码 定义 HDR 立方体贴图的编码方案和压缩格式。
您可以从 **低质量**、**正常质量** 或 **高质量** 中选择。有关更多信息,请参阅 光照贴图:技术信息
光照贴图流式传输 启用此选项以对光照贴图使用 Mipmap 流式传输。Unity 在生成光照贴图时将此设置应用于所有光照贴图。
注意:要使用此设置,您必须启用 纹理 Mipmap 流式传输质量 设置。
流式传输优先级 设置 Mipmap 流式传输系统 中所有光照贴图的优先级。Unity 在生成光照贴图时将此设置应用于所有光照贴图。
正数表示更高的优先级。有效值范围为 -128127
帧计时统计信息 启用此属性以使用 FrameTimingManager API 收集 CPU 和 GPU 帧计时数据。如果禁用此属性,动态分辨率一种相机设置,允许您动态缩放单个渲染目标以减少 GPU 的工作负载。 更多信息
请参阅 词汇表
相机设置无法使用此数据来动态调整分辨率以减少 GPU 的工作负载。
OpenGL:探查器 GPU 记录器 启用 GPU 记录器支持并禁用 GPU 探查器。OpenGL API 不允许记录器和探查器同时工作。禁用此属性以使用 GPU 探查器。
允许 HDR 显示输出 应用程序运行时启用 HDR 模式输出。这仅适用于支持此功能的显示器。如果显示器不支持 HDR 模式,则游戏将以标准模式运行。
使用 HDR 显示输出 检查主显示器是否支持 HDR,如果支持,则在应用程序启动时切换到 HDR 输出。

注意:此选项仅在 **允许 HDR 显示输出** 处于活动状态时可用。
交换链位深度 选择交换链缓冲区中每个颜色通道的位数。仅在启用 HDR 模式时可用。
位深度 10 Unity 使用 R10G10B10A2 缓冲区格式和 Rec2020 原色以及 ST2084 PQ 编码。
位深度 16 Unity 使用 R16G16B16A16 缓冲区格式和 Rec709 原色以及线性颜色(无编码)。
虚拟纹理(实验性) 如果您的场景包含许多高分辨率纹理,则可以减少 GPU 内存使用量和纹理加载时间。有关更多信息,请参阅 虚拟纹理
注意:Unity 编辑器需要重新启动才能使此属性生效。
360 立体声捕捉 指示 Unity 是否可以捕捉立体声 360 度图像和视频。启用后,Unity 会编译额外的着色器变体以支持 360 度捕捉(目前仅在 Windows/OSX 上)。enable_360_capture 关键字在 RenderToCubemap 调用期间添加,但在此函数之外不会触发。
加载/存储操作调试模式 突出显示可能导致移动平台上渲染问题的不确定像素。这会影响 Unity 编辑器游戏视图以及您的构建应用程序(如果您在构建设置中选择了 **开发版本**)。有关更多信息,请参阅 LoadStoreActionDebugModeSettings
仅限编辑器 指示加载/存储操作调试模式是否仅在 Unity 编辑器中运行。

注意:此属性仅在将加载/存储操作调试模式设置为 true 时可见。

Vulkan 设置

Vulkan Player settings for macOS.

属性 描述
sRGB 写入模式 启用此选项以允许 Graphics.SetSRGBWrite() 渲染器在运行时切换 sRGB 写入模式。也就是说,如果您想临时关闭线性到 sRGB 的写入颜色转换,则可以使用此属性来实现。启用此选项会对移动基于图块的 GPU 的性能产生负面影响;因此,不要在移动设备上启用此选项。
交换链缓冲区数量 将此选项设置为 2 以进行双缓冲,或设置为 3 以进行三缓冲以与 Vulkan 渲染器一起使用。此设置可能有助于某些平台上的延迟,但在大多数情况下,您不应该从默认值 3 中更改此设置。双缓冲可能会对性能产生负面影响。请勿在 Android 上使用此设置。
尽可能延迟获取交换链图像 如果启用,Vulkan 会将获取后备缓冲区延迟到将帧渲染到离屏图像之后。Vulkan 使用一个暂存图像来实现这一点。启用此设置会导致在呈现后备缓冲区时进行额外的混合。此设置与双缓冲结合使用可以提高性能。但是,它也可能导致性能问题,因为额外的混合会占用带宽。
回收命令缓冲区 指示在 Unity 执行 CommandBuffers 后是否回收或释放它们。

配置

Configuration settings for desktop platforms
桌面平台的配置设置
属性 描述
脚本后端 选择要使用的脚本后端。脚本后端决定 Unity 如何编译和执行项目中的 C# 代码。
Mono 将 C# 代码编译成 .NET 通用中间语言 (CIL),并使用通用语言运行时执行该 CIL。有关更多信息,请参阅 MonoUnity 中使用的脚本后端。 更多信息
请参阅 词汇表
IL2CPP 将 C# 代码编译成 CIL,将 CIL 转换为 C++,然后将该 C++ 编译成原生机器代码,该机器代码在运行时直接执行。有关更多信息,请参阅 IL2CPPUnity 开发的脚本后端,可以将其用作在为某些平台构建项目时替代 Mono 的方法。 更多信息
请参阅 词汇表
API 兼容性级别 选择您可以在项目中使用的 .NET API。此设置可能会影响与第三方库的兼容性。但是,它不会影响特定于编辑器的代码(编辑器目录中的代码或特定于编辑器的程序集定义中的代码)。

提示:如果您遇到第三方程序集的问题,可以尝试以下 API 兼容性级别 部分中的建议。
.Net Framework 与 .NET Framework 4 兼容(其中包含 .NET Standard 2.0 配置文件中的所有内容以及其他 API)。当使用访问 .NET Standard 2.0 中未包含的 API 的库时,选择此选项。会生成较大的构建,并且任何其他可用的 API 不一定在所有平台上都受支持。有关更多信息,请参阅 引用其他类库程序集
.Net Standard 2.1 会生成较小的构建,并且具有完整的跨平台支持。
编辑器程序集兼容性级别 选择在编辑器程序集中使用哪些 .NET API。
.NET Framework 与 .NET Framework 4 兼容(其中包含 .NET Standard 2.1 配置文件中的所有内容以及其他 API)。当使用访问 .NET Standard 2.1 中未包含的 API 的库时,选择此选项。会生成较大的构建,并且任何其他可用的 API 不一定在所有平台上都受支持。有关更多信息,请参阅 引用其他类库程序集
.NET Standard .NET Standard 2.1 兼容。会生成较小的构建,并且具有完整的跨平台支持。
IL2CPP 代码生成 定义 Unity 如何管理 IL2CPP 代码生成。此选项仅在您使用 IL2CPP 脚本后端时可用。
更快的运行时 生成针对运行时性能进行优化的代码。默认情况下激活此设置。
更快的(更小的)构建 生成针对构建大小和迭代进行优化的代码。此设置会生成更少的代码并生成更小的构建,但可能会降低泛型代码的运行时性能。当更快的构建时间很重要时,例如在迭代更改时,使用此选项。
C++ 编译器配置 选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。
调试 调试配置会关闭所有优化,这使得代码构建速度更快,但运行速度更慢。
发布 发布配置会启用优化,因此编译后的代码运行速度更快,二进制文件大小更小,但编译时间更长。
主配置会启用所有可能的优化,以最大程度地提高性能。例如,在使用 MSVC++ 编译器的平台上,此选项会启用链接时代码生成。使用此配置编译代码可能比使用发布配置花费的时间长得多。Unity 建议使用主配置构建游戏的发布版本(如果构建时间的增加是可以接受的)。
IL2CPP 堆栈跟踪信息 选择要包含在堆栈跟踪中的信息。有关信息类型的更多详细信息,请参阅 使用 IL2CPP 的托管堆栈跟踪
方法名称 在堆栈跟踪中包含每个托管方法。
方法名称、文件名和行号 在堆栈跟踪中包含每个托管方法,并附带文件和行号信息。

注意:使用此选项可能会增加构建时间和最终构建程序的大小。
使用增量 GC 使用增量垃圾收集器,它将垃圾收集分散在几个帧中,以减少与垃圾收集相关的帧持续时间峰值。有关更多信息,请参阅 自动内存管理
允许通过 HTTP 下载 指示是否允许通过 HTTP 下载内容。由于建议的协议是 HTTPS(更安全),默认选项为 **不允许**。
不允许 永远不允许通过 HTTP 下载。
在开发版本中允许 仅允许在开发版本中通过 HTTP 下载。
始终允许 允许在开发版本和发布版本中通过 HTTP 下载。
活动输入处理 选择如何处理来自用户的输入。
输入管理器(旧版) 使用传统的 输入 设置。
输入系统包(新版) 使用 输入 系统。此选项需要您安装 输入系统包
两者 使用两个系统。

API 兼容性级别

您可以为所有目标选择 mono API 兼容性级别。有时第三方 .NET 库会使用超出 .NET 兼容性级别的功能。为了理解在这种情况下发生了什么以及如何最好地解决问题,请尝试遵循以下建议

  1. 为 Windows 安装 ILSpy
  2. 将 API 兼容性级别(您遇到问题的地方)的 .NET 程序集拖放到 ILSpy 中。您可以在 Frameworks/Mono/lib/mono/YOURSUBSET/ 中找到这些程序集。
  3. 拖入您的第三方程序集。
  4. 右键单击您的第三方程序集,然后选择 **分析**。
  5. 在分析报告中,检查 **依赖项** 部分。该报告会以红色突出显示第三方程序集所依赖的但不在您选择的 .NET 兼容性级别中的任何内容。

着色器设置

属性 描述
着色器精度模型 选择着色器使用的默认精度。有关更多信息,请参阅 在着色器中使用 16 位精度
平台默认 在移动平台上使用较低精度,而在其他平台上使用全精度。
统一 如果平台支持,则使用较低精度。
严格的着色器变体匹配 启用此选项以在播放器构建中缺少着色器变体时使用错误着色器进行渲染,并在控制台中显示错误。错误指定用于着色器变体搜索的着色器、子着色器索引、传递和关键字。
保持已加载的着色器处于活动状态 使所有已加载的着色器保持活动状态并防止卸载。

着色器变体加载设置

使用这些设置控制着色器在 GPU 上运行的程序。 更多信息
请参见术语表
在运行时使用的内存量。

属性 描述
默认块大小 (MB) 设置 Unity 在所有平台上构建的应用程序中存储的压缩着色器变体数据块的最大大小。默认值为 16。有关更多信息,请参阅着色器加载
默认块计数 设置 Unity 在所有平台上内存中保留的解压缩块数量的默认限制。默认值为 0,这意味着没有限制。
覆盖 启用覆盖此构建目标的默认块大小默认块计数
块大小 (MB) 覆盖此构建目标上的默认块大小 (MB)的值。
块计数 覆盖此构建目标上的默认块计数的值。

脚本编译

Script compilation settings for desktop platforms
桌面平台的脚本编译设置
属性 描述
脚本定义符号 设置自定义编译标志。有关更多详细信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表以将其他参数传递给 Roslyn 编译器。每个其他参数使用一个新条目。
要创建新条目,请按“+”按钮。要删除条目,请按“ - ”按钮。
添加完所有所需参数后,单击应用按钮以在将来的编译中包含其他参数。还原按钮会将此列表重置为最近应用的状态。
抑制常见警告 禁用此设置以显示 C# 警告CS0169CS0649
允许“不安全”代码 启用对在预定义程序集(例如 Assembly-CSharp.dll)中编译“不安全”C# 代码的支持。
对于程序集定义文件 (.asmdef),请单击您的一个 .asmdef 文件,并在出现的检查器窗口中启用该选项。
使用确定性编译 禁用此设置以防止使用 -deterministic C# 标志进行编译。启用此设置后,编译的程序集在每次编译时都是字节对字节相同的。
有关更多信息,请参阅 Microsoft 的确定性编译器选项文档

优化

Optimization settings for desktop platforms
桌面平台的优化设置
属性 描述
预烘焙碰撞网格 在构建时将碰撞数据添加到网格
预加载的资产 为播放器设置一个资产数组,以便在启动时加载。
要添加新资产,请增加大小属性的值,然后在出现的新的元素框中设置对要加载的资产的引用。
剥离引擎代码 如果您希望 Unity Linker 工具删除项目不使用的 Unity 引擎功能的代码,请启用此选项。此设置仅适用于IL2CPP 脚本后端。大多数应用程序都不会使用所有可用的 DLL。此选项会剥离应用程序不使用的 DLL,以减小构建的播放器的大小。如果您的应用程序正在使用一个或多个在当前设置下通常会被剥离的类,则当您尝试构建应用程序时,Unity 会显示调试消息。
托管剥离级别 选择 Unity 剥离未使用的托管 (C#) 代码的力度。当 Unity 构建您的应用程序时,Unity Linker 过程可以从项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的执行文件更小,但有时会删除正在使用的代码。

有关这些选项和使用 IL2CPP 进行字节码剥离的更多信息,请参阅ManagedStrippingLevel
最小 使用它来剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。
删除无法访问的托管代码以减小构建大小并缩短 Mono/IL2CPP 构建时间。
中等 运行 UnityLinker 以减小代码大小,超过所能达到的水平。您可能需要支持自定义 link.xml 文件,并且某些反射代码路径的行为可能不同。
UnityLinker 将剥离尽可能多的代码。这将进一步减小代码大小,超过中等所能达到的水平,但某些方法的托管代码调试可能不再起作用。您可能需要支持自定义 link.xml 文件,并且某些反射代码路径的行为可能不同。
顶点压缩 设置每个通道的顶点压缩。这会影响项目中的所有网格。
通常,顶点压缩用于减小内存中网格数据的尺寸,减小文件尺寸并提高 GPU 性能。

有关如何配置顶点压缩以及此设置的限制的更多信息,请参阅压缩网格数据
优化网格数据 启用此选项以从构建中使用的网格中剥离未使用的顶点属性。此选项会减少网格中的数据量,这有助于减小构建大小、加载时间和运行时内存使用量。

警告:如果启用了此设置,请不要在运行时更改材质或着色器设置。

有关更多信息,请参阅PlayerSettings.stripUnusedMeshComponents
纹理mipmap 剥离 为所有平台启用 mipmap 剥离。它在构建时从纹理中剥离未使用的 mipmap 层级。
Unity 通过将 mipmap 层级与当前平台的质量设置进行比较来确定未使用的 mipmap 层级。如果 mipmap 层级被当前平台的所有质量设置排除在外,则 Unity 会在构建时从构建中剥离这些 mipmap 层级。如果 QualitySettings.globalTextureMipmapLimit 设置为已剥离的 mipmap 层级,则 Unity 会将该值设置为未剥离的最近 mipmap 层级。

堆栈跟踪

根据所需的日志类型(错误断言警告日志异常),通过启用与每个日志类型相对应的选项来选择首选的堆栈跟踪方法。有关更多信息,请参阅堆栈跟踪日志记录

属性 描述
从不记录日志。
仅脚本 仅在运行脚本允许您创建自己的组件、触发游戏事件、随着时间的推移修改组件属性以及以您喜欢的任何方式响应用户输入的代码片段。 更多信息
请参见术语表
时记录日志。
全部 始终记录日志。

传统

属性 描述
钳位混合形状(已弃用) 启用该选项以钳位蒙皮网格渲染器中混合形状权重的范围。

捕获日志

属性 描述
捕获启动日志 启用此选项以在应用程序启动期间在日志文件中生成调试信息。
将 Unity 集成到 Windows 应用程序中
为 Windows 开发