Version: 6000.3
语言: 中文
为嵌入式 Linux 设置环境
针对嵌入式 Linux 进行开发

嵌入式 Linux 播放器设置

嵌入式 Linux 播放器设置允许您自定义 Unity 构建和显示最终应用程序的方式。要访问嵌入式Linux的 播放器设置(Player settings) 窗口,请转到 编辑>项目设置(Project Settings) > 播放器,然后选择 嵌入式Linux(Embedded Linux) 选项卡。你可以使用 PlayerSettings API 来控制此窗口中可用的大多数设置。有关常规播放器设置的说明,请参阅玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
.

常规设置

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

嵌入式Linux的主播放器设置窗口
嵌入式Linux的主播放器设置窗口

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

图标

启用 嵌入式Linux覆盖(Override for Embedded Linux) 设置,为游戏分配自定义图标。

决议和演示

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

分辨率

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

财产 描述
全屏模式 选择全屏模式。这定义了启动时的默认窗口模式:
  • 全屏窗口:应用程序窗口填充设备的全屏本机分辨率。为了填充全屏窗口,Unity 会缩放应用程序内容。为了匹配输出设备的纵横比,Unity 可能会在渲染输出中添加黑条,以便内容不会拉伸。此过程称为信箱。在此模式下,导航栏始终处于隐藏状态。
  • 窗口 :应用程序使用标准的、非全屏的、可移动的窗口。窗口的大小取决于应用程序的分辨率。在此模式下,窗口默认可调整大小。要禁用此功能,请禁用可调整大小窗口。
默认值为“原始分辨率”(Native Resolution) 启用此选项可使游戏使用目标计算机上使用的默认分辨率。如果 全屏模式(Fullscreen Mode) 设置为 窗口化(Windowed) ,则此选项不可用。
使用 32 位显示缓冲区 嵌入式 Linux 仅支持 32 位颜色缓冲区。
禁用深度和模板 嵌入式 Linux 不支持此功能。
通过原生UI渲染 仅当要强制应用在本机 iOS 或 Android UI 之上呈现时,才启用此选项。要使此设置生效,请将相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表
的 Clear 标志以使用alpha值小于1的纯色。

启动图像

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

其他设置

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

渲染

使用这些设置可以自定义 Unity 为嵌入式 Linux 平台渲染游戏的方式。

嵌入式 Linux 的渲染设置
嵌入式 Linux 的渲染设置
财产 描述
色彩空间 选择要用于渲染的色彩空间。有关更多信息,请参阅色彩空间

  • Gamma:Gamma 色彩空间通常用于计算旧硬件上的光照,对于帧缓冲区格式,每个通道限制为 8 位。尽管今天的显示器是数字的,但它们仍然可能接受伽马编码的信号作为输入。
  • 线性:线性色彩空间渲染可提供更精确的结果。当您选择在线性色彩空间中工作时,编辑器默认使用 sRGB 采样。如果你的纹理处于线性色彩空间中,你需要在线性色彩空间中工作,并停用每个纹理的sRGB采样。
强制 SRGB blit 启用此选项可将 强制SRGBblit 用于线性色彩空间。如果图形驱动程序不支持线性色彩空间,选择此选项会将线性色彩空间转换为 Gamma (SRGB) 色彩空间。
自动图形 API 启用此选项可在运行应用程序的设备上使用最佳图形 API。禁用它以添加和删除支持的图形 API。
多线程渲染 启用此选项以使用多线程渲染。
静态批处理 启用此选项以使用静态批处理。
静态批处理阈值 控制批处理时使用的最大顶点阈值。有关更多信息,请参阅Sprite批处理顶点阈值
GPU计算蒙皮 启用此选项可启用 GPU 计算蒙皮,从而释放 CPU 资源。
图形作业 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 内核上运行的工作线程。这是为了减少花费在Camera.Render在主线程上,这通常是一个瓶颈。
纹理压缩格式 选择要用于项目中纹理的纹理压缩格式。选项包括 ETC、ETC2、ASTC、DXT 和 PVRTC。有关每种压缩格式的更多信息,请参阅 TextureImporterOverride注意:PVRTC 格式已弃用。请改用 ASTC 或 ETC 格式。
法线贴图编码 选择 正常质量(Normal Quality) 或 高质量(High Quality) 以设置光照贴图编码。此设置会影响光照贴图的编码方案和压缩格式。
光照贴图流送 启用此选项可仅根据需要加载光照贴图mipmap,以渲染当前游戏摄像机。此值适用于生成光照贴图纹理。注意:要使用此设置,必须启用 纹理流送质量(Texture Streaming Quality) 设置。
  • 流送优先级(Streaming Priority) :设置光照贴图mip贴图流送优先级以解决资源冲突。这些值在生成时应用于光照贴图纹理。正数具有更高的优先级。有效值范围为 –128 到 127。
帧时序统计 启用此选项可收集CPU/GPU帧时序统计信息。
OpenGL:性能分析器GPU记录器 使用 OpenGL 渲染时启用性能分析器记录器。
虚拟纹理(实验性) 指示是否启用虚拟纹理。注意:Unity 编辑器需要重新启动才能使此设置生效。
加载/存储作调试模式 突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器的“游戏”视图,如果你在“构建配置文件”窗口的“平台设置”中选择“开发构建”,则会影响生成的应用程序。有关详细信息,请参阅 LoadStoreActionDebugModeSettings
360度立体捕捉 指示 Unity 是否可以捕获立体 360 度图像和视频。如果启用此设置,Unity 会编译其他着色器变体以支持 360 度捕获(目前仅在 Windows/macOS 上)。启用后,将在 Stereo RenderCubemap 调用期间添加enable_360_capture关键字。请注意,此关键字不会在 Stereo RenderCubemap 函数之外触发。有关更多信息,请参阅立体 360 度图像和视频捕获

Vulkan 设置

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

配置

使用此部分可以指定嵌入式 Linux 平台的配置设置。

嵌入式 Linux 的配置设置
嵌入式 Linux 的配置设置
财产 描述
脚本后端 脚本后端决定了 Unity 如何在应用程序中编译和执行 C# 代码。嵌入式 Linux 的默认脚本后端是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:生成较小的版本并具有完整的跨平台支持。
C++编译器配置 选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。
使用增量 GC 启用此选项以使用增量垃圾回收器,该回收器将垃圾回收分散到多个帧上,以减少与 gc 相关的帧持续时间峰值。
程序集版本验证 这是在运行时不适用的编辑器设置。
玩家数据路径 输入要保存.config和日志文件。您还可以通过添加以下参数从播放器的命令行中更改此设置:-platform-hmi-player-data-path <pathname>.
启用游戏控制器 选中此设置后,将启用游戏控制器。如果您不需要游戏控制器,您可以禁用此功能,以帮助减少玩家的启动时间。
CPU 配置 设置播放器运行时的目标 CPU 配置。默认核心数为 0,但可以通过输入数字来增加它。每个 CPU 的选项包括:禁用高性能低性能
加载图像 使用此设置可为加载屏幕选择自定义启动图像。
主动输入处理 选择如何处理来自用户的输入。
  • 输入管理器(旧):使用原始输入设置。
  • 输入系统包(新)(Input System Package)(输入系统包)(Input System Package(新)(Input System Package)(输入系统包)(Input
  • 两者:同时使用这两个系统。

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

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

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

脚本编译

嵌入式 Linux 的脚本编译设置
嵌入式 Linux 的脚本编译设置
财产 描述
脚本定义符号 设置自定义编译标志。

有关更多详细信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表,以将其他参数传递给 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 级别。

伐木

选择要为嵌入式 Linux 构建允许的日志记录类型。

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

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

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

遗产

本节介绍旧版播放器设置。

财产 描述
钳制混合形状(已弃用) 启用该选项以限制 SkinnedMeshRenderers 中的混合形状权重范围。
上传已清除的纹理数据 这是一项遗留功能,目前不需要,因为它会占用带宽。默认情况下,出于调试目的而启用此功能。启用此设置将清除初始数据,并自动将纹理从脚本上传到视频内存。

其他资源:

为嵌入式 Linux 设置环境
针对嵌入式 Linux 进行开发