使用 Linux Unity 播放器设置(菜单:编辑 > 项目设置 > 播放器)来确定 Unity 如何构建和显示您的 Linux 应用程序。有关一般播放器设置的描述,请参阅 播放器设置设置,允许您为 Unity 构建的最终游戏设置各种特定于播放器的选项。 更多信息
参见 词汇表.
您可以在以下部分找到属性的文档
启用覆盖 Windows、Mac、Linux 设置以分配桌面游戏的自定义图标。您可以上传不同尺寸的图标以适合提供的每个正方形。
使用分辨率和演示 部分来自定义屏幕外观的各个方面,包括 分辨率 和 独立播放器选项.
使用此部分自定义屏幕模式和默认大小。
属性 | 描述 | |
---|---|---|
在后台运行 | 启用此选项以允许应用程序在失去焦点时在后台运行。禁用后,应用程序在失去焦点时会暂停。 | |
全屏模式 | 选择全屏模式。这定义了启动时的默认窗口模式。 | |
全屏窗口 | 将您的应用程序窗口设置为全屏原生显示分辨率,覆盖整个屏幕。此模式也称为无边框全屏。Unity 以脚本设置的分辨率或未设置时使用原生显示分辨率渲染应用程序内容,并将其缩放以填充窗口。缩放时,Unity 在渲染输出中添加黑边以匹配显示器的 纵横比图像比例尺寸之间的关系,例如其宽度和高度。 参见 词汇表 以防止内容拉伸。此过程称为 字母盒。操作系统覆盖 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息 参见 词汇表 显示在全屏窗口之上(例如 IME 输入窗口)。所有平台都支持此模式。 |
|
独占全屏(仅限 Windows) | 设置您的应用程序以保持对显示器的唯一全屏使用。与全屏窗口不同,此模式将显示器的操作系统分辨率更改为匹配应用程序选择的解析度。此选项仅在 Windows 上受支持。 | |
最大化窗口(仅限 Windows 和 Mac) | 将应用程序窗口设置为操作系统的最大化定义。在 Windows 上,它是一个带标题栏的全屏窗口。在 macOS 上,它是一个带隐藏菜单栏和停靠栏的全屏窗口。对于其他平台,全屏窗口是默认设置。 | |
窗口化 | 将您的应用程序设置为标准的、非全屏的可移动窗口,其大小取决于应用程序分辨率。在此模式下,窗口默认情况下是可调整大小的。使用 可调整大小的窗口 设置禁用此功能。所有桌面平台都支持此全屏模式。 | |
默认值为原生分辨率 | 启用此选项以使游戏使用目标机器上使用的默认分辨率。 注意:如果您将全屏模式设置为窗口化,则此属性不可见。 |
|
默认屏幕宽度 | 以像素为单位设置游戏屏幕的默认宽度。 注意:此属性仅在您将全屏模式设置为窗口化时可见。 |
|
默认屏幕高度 | 以像素为单位设置游戏屏幕的默认高度。 注意:此属性仅在您将全屏模式设置为窗口化时可见。 |
|
Mac Retina 支持 | 启用此选项以启用对 Mac 上的高 DPI(Retina)屏幕的支持。Unity 默认情况下启用此选项。这增强了 Retina 显示器上的项目,但它在激活时会消耗一些资源。 |
使用此部分指定设置以自定义屏幕。例如,您可以设置选项以允许用户调整屏幕大小并指定可以同时运行的实例数。
属性 | 功能 |
---|---|
使用播放器日志 | 启用此选项以写入包含调试信息的日志文件。默认情况下启用。 警告:如果您打算将您的应用程序提交到 Mac App Store,请将此选项保持为禁用状态。有关更多信息,请参阅 发布到 Mac App Store。 |
可调整大小的窗口 | 启用此选项以允许调整播放器窗口的大小。 注意:如果您禁用此选项,您的应用程序将无法使用窗口化 全屏模式。 |
在后台可见 | 如果使用窗口化 全屏模式 选项(在 Windows 中),请启用此选项以在后台显示应用程序。 |
允许全屏切换 | 启用此选项以允许默认操作系统全屏按键在全屏和窗口模式之间切换。 |
强制单实例 | 启用此选项以将桌面播放器限制为单个并发运行实例。 |
对 D3D11 使用 DXGI 翻转模型交换链 | 使用翻转模型以确保为呈现您的应用程序提供最佳性能。每次需要显示帧时,Unity 都会复制交换链表面并将其 blit“位块传输”的简称。blit 操作是从内存中的一个位置将数据块传输到另一个位置的过程。 参见 词汇表 到屏幕缓冲区。此设置会影响 D3D11 图形 API。禁用此选项以回退到 Windows 7 样式的 BitBlt 模型。在窗口化(无边框)全屏模式下运行时,Unity 会直接在屏幕上显示应用程序交换链,这会将输入延迟减少一帧,并消除桌面窗口管理器执行的桌面合成,就像独占全屏一样。这种优化被称为“独立翻转”。有关更多信息,请参阅 PlayerSettings.useFlipModelSwapchain。 |
使用虚拟现实启动画面设置选择 虚拟现实虚拟现实 (VR) 使用头戴式设备和运动跟踪技术将用户沉浸在逼真的图像和声音的人工 3D 世界中。 更多信息
参见 词汇表 显示的自定义启动画面。有关常见启动画面设置,请访问 启动画面 页面。
此部分允许您自定义各种选项,这些选项被组织到以下组中
使用这些设置自定义 Unity 如何为桌面(Windows、Mac、Linux)平台渲染您的游戏。
属性 | 描述 | |
---|---|---|
颜色空间 | 选择用于渲染的颜色空间。有关更多信息,请参阅 线性渲染概述。 | |
伽马 | 伽马颜色空间通常用于计算旧硬件上的光照,旧硬件受限于帧缓冲格式的每个通道 8 位。尽管现在的显示器是数字化的,但它们可能仍然接收伽马编码信号作为输入。 | |
线性 | 线性颜色空间渲染提供更精确的结果。当您选择在线性颜色空间中工作时,编辑器默认情况下使用 sRGB 采样。如果您的 纹理 处于线性颜色空间中,您需要在线性颜色空间中工作并为每个纹理停用 sRGB 采样。 | |
Windows 的自动图形 API | 启用此选项以使用应用程序运行所在的 Windows 机器上的最佳图形 API。禁用它以添加和删除支持的图形 API。 | |
Mac 的自动图形 API | 启用此选项以使用应用程序运行所在的 macOS 机器上的最佳图形 API。禁用它以添加和删除支持的图形 API。 | |
Linux 的自动图形 API | 启用此选项以使用应用程序运行所在的 Linux 机器上的最佳图形 API。禁用它以添加和删除支持的图形 API。 | |
颜色色域 | 此设置不适用于 Linux。 | |
静态批处理 | 启用此选项以使用 静态批处理Unity 用于在屏幕上绘制游戏对象的技巧,将静态(非移动)游戏对象组合成大型网格,并以更快的速度渲染它们。 更多信息 参见 词汇表. |
|
GPU 骨骼蒙皮 | 启用使用着色器在 GPU 上计算网格骨骼蒙皮和混合形状。 | |
图形作业 | 将图形任务(渲染循环)卸载到在其他 CPU 内核上运行的工作线程。此选项减少了在主线程上花费在 Camera.Render 中的时间,这可能是一个瓶颈。 |
|
光照贴图编码 | 定义光照贴图的编码方案和压缩格式。 您可以从低质量、正常质量或高质量中选择 |
|
HDR 立方体贴图编码 | 定义 HDR 立方体贴图的编码方案和压缩格式。 您可以从低质量、正常质量或高质量中选择。有关更多信息,请参阅 光照贴图:技术信息。 |
|
光照贴图流 | 启用此选项以使用 Mipmap 流 用于光照贴图。Unity 在生成光照贴图时将此设置应用于所有光照贴图。 注意:要使用此设置,您必须启用 纹理 Mipmap 流质量 设置。 |
|
流优先级 | 在 Mipmap 流系统 中设置所有光照贴图的优先级。Unity 在生成光照贴图时将此设置应用于所有光照贴图。 正数表示更高的优先级。有效值范围为 -128 到 127 。 |
|
帧计时统计信息 | 启用此选项以收集 CPU/GPU 帧计时统计信息。 | |
允许 HDR 显示器输出 | 在应用程序运行时激活 HDR 模式输出。这仅在支持此功能的显示器上有效。如果显示器不支持 HDR 模式,则游戏将以标准模式运行。 | |
允许 HDR 显示器输出 | 在应用程序运行时激活 HDR 模式输出。这仅在支持此功能的显示器上有效。如果显示器不支持 HDR 模式,则游戏将以标准模式运行。 | |
使用 HDR 显示器输出 | 检查主显示器是否支持 HDR,如果支持,则在应用程序启动时切换到 HDR 输出。
注意:此选项仅在允许 HDR 显示输出处于活动状态时可用。 |
|
虚拟纹理(实验性) | 如果您的场景包含许多高分辨率纹理,请启用此选项以减少 GPU 内存使用量和纹理加载时间。有关更多信息,请参阅 虚拟纹理。 注意:此设置需要重启 Unity 编辑器才能生效。 |
|
360 立体声捕获 | 指示 Unity 是否可以捕获立体声 360 图像和视频。启用后,Unity 会编译额外的着色器变体以支持 360 捕获(目前仅在 Windows/OSX 上)。enable_360_capture 关键字在 RenderToCubemap 调用期间添加,但不会在此函数之外触发。 |
|
加载/存储操作调试模式 | 突出显示可能在移动平台上导致渲染问题的未定义像素。这会影响 Unity 编辑器游戏视图,如果您在构建设置中选择开发构建,也会影响您的构建应用程序。有关更多信息,请参阅 LoadStoreActionDebugModeSettings。 |
属性 | 描述 | |
---|---|---|
sRGB 写入模式 | 启用此选项以允许 Graphics.SetSRGBWrite() 渲染器在运行时切换 sRGB 写入模式。使用它来停用线性到 sRGB 的写入颜色转换。 | |
交换链缓冲区数量 | 将此选项设置为 2 以进行双缓冲,或设置为 3 以进行三缓冲以与 Vulkan 渲染器一起使用。此设置可能有助于某些平台上的延迟,但通常您不应该从默认值 3 更改此设置。双缓冲可能会对性能产生负面影响。 | |
尽可能晚地获取交换链图像 | 启用此选项可在帧渲染到离屏暂存图像后获取后缓冲区。启用此设置会在呈现后缓冲区时添加额外的混合。此设置与双缓冲结合使用可以提高性能。但是,它也可能导致性能问题,因为额外的混合会使用额外的带宽。 | |
回收命令缓冲区 | 启用此选项可在 Unity 执行完 CommandBuffers 后回收它们。 |
本节中的属性仅与 macOS 相关。有关更多信息,请参阅 macOS 播放器设置。
属性 | 描述 | |
---|---|---|
脚本后端 | 选择要使用的脚本后端。脚本后端决定 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 | 生成更小的构建并具有完全的跨平台支持。 | |
IL2CPP 代码生成 | 此设置不适用于 Linux。 | |
C++ 编译器配置 | 此设置不适用于 Linux。 | |
使用增量 GC | 使用增量垃圾收集器,它将垃圾收集分散到多个帧上以减少与垃圾收集相关的帧持续时间峰值。有关更多信息,请参阅 自动内存管理。 | |
允许通过 HTTP 下载 | 指示是否允许通过 HTTP 下载内容。默认选项为不允许,因为推荐的协议是 HTTPS,它更安全。 | |
不允许 | 从不允许通过 HTTP 下载。 | |
在开发构建中允许 | 仅在开发构建中允许通过 HTTP 下载。 | |
始终允许 | 在开发和发布构建中允许通过 HTTP 下载。 | |
活动输入处理 | 选择如何处理用户的输入。 | |
输入管理器(旧) | 使用传统的 Input 设置。 | |
输入系统包(新) | 使用 Input 系统。此选项需要您安装 InputSystem 包。 | |
两者 | 使用两个系统。 |
您可以为所有目标选择您的 mono API 兼容性级别。有时,第三方 .NET 库会使用超出 .NET 兼容性级别的功能。要了解此类情况下发生了什么以及如何最好地解决问题,请尝试遵循以下建议
Frameworks/Mono/lib/mono/YOURSUBSET/
下找到这些程序集。本节仅与 macOS 相关。有关更多信息,请参阅 macOS 播放器设置。
属性 | 描述 | |
---|---|---|
着色器精度模型 | 选择着色器使用的默认精度。有关更多信息,请参阅 在着色器中使用 16 位精度。 | |
平台默认 | 在移动平台上使用较低精度,在其他平台上使用全精度。 | |
统一 | 如果平台支持,则使用较低精度。 | |
严格的着色器变体匹配 | 如果缺少着色器变体,则使用错误着色器并在控制台中显示错误。 | |
保持加载的着色器处于活动状态 | 保持所有加载的着色器处于活动状态并阻止卸载。 |
使用这些设置来控制 着色器在 GPU 上运行的程序。 更多信息
在 词汇表 中查看 在运行时使用多少内存。
属性 | 描述 |
---|---|
默认块大小 (MB) | 设置 Unity 在所有平台上构建的应用程序中存储的压缩着色器变体数据块的最大大小。默认值为 16 。有关更多信息,请参阅 着色器加载。 |
默认块数量 | 设置 Unity 在所有平台上内存中保留的解压缩块数量的默认限制。默认值为 0 ,这意味着没有限制。 |
覆盖 | 启用覆盖此构建目标的默认块大小和默认块数量。 |
块大小 (MB) | 覆盖此构建目标上默认块大小 (MB) 的值。 |
块数量 | 覆盖此构建目标上默认块数量的值。 |
属性 | 描述 |
---|---|
脚本定义符号 | 设置自定义编译标志。 有关更多详细信息,请参阅 平台相关编译。 |
其他编译器参数 | 将条目添加到此列表中以将其他参数传递给 Roslyn 编译器。每个其他参数使用一个新条目。 要创建新条目,请单击添加(+)。要删除条目,请单击删除(-)。 添加完所有所需参数后,请单击应用以将其他参数包含在以后的编译中。单击还原将此列表重置为最新应用状态。 |
抑制常见警告 | 指示是否显示 C# 警告 CS0169 和 CS0649。 |
允许“不安全”代码 | 启用对在预定义程序集(例如,Assembly-CSharp.dll )中编译 “不安全”C# 代码 的支持。对于程序集定义文件 ( .asmdef ),请单击您的一个 .asmdef 文件,并在出现的检查器窗口中启用该选项。 |
使用确定性编译 | 指示是否阻止使用 -deterministic C# 标记进行编译。启用此设置后,编译后的程序集每次编译时都是字节对字节相同的。 有关更多信息,请参阅 控制代码生成的 C# 编译器选项。 |
属性 | 描述 | |
---|---|---|
预烘焙碰撞网格 | 在构建时将碰撞数据添加到 网格。 | |
预加载的资产 | 设置播放器在启动时加载的资产数组。 要添加新的资产,请增加大小属性的值,然后在出现的新的元素框中设置对要加载的资产的引用。 |
|
托管剥离级别 | 选择 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 层级。 |
通过启用与每个日志类型相对应的选项,选择您喜欢的日志记录类型。
属性 | 描述 |
---|---|
无 | 永远不会记录日志。 |
仅脚本 | 仅在运行 脚本允许您创建自己的组件、触发游戏事件、随时间修改组件属性并以您喜欢的任何方式响应用户输入的代码片段。 更多信息 参见 术语表 时记录日志。 |
全部 | 始终记录日志。 |
有关更多信息,请参阅 堆栈跟踪日志记录。
属性 | 功能 |
---|---|
钳位混合形状(已弃用) | 启用选项以在 SkinnedMeshRenderers 中钳位混合形状权重的范围。 |