嵌入式 Linux 播放器设置

播放器设置窗口包含确定 Unity 如何构建和显示最终应用程序的设置。您可以使用 PlayerSettings API 来控制此窗口中提供的大多数设置。

常规设置

播放器设置在您已安装的平台模块之间有所不同。每个平台都有自己的播放器设置,您必须为要构建的每个应用程序版本设置这些设置。要在这两者之间导航,请单击具有相应平台操作系统的图标的选项卡。

The main Player settings window

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

图标

启用 **覆盖** **嵌入式 Linux** 设置以分配游戏的自定义图标。

分辨率和显示

使用分辨率和显示部分在分辨率部分自定义屏幕外观的各个方面。

分辨率部分

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

功能描述
全屏模式

选择全屏模式。这定义了启动时的默认窗口模式。这将在启动时设置默认窗口模式。

  • 全屏窗口 - 应用程序窗口填充设备的完整屏幕原生分辨率。要填充全屏窗口,Unity 会缩放应用程序内容。为了匹配输出设备的长宽比,Unity 可能会在渲染的输出中添加黑条,这样内容就不会拉伸。这个过程被称为 信箱式画面。在此模式下,导航栏始终隐藏。

  • 窗口化 - 应用程序使用标准的、非全屏的、可移动的窗口。窗口的大小取决于应用程序的分辨率。在此模式下,窗口默认情况下可调整大小。要禁用此功能,请禁用可调整大小的窗口。

默认值为原生分辨率

启用此选项可使游戏使用目标机器上使用的默认分辨率。如果全屏模式设置为窗口化,则此选项不可用。

使用 32 位显示缓冲区

嵌入式 Linux 仅支持 32 位颜色缓冲区。

禁用深度和模板

此功能在嵌入式 Linux 上不受支持。

在原生 UI 上渲染

仅当您要强制应用程序在原生 iOS 或 Android UI 之上渲染时,才启用此选项。要使此设置生效,请将您的摄像机的清除标志设置为使用具有低于 1 的 alpha 值的纯色。

启动画面

使用虚拟现实启动画面设置选择虚拟现实显示器的自定义启动画面。有关常见启动画面设置的信息,请查看 启动画面

其他设置

本节允许您自定义一系列组织到以下组中的选项

渲染

使用这些设置自定义 Unity 如何为嵌入式 Linux 平台渲染游戏。

Use the Rendering settings to customize how Unity renders your game

功能描述

颜色空间

选择 Unity 用于渲染的颜色空间:伽马或线性。参考 线性渲染概述 了解两种方法之间的区别。

  • 伽马 - 伽马颜色空间通常用于计算旧硬件上的光照,这些硬件限制为每个通道 8 位的帧缓冲区格式。即使今天的显示器是数字化的,它们仍然可能接受伽马编码的信号作为输入。

  • 线性 - 线性颜色空间渲染提供更精确的结果。当您选择在线性颜色空间中工作时,编辑器默认使用 sRGB 采样。如果您的纹理位于线性颜色空间中,则需要在线性颜色空间中工作并为每个纹理禁用 sRGB 采样。

    • 强制 SRGB 混合 - 启用此功能以对线性颜色空间使用强制 SRGB 混合。如果您的图形驱动程序不支持线性颜色空间,则选择此选项将线性颜色空间转换为伽马 (SRGB) 颜色空间。

自动图形 API启用此选项以在应用程序运行的设备上使用最佳图形 API。禁用它以添加和删除支持的图形 API。
多线程渲染启用此选项以使用多线程渲染。

静态批处理

启用此选项以使用静态批处理。

静态批处理阈值

控制批处理时使用的最大顶点阈值。有关更多信息,请参考 Sprite 批处理顶点阈值。

GPU 计算蒙皮

启用此选项以启用 DX11/ES3 GPU 计算蒙皮,从而释放 CPU 资源。

图形作业

启用此选项以指示 Unity 将图形任务(渲染循环)卸载到运行在其他 CPU 内核上的工作线程。这样做的目的是减少在主线程中花费在 Camera.Render 上的时间,这通常是一个瓶颈。

纹理压缩格式

选择要用于项目中纹理的纹理压缩格式。选项包括 ETC、ETC2、ASTC、DXT 和 PVRTC。有关这些压缩格式中每一种的更多信息,请参考 TextureImporterOverride

法线贴图编码

选择法线质量或高质量来设置光照贴图编码。此设置会影响光照贴图的编码方案和压缩格式。

光照贴图流式传输

启用此选项以仅加载光照贴图mipmap,这些 mipmap 需要渲染当前游戏摄像机。此值适用于光照贴图纹理,因为它们是生成的。

注意:要使用此设置,您必须启用纹理流式传输质量设置。

  • 流式传输优先级 - 设置光照贴图mipmap 流式传输优先级以解决资源冲突。这些值适用于光照贴图纹理,因为它们是生成的。

    正数表示更高的优先级。有效值范围为 -128 到 127。

帧计时统计信息

启用此选项以收集 CPU/GPU 帧计时统计信息。

OpenGL:探查器 GPU 记录器

使用 OpenGL 渲染时启用探查器记录器。

虚拟纹理(实验性)

指示是否启用 虚拟纹理

注意:Unity 编辑器需要重新启动才能使此设置生效。

加载/存储操作调试模式

突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器游戏视图以及您在构建设置中选择开发构建时构建的应用程序。参考 LoadStoreActionDebugModeSettings 了解更多信息。

360 立体声捕捉

指示 Unity 是否可以捕捉立体声 360 度图像和视频。启用后,Unity 会编译其他着色器变体以支持 360 度捕捉(目前仅在 Windows/OSX 上)。启用后,enable_360_capture 关键字将在 Stereo RenderCubemap 调用期间添加。请注意,此关键字不会在 Stereo RenderCubemap 函数之外触发。有关更多信息,请查看 立体声 360 度图像和视频捕捉

Vulkan 设置

Vulkan Player settings for Embedded Linux.

功能描述

SRGB 写入模式

启用此选项以允许 Graphics.SetSRGBWrite() 渲染器在运行时切换 sRGB 写入模式。也就是说,如果您要暂时关闭线性到 sRGB 的写入颜色转换,可以使用此属性来实现。启用此功能会对移动基于图块的 GPU 的性能产生负面影响;因此,不要为移动设备启用此功能。

交换链缓冲区数量

将此选项设置为 2 用于双缓冲,或设置为 3 用于三缓冲,以与 Vulkan 渲染器一起使用。此设置可能有助于某些平台上的延迟,但在大多数情况下,您不应该从默认值 3 更改此设置。双缓冲可能会对性能产生负面影响。不要在 Android 上使用此设置。

尽可能晚地获取交换链图像

如果启用,Vulkan 会在将帧渲染到离屏图像后延迟获取后缓冲区。Vulkan 使用暂存图像来实现这一点。启用此设置会导致在呈现后缓冲区时进行额外的混合。此设置与双缓冲相结合,可以提高性能。但是,它也可能导致性能问题,因为额外的混合会占用带宽。

回收命令缓冲区

指示是否在 Unity 执行 后回收或释放它们。

配置

使用本节为嵌入式 Linux 平台指定配置设置。

功能描述

脚本后端

脚本后端确定 Unity 如何编译和执行应用程序中的 C# 代码。嵌入式 Linux 的默认脚本后端是 IL2CPP

API 兼容性级别

选择可以在项目中使用的 .NET API。此设置可能会影响与第三方库的兼容性。

  • .Net 标准 2.0 - 与 .NET 标准 2.0 兼容。生成更小的构建,并具有完整的跨平台支持。

  • .Net 框架 4.x - 与 .NET 框架 4 兼容(包括 .NET 标准 2.0 配置文件中的所有内容以及其他 API)。当使用访问 .NET 标准 2.0 中未包含的 API 的库时,请选择此选项。生成更大的构建,并且所有其他可用的 API 不一定在所有平台上都受支持。有关更多信息,请查看 引用其他类库程序集

提示:如果您在使用第三方程序集时遇到问题,可以尝试 API 兼容性级别部分中的建议。

C++ 编译器配置

选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。

使用增量式 GC

启用此选项使用增量式垃圾收集器,该收集器将垃圾收集分散到多个帧中,以减少与垃圾收集相关的帧持续时间峰值。

程序集版本验证

这是一个在运行时不适用的编辑器设置。
玩家数据路径

输入您要保存 .config 和日志文件的系统目录路径。您也可以通过在播放器命令行中添加以下参数来更改此设置。
-platform-hmi-player-data-path <pathname>.

启用游戏控制器选中此设置后,将启用游戏控制器。如果您不需要游戏控制器,可以禁用它,以帮助减少播放器启动时间。
CPU 配置为播放器运行时设置目标 CPU 配置。默认核心数为 0,但您可以通过输入数字来增加它。每个 CPU 的选项为:禁用高性能低性能
加载图像使用此设置选择加载屏幕的自定义启动图像。

活动输入处理

选择您希望如何处理来自用户的输入。

  • 输入管理器(旧版) - 使用默认的输入窗口。

  • 输入系统(预览) - 使用较新的输入系统。输入系统在此版本中作为预览包提供。要尝试输入系统的预览,请安装InputSystem 包。

  • 两者 - 并排使用两个系统。

着色器设置和着色器变体加载设置

使用这些设置控制着色器在运行时使用多少内存。

功能描述
着色器精度模型选择着色器中使用的采样器的默认精度。有关更多信息,请参阅着色器数据类型和精度
严格着色器变体匹配如果缺少着色器变体,则使用错误着色器并在控制台中显示错误。
保持加载的着色器处于活动状态启用后,您无法卸载着色器。有关更多信息,请参阅着色器加载
默认块大小(MB)设置 Unity 在所有平台上构建的应用程序中存储的压缩着色器变体数据块的最大大小。默认值为 16。有关更多信息,请参阅着色器加载
默认块计数设置 Unity 在所有平台上内存中保留的解压缩块数量的默认限制。默认值为 0,这意味着没有限制。
覆盖启用此选项以覆盖此构建目标的默认块大小和默认块计数。

脚本编译

功能描述

脚本定义符号

设置自定义编译标志。有关更多详细信息,请参阅有关平台相关编译的文档。

附加编译器参数

将条目添加到此列表中以将附加参数传递给 Roslyn 编译器。每个附加参数使用一个新条目。

要创建新条目,请按“+”按钮。要删除条目,请按“-”按钮。

添加完所有所需参数后,单击“应用”按钮以将您的附加参数包含在将来的编译中。还原按钮将此列表重置为最新的应用状态。

抑制常见警告

禁用此设置以显示 C# 警告 CS0169 和 CS0649。

允许“不安全”代码

启用支持在预定义程序集(例如,Assembly-CSharp.dll)中编译“不安全”C# 代码。

对于程序集定义文件 (.asmdef),请单击您的 .asmdef 文件之一,并在出现的检查器窗口中启用该选项。

使用确定性编译

禁用此设置以防止使用 -deterministic C# 标志编译。启用此设置后,编译的程序集每次编译时都是字节对字节相同的。

有关更多信息,请参阅Microsoft 的确定性编译器选项文档

优化

功能描述
预烘焙碰撞网格

启用此选项以在构建时将碰撞数据添加到网格。

预加载资产

设置播放器在启动时加载的资产数组。

要添加新的资产,请增加 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资产的引用。

托管剥离级别

选择 Unity 如何剥离未使用的托管(C#)代码。选项为禁用、低、中和高。

当 Unity 构建您的应用程序时,Unity 链接器过程可以从项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的执行文件显着减小,但有时会意外地删除正在使用的代码。有关这些选项的更多信息,请访问托管代码剥离页面

有关使用 IL2CPP 进行字节码剥离的信息,请参阅有关使用 IL2CPP 进行托管字节码剥离的文档。

顶点压缩

选择要设置为顶点压缩方法下压缩网格的通道,默认设置为混合。这会影响项目中的所有网格。通常,顶点压缩用于减少内存中网格数据的尺寸、减小文件尺寸以及提高 GPU 性能。有关如何配置顶点压缩以及此设置的限制的信息,请参阅压缩网格

优化网格数据

选择此选项将启用从构建中使用的网格中剥离未使用的顶点属性。

这将减少网格中的数据量,这可能有助于减少构建尺寸、加载时间和运行时内存使用量。但是,请记住,如果您启用了此设置,则不要在运行时更改材质或着色器设置。有关更多信息,请参阅PlayerSettings.stripUnusedMeshComponents

纹理 MipMap 剥离

启用此选项以启用所有平台的 mipmap 剥离,这将在构建时从纹理中剥离未使用的 mipmap。Unity 通过比较 mipmap 的值与当前平台的质量设置来确定未使用的 mipmap。如果 mipmap 值从当前平台的每个质量设置中排除,那么 Unity 将在构建时从构建中剥离这些 mipmap。如果QualitySettings.masterTextureLimit 设置为已剥离的 mipmap 值,Unity 将该值设置为未剥离的最近的 mipmap 值。

记录

选择您想要允许的嵌入式 Linux 构建的记录类型。

  • 从可用选项中选择您首选的记录方法。

  • 根据您需要的记录类型,选中与每个日志类型(错误、断言、警告、日志和异常)相对应的复选框。例如

    • 仅脚本 - 仅在运行脚本时记录。
    • 全部 - 一直记录。
    • - 从不记录日志。

传统

本节介绍传统播放器设置。

功能描述

钳位混合形状(已弃用)

启用此选项以钳位SkinnedMeshRenderer 中的混合形状权重的范围。

上传清除的纹理数据

这是一个传统功能,目前不需要,因为它会占用带宽。默认情况下,它已启用以进行调试。启用此设置将清除初始数据并自动将纹理从脚本上传到视频内存。

其他资源: