Version: 6000.3
语言: 中文
Linux的
Linux 生成设置参考

Linux 播放器设置

使用 Linux Unity Player 设置(菜单:Edit > Project Settings > Player)确定 Unity 如何构建和显示 Linux 应用程序。有关常规播放器设置的说明,请参阅玩家设置设置,用于为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
.

Linux 播放器设置
Linux 播放器设置

您可以在以下部分中找到有关属性的文档:

图标

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

桌面平台的图标设置
桌面平台的图标设置

决议和演示

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

解决部分

使用此部分可以自定义屏幕模式和默认大小。

桌面平台的分辨率部分
桌面平台的分辨率部分
财产 描述
在后台运行 启用此选项可允许应用程序在失去焦点时在后台运行。禁用后,应用程序会在失去焦点时暂停。
全屏模式 选择全屏模式。这定义了启动时的默认窗口模式。

  • 全屏窗口:将应用窗口设置为全屏原生显示分辨率,覆盖整个屏幕。此模式也称为无边框全屏。Unity 以脚本设置的分辨率渲染应用内容,如果未设置任何分辨率,则为本机显示分辨率,并缩放它以填充窗口。缩放时,Unity 会在渲染输出中添加黑条以匹配显示纵横比,以防止内容拉伸。此过程称为信箱。OS 覆盖 UI 显示在全屏窗口(例如 IME 输入窗口)的顶部。所有平台都支持此模式。
  • 独占全屏(仅限 Windows):将应用设置为保持显示器的唯一全屏使用。与全屏窗口不同,此模式会更改显示器的作系统分辨率,以匹配应用选择的分辨率。此选项仅在 Windows 上受支持。
  • 最大化窗口(仅限 Windows 和 Mac):将应用程序窗口设置为作系统的最大化定义。在 Windows 上,它是一个带有标题栏的全屏窗口。在 macOS 上,它是一个带有隐藏菜单栏和扩展坞的全屏窗口。全屏窗口是其他平台的默认设置。
  • 窗口:将应用设置为标准的非全屏可移动窗口,其大小取决于应用分辨率。在此模式下,窗口默认可调整大小。使用 可调整大小窗口(Resized Window) 设置禁用此功能。所有桌面平台都支持这种全屏模式。
默认值为“原始分辨率”(Native Resolution) 启用此选项可使游戏使用目标计算机上使用的默认分辨率。
注意:如果将“全屏模式”设置为“窗口”,则此属性不可见。
默认屏幕宽度 设置游戏屏幕的默认宽度(以像素为单位)。

注意:仅当您将“全屏模式”设置为“窗口”时,此属性才可见。
默认屏幕高度 设置游戏屏幕的默认高度(以像素为单位)。

注意:仅当您将“全屏模式”设置为“窗口”时,此属性才可见。
Mac Retina 支持 启用此选项可在 Mac 上启用对高 DPI (Retina) 屏幕的支持。Unity 默认启用此功能。这增强了 Retina 显示器上的项目,但在激活时会占用资源。

独立播放器选项

使用此部分可以指定自定义屏幕的设置。例如,您可以为用户设置调整屏幕大小的选项,并指定可以并发运行的实例数。

桌面平台的播放器选项
桌面平台的播放器选项
财产 功能
使用玩家日志 启用此选项可写入包含调试信息的日志文件。默认为启用。
警告: 如果您计划将应用程序提交到 Mac App Store,请停用此选项。有关更多信息,请参阅发布到 Mac App Store
可调整大小窗口 启用此选项以允许调整播放器窗口的大小。
注意:如果禁用此选项,您的应用程序将无法使用窗口全屏模式
在背景中可见 启用此选项可在使用窗口屏模式选项时在后台显示应用程序(在 Windows 中)。
允许全屏切换 启用此选项可允许默认作系统全屏按键在全屏和窗口模式之间切换。
强制单个实例 启用此选项可将桌面播放器限制为单个并发运行实例。
将 DXGI 翻转模型交换链用于 D3D11 使用翻转模型可确保呈现应用程序的最佳性能。每次需要显示帧时,Unity 都会复制交换链表面,并blits“位块传输”的简写术语。blit作是将数据块从内存中的一个位置传输到另一个位置的过程。
请参阅术语表
它到屏幕缓冲区。此设置会影响 D3D11 图形 API。禁用此选项可回退到 Windows 7 样式的 BitBlt 模型。在窗口(无边框)全屏模式下运行时,Unity 会直接在屏幕上显示应用程序交换链,从而将输入延迟减少一帧,并消除桌面窗口管理器以与独占全屏相同的方式完成的桌面合成。这种优化称为“独立翻转”。有关更多信息,请参阅 PlayerSettings.useFlipModelSwapchain

启动图像

使用虚拟现实初始图像设置选择自定义初始图像虚拟现实虚拟现实 (VR) 使用耳机和运动跟踪,让用户沉浸在逼真的图像和声音的人工 3D 世界中。更多信息
请参阅术语表
显示。有关常见的初始屏幕设置,请访问初始屏幕页面。

桌面平台的初始图像播放器设置
桌面平台的初始图像播放器设置

其他设置

此部分允许您自定义一系列选项,这些选项分为以下组:

渲染

使用这些设置可以自定义 Unity 如何为桌面(Windows、Mac、Linux)平台渲染游戏。

桌面平台的渲染播放器设置
桌面平台的渲染播放器设置
财产 描述
色彩空间 选择要用于渲染的色彩空间。有关更多信息,请参阅色彩空间

  • Gamma:Gamma 色彩空间通常用于计算旧硬件上的光照,对于帧缓冲区格式,每个通道限制为 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流送质量(Texture Mipmap Streaming Quality) 设置。
流式处理优先级 设置Mipmap流送系统中所有光照贴图的优先级。Unity 在生成所有光照贴图时将此设置应用于它们。
正数具有更高的优先级。有效值范围为
-128127.
帧时序统计 启用此属性以使用 FrameTimingManager API 收集 CPU 和 GPU 帧时序数据。如果禁用此属性,动态分辨率(Dynamic Resolution)摄像机设置,允许你动态缩放单个渲染目标,以减少GPU上的工作负载。更多信息
请参阅术语表
相机设置无法使用这些数据来动态调整分辨率以减少 GPU 工作负载。
允许HDR显示输出 在应用程序运行时启用 HDR 模式输出。这仅适用于支持此功能的显示器。如果显示器不支持 HDR 模式,则游戏将以标准模式运行。
使用 HDR 显示输出 检查主显示器是否支持 HDR,如果支持 HDR,则在应用程序启动时切换到 HDR 输出。

注意:仅当“允许 HDR 显示输出”处于活动状态时,此选项才可用。
虚拟纹理(实验性) 启用此选项可减少GPU内存使用量和纹理加载时间(如果您的场景有许多高分辨率纹理)。有关更多信息,请参阅虚拟纹理。

注意:Unity 编辑器需要重新启动才能使此设置生效。
360度立体捕捉 指示 Unity 是否可以捕获立体 360 度图像和视频。启用后,Unity 会编译其他着色器变体以支持 360 度捕获(目前仅在 Windows/OSX 上)。这enable_360_capture关键字在RenderToCubemap调用,但不会在此函数之外触发。
加载/存储作调试模式 突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器的 游戏(Game) 视图,如果你在 Build Profiles 窗口的 Platform Settings 部分选择 Development Build,则会影响你构建的应用程序。有关更多信息,请参阅 LoadStoreActionDebugModeSettings

Vulkan 设置

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

Mac App Store 选项

Mac App Store 选项
Mac App Store 选项

本节中的属性仅与 macOS 相关。有关更多信息,请参阅 macOS 播放器设置

配置

财产 描述
脚本后端 选择要使用的脚本后端。脚本后端决定了 Unity 如何在项目中编译和执行 C# 代码。

  • Mono:将 C# 代码编译为 .NET 公共中间语言 (CIL) ,并使用公共语言运行时执行该 CIL。有关更多信息,请参阅单声道Unity 中使用的脚本后端。更多信息
    请参阅术语表
    .
  • IL2CPP:将 C# 代码编译为 CIL,将 CIL 转换为 C++,然后将该 C++ 编译为本机机器代码,该机器代码直接在运行时执行。有关更多信息,请参阅IL2CPP Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 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 System Package)(输入系统包)(Input System Package(新)(Input System Package)(输入系统包)(Input
  • 两者:同时使用这两个系统。

API 兼容性级别

可以为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库使用超出 .NET 兼容性级别的功能。若要了解此类情况下发生的情况以及如何最好地修复它,请尝试遵循以下建议:

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

Mac 配置

本节仅与 macOS 相关。有关更多信息,请参阅 macOS 播放器设置

着色器设置

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

着色器变体加载设置(Shader Variant Loading Settings)

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

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

脚本编译

桌面平台的脚本编译设置
桌面平台的脚本编译设置
财产 描述
脚本定义符号 设置自定义编译标志。

有关更多详细信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表,以将其他参数传递给 Roslyn 编译器。为每个附加参数使用一个新条目。
要创建新条目,请单击添加+)。要删除条目,请单击删除-)。
添加所有所需参数
后,单击“应用”以在将来的编译中包含其他参数。单击“恢复”将此列表重置为最近应用的状态。
禁止显示常见警告 指示是否显示 C# 警告 CS0169CS0649
允许“不安全”代码 支持在预定义程序集中编译“不安全”的 C# 代码(例如,Assembly-CSharp.dll).
对于装配定义文件 (
.asmdef),单击您的.asmdef文件,并在显示的“检查器”窗口中启用该选项。
使用确定性编译 指示是否使用 -deterministic C# 标志阻止编译。启用此设置后,编译的程序集在每次编译时都是逐字节相同的。

有关详细信息,请参阅控制代码生成的 C# 编译器选项

优化

桌面平台的优化设置
桌面平台的优化设置
财产 描述
预烘焙碰撞网格体(Prebake Collision Meshes) 在构建时将碰撞数据添加到网格体。
预加载资产 设置玩家在启动时加载的资产数组。
要添加新资产,请增加 Size 属性的值,然后在显示的新 元素(Element) 框中设置要加载的资产的引用。
管理剥离级别 选择 Unity 剥离未使用的托管 (C#) 代码的积极程度。当 Unity 构建您的应用程序时,Unity Linker 进程可以从您的项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的可执行文件更小,但有时可以删除正在使用的代码。

有关这些选项和使用 IL2CPP 剥离字节码的详细信息,请参阅 ManagedStrippingLevel
  • 最小:使用此选项可剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。
  • :删除无法访问的托管代码以减少生成大小和 Mono/IL2CPP 生成时间。
  • 中:运行 UnityLinker 以将代码大小减小到超出 Low 所能达到的范围。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
  • :UnityLinker 将剥离尽可能多的代码。这将进一步减小代码大小,超出 Medium 所能实现的范围,但某些方法的托管代码调试可能不再有效。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
顶点压缩(Vertex Compression) 设置每个通道的顶点压缩。这会影响项目中的所有网格体。
通常,顶点压缩用于减小内存中网格体数据的大小、减小文件大小并提高 GPU 性能。

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

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

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

堆栈跟踪

通过启用与每个日志类型对应的选项来选择您的首选日志记录类型。

财产 描述
没有 从未记录任何日志。
仅脚本 仅在运行时记录脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
.
一直记录。

有关详细信息,请参阅堆栈跟踪日志记录

遗产

桌面平台的旧版设置
桌面平台的旧版设置
财产 功能
钳制混合形状(已弃用) 启用该选项以限制 SkinnedMeshRenderers 中的混合形状权重范围。

其他资源

Linux的
Linux 生成设置参考