本页面将详细介绍 Android 平台特有的 Player 设置。有关常规 Player 设置的描述,请参阅 Player 设置。
有关属性的描述根据 Player UI 中的相应部分进行分组:
属性 | 功能 |
---|---|
Adaptive | 设置应用程序中 Android 自适应图标的纹理。 |
Round | 设置应用程序中 Android 圆形图标的纹理。 |
Legacy | 设置应用程序中 Android 旧版图标的纹理。 |
Enable Android Banner | 为 Android TV 版本启用自定义横幅。 |
使用 Resolution and Presentation 部分可以自定义屏幕外观的各个方面。
设置 | 功能 |
---|---|
Start in fullscreen mode | 加载启动画面或第一个场景时隐藏导航栏。如果未设置此选项,则在加载启动画面或第一个场景加载时将显示导航栏。 |
Render outside safe area | 启用此选项可允许使用所有可用的屏幕空间(包括显示屏缺口(凹口)区域)进行渲染。有关更多信息,请参阅 Android 开发者网站上的显示屏凹口支持。 |
Optimized Frame Pacing | 启用此选项可允许 Unity 均匀分配帧以减少帧率变化,从而使游戏过程更流畅。 |
Resolution and Presentation 中的其他属性按照以下几部分进行分组:
设置 | 功能 | |
---|---|---|
Resolution Scaling Mode | 允许将缩放设置为等于或低于屏幕原始分辨率。 | |
FixedDPI | 允许将设备的屏幕分辨率缩放为低于其原始分辨率,并显示 Target DPI 属性。使用此属性可优化性能和电池续航时间,或者针对特定的 DPI 设置。 | |
Disabled | 确保不应用缩放,并且游戏渲染屏幕原始分辨率。 | |
Target DPI | 设置游戏画面的分辨率。如果设备的屏幕原始 DPI 高于此值,则 Unity 会降低游戏画面分辨率以匹配此设置。缩放的计算公式为 min(Target DPI * Factor / Screen DPI, 1) 。Factor 由 Quality 设置中的 Resolution Scaling Fixed DPI Factor 进行控制。注意:仅当 Resolution Scaling Mode 设置为 Fixed DPI 时才会显示此选项。 |
|
Blit Type | 控制是否使用 blit 将最终图像渲染到屏幕。 | |
Always | (始终 blit)使 Unity 渲染到屏幕外缓冲区,然后复制到系统帧缓冲区。此选项兼容大部分设备,但通常比 Never blit 设置更慢。 | |
Never | (从不 blit)使 Unity 渲染到 OS 提供的帧缓冲区。如果在应用程序运行时出现导致此操作失败的情况,应用程序将向设备日志输出一次性警告。Never blit 通常比 Always blit 更快,但无法兼容所有设备。 | |
Auto | 尽可能使 Unity 渲染到 OS 提供的帧缓冲区。如果满足阻止应用程序渲染到系统帧缓冲区的条件,则应用程序将切换到屏幕外渲染并向设备控制台发出警告。 |
为设备设置 Aspect Ratio Mode。可以选择 Legacy Wide Screen (1.86)、Native Aspect Ratio 和 Custom。选择 Custom 时,会出现 Up To 字段。
使用 Up To 属性设置自定义的最大屏幕宽度。仅当 Aspect Ratio Mode 设置为 Custom 时,此属性才可用。
从 Default Orientation 下拉菜单中选择游戏的屏幕方向:
设置 | 功能 |
---|---|
Portrait | 主屏幕按钮显示在底部。 |
Portrait Upside Down | 主屏幕按钮显示在顶部。 |
Landscape Left | 主屏幕按钮显示在右侧。 |
Landscape Right | 主屏幕按钮显示在左侧。 |
Auto Rotation | 允许屏幕自动旋转到 Allowed Orientations for Auto Rotation 设置指定的任何方向。此为默认值。 |
注意:iOS 和 Android 设备共享此设置。
将方向设置为 Auto Rotation 时,将显示 Allowed Orientations for Auto Rotation 部分。
仅当 Default Orientation 设置为 Auto Rotation 时才会显示此部分。
由于 Auto Rotation 会更改屏幕方向以匹配设备,您可能希望限制允许的屏幕方向(例如,将设备锁定为横向)。
通过选中本部分中的复选框,启用要允许的每个方向:
设置 | 功能 |
---|---|
Portrait | 允许纵向方向。 |
Portrait Upside Down | 允许纵向上下翻转方向。 |
Landscape Right | 允许横向右侧方向(主屏幕按钮位于左侧)。 |
Landscape Left | 允许横向左侧方向(主屏幕按钮位于右侧)。 |
设置 | 功能 |
---|---|
Use 32-bit Display Buffer | 启用此选项可创建显示缓冲区以保存 32 位颜色值(默认为 16 位)。如果在后期处理效果中看到条带或需要 Alpha,请使用此选项,因为这些效果使用与显示缓冲区相同的格式创建渲染纹理。 |
Disable Depth and Stencil | 启用此选项可禁用深度和模板缓冲区。 |
Render Over Native UI | 如果希望 Unity 在 Android 或 iOS 上的 UI 之上渲染,请启用此选项。摄像机的 Clear Flags 必须设置为 Solid color,并且 Alpha 小于 1,此属性才能生效。 |
Show Loading Indicator | 选择应如何显示加载指示符。选项为 Don’t Show、Large、Inversed Large、Small 和 Inversed Small。 |
在通用 Splash Screen 设置之上,可以使用 Virtual Reality Splash Image 设置来指定虚拟现实显示的自定义启动画面。
以下是通用 Splash Screen 设置,可以设置特定于 Android 的 Static Splash Image 选项。
使用 Android Splash Screen 属性可指定应该用于 Android 启动画面的纹理。启动画面图像的标准大小为 320x480。
从 Splash Scaling 下拉菜单中选择您希望 Unity 如何缩放启动画面以适合设备的屏幕。选项包括:
此部分可以自定义一系列选项,这些选项分为以下几组:
使用这些设置可自定义 Unity 针对 Android 平台渲染游戏的方式。
属性 | 功能 |
---|---|
Color Space | 选择应该用于渲染的颜色空间,选项为:__Gamma__ 或 Linear。 请参阅线性渲染概述以了解这两者之间的区别。 |
Auto Graphics API | 禁用此选项可手动选择和重新排序图形 API。(OpenGL)。默认情况下会启用此选项,并且 Unity 会尝试 GLES3.2。如果设备不支持 GLES3.2,Unity 将回退到 GLES3.1、GLES3 或 GLES2。如果列表中只有 GLES3,则会出现其他复选框:__Require ES3.1、Require ES3.1+AEP__ 和 Require ES3.2。这些选项允许您强制使用相应的图形 API。 重要信息:仅当 GLES2 不在列表中并且 Minimum API Level 设置为 JellyBean(API 级别 18)或更高版本时,Unity 才会将 GLES3/GLES3.1/AEP/3.2 要求添加到 Android 清单中。只有在这种情况下,应用程序才不会显示在不受支持设备上的 Google Play 应用商店中。 |
Color Gamut | 可以为 Android 平台添加或删除色域以用于渲染。单击加号 (+) 图标查看可用色域的列表。色域定义了给定设备(如监视器或屏幕)可以使用的所有颜色范围。sRGB 色域是默认色域(也是必需色域)。如果目标设备是具备宽色域显示屏的设备,请使用 DisplayP3 充分利用显示能力。 |
Multithreaded Rendering | 启用此选项可将 Unity 的主线程中的图形 API 调用移动到单独的工作线程。这有助于提高主线程上 CPU 使用率很高的应用程序的性能。 |
Static Batching | 启用此选项可在构建中使用静态批处理(默认情况下启用)。 |
Dynamic Batching | 启用此选项可在构建中使用动态批处理(默认情况下启用)。 注意:当可编程渲染管线激活时,动态批处理无效,所以仅当 Graphics Settings 中未设置编程渲染管线资源时,此设置才可见。 |
Compute Skinning | 启用此选项可使用 GPU 计算蒙皮,这样可以释放 CPU 资源。在支持 OpenGL ES 3.1 或 Vulkan 的设备上都支持计算蒙皮。要了解有关 GPU 计算蒙皮的更多信息,请参阅关于骨骼动画的 Wikipedia 页面。 |
Graphics Jobs | 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。这可以减少主线程上 Camera.Render 所花费的时间,该时间通常成为瓶颈。 注意:Unity 目前仅在使用 Vulkan 时支持图形作业 (Graphics Jobs),使用 OpenGL ES 时此设置无效。 |
Lightmap Encoding | 选择 Low Quality、Normal Quality 或 High Quality 来设置光照贴图编码。此设置影响光照贴图的编码方案和压缩格式。 |
Lightmap Streaming Enabled | 启用此选项可以仅根据需要加载光照贴图 Mipmap。要渲染当前游戏摄像机,Unity 会在生成纹理时将此值应用于光照贴图纹理。 注意:要使用此值,请启用 Texture Streaming Quality 设置。 |
Streaming Priority | 定义在争用资源时的光照贴图 Mipmap 串流优先级。有效范围是 –127 到 128,其中正数表示更高的优先级。仅当选中 Lightmap Streaming Enabled 时,此设置才可用。要使用此值,请启用 Texture Streaming Quality 设置。 |
Protect Graphics Memory | 选中此框可强制仅通过受硬件保护的路径显示图形缓冲区。仅适用于支持该选项的设备。 |
Enable Frame Timing Stats | 收集有关帧在 CPU 和 GPU 上花费的时间的统计信息。 |
启用 SRGB Write Mode 选项可允许 Vulkan 渲染器上的 Graphics.SetSRGBWrite() 在帧期间切换 sRGB 写模式。
注意:启用此功能可能会降低性能,尤其是基于区块的 GPU。
设置 | 功能 | ||
---|---|---|---|
Scripting Backend | 选择要使用的脚本后端。脚本后端确定 Unity 如何在项目中编译和执行 C# 代码。 | ||
Mono | 将 C# 代码编译为 .NET 公共中间语言 (CIL) 并使用公共语言运行时执行该 CIL。有关更多信息,请参阅 Mono Project 网站。 | ||
IL2CPP | 将 C# 代码编译为 CIL,将 CIL 转换为 C++,然后将该 C++ 编译为本机机器代码,该代码在运行时直接执行。请参阅 IL2CPP 以了解更多信息。 | ||
API Compatibility Level | 选择可以在项目中使用的 .NET API 运行时。此设置可能会影响与第三方库的兼容性。 提示:如果您遇到第三方程序集的问题,可以尝试下文的 API Compatibility Level 部分中的建议。 |
||
.Net 2.0 | .Net 2.0 库。最高的 .net 兼容性,最大的文件大小。属于已弃用的 .NET 3.5 运行时。 | ||
.Net 2.0 Subset | 完整 .net 兼容性的子集,最小的文件大小。属于已弃用的 .NET 3.5 运行时。 | ||
.Net Standard 2.0 | 兼容 .NET Standard 2.0。生成较小的构建并具有完整的跨平台支持。 | ||
.Net 4.x | 兼容 .NET Framework 4(包括 .NET Standard 2.0 配置文件中的所有内容以及其他 API)。如果使用的库需要访问 .NET Standard 2.0 中未包含的 API,请选择此选项。生成更大的构建,并且任何可用的其他 API 不一定在所有平台上都受支持。有关更多信息,请参阅引用其他类库程序集。 | ||
C++ Compiler Configuration | 选择在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。 注意:除非 Scripting Backend 设置为 IL2CPP_,否则此属性被禁用。| |Use incremental GC||使用增量式垃圾回收器,这种垃圾回收器将垃圾收集工作分布在多个帧上,因此可以在帧持续时间中减少与 gc 相关的峰值。| |Mute Other Audio Sources ||如果希望 Unity 应用程序从后台运行的应用程序中停止音频,请启用此选项。否则,来自后台应用程序的音频继续与 Unity 应用程序一起播放。| |Target Architectures ||选择要允许在哪些 CPU 上运行应用程序(32 位 ARM、64 位 ARM 和 32 位 Intel)。 注意:在 64 位环境中运行 Android 应用程序具有性能优势,且 64 位应用程序可以寻址超过 4 GB 的内存空间。| |Split APKs by target architecture (Experimental) ||启用此选项可为 Target Architectures 中选择的每个 CPU 架构创建单独的 APK。因此,Google Play 应用商店用户的下载文件将变小。这是 Google Play 应用商店的特色功能,在其他应用商店中可能无效。有关更多详细信息,请参阅多 APK 支持 (Multiple APK Support)。| |Install Location ||指定设备上的应用程序安装位置(有关详细信息,请参阅有关安装位置的 Android 开发者文档。| ||Automatic_ |
让操作系统决定。用户可以来回移动应用程序。 | |
Prefer External | 如果可能,将应用程序安装到外部存储(SD 卡)。操作系统不保证会安装到外部存储;如果不能,该应用程序将安装到内部内存。 | ||
Force Internal | 强制将应用程序安装到内部内存。用户将无法将应用程序移动到外部存储。 | ||
Internet Access | 选择是否始终将网络 (INTERNET ) 权限添加到 Android 清单(即使您没有使用任何网络 API)。默认情况下,对于开发版设置为 Require。 |
||
Auto | 仅当使用了网络 API 时才会添加互联网访问权限。 | ||
Require | 始终添加互联网访问权限。 | ||
Write Permission | 选择是否启用对外部存储(例如 SD 卡)的写访问权限,并为 Android 清单添加相应的权限。默认情况下,对于开发版设置为 External(SDCard)。 | ||
Internal | 仅授予对内部存储的写入权限。 | ||
External(SDCard) | 启用对外部存储的写入权限。 | ||
Filter Touches When Obscured | 启用此选项可忽略另一个可见窗口覆盖 Unity 应用程序时收到的触摸操作。这是为了防止点击劫持。 | ||
Sustained Performance Mode | 启用此选项可在较长时间内设置可预测且一致的设备性能级别,而无需考虑热节流。启用此设置时,整体性能可能会降低。基于 Android Sustained Performance API。 | ||
Maximum Java Heap Size | 设置用户可以构建的最大 Java 堆大小(以兆字节为单位)。默认为 4096。 | ||
Low Accuracy Location | 启用此选项可改用 Android 位置 API 提供的低精度值。 | ||
Android TV Compatibility | 启用此选项可将应用程序标记为兼容 Android TV。 | ||
Android Game | 启用此选项可将输出包 (APK) 标记为游戏而非常规应用程序。 | ||
Android Gamepad Support Level | 选择应用程序为游戏手柄提供的支持程度。选项为 Works with D-Pad、Supports Gamepad 和 Requires Gamepad。 | ||
Warn about App Bundle size | 启用此选项可以在 Android App Bundle 超过特定阈值时收到警告。默认情况下会选择此选项,仅当在 |