本页面将详细介绍 tvOS 特有的 Player 设置。有关常规 Player 设置的描述,请参阅 Player。
您可以在以下部分找到这些属性的文档:
使用 Icon 设置可自定义您的 Apple TV 应用程序的品牌标记。
Apple TV 图像包含两个图层到五个图层。Unity 为 Apple TV 图标提供两个图层。
注意:有关为 Apple TV 分层图像的详细信息,请参阅 Apple 开发者文档的分层图像 (Layered Images) 部分。
设置 | 功能 |
---|---|
App icons | 为每种分辨率(1280x768、800x480 和 400x240)构建您希望在 AppleTV 主屏幕上显示的自定义图标。 |
Top Shelf icons | 为每种宽高比和分辨率(4640x1440、2320x720、3840x1440 和 1920x720)构建您希望在 AppleTV 顶层上显示的自定义图标。 |
启用 Disable Depth and Stencil 选项可禁用深度和模板缓冲区。
除了通用 Splash Screen 设置,还有两个用于 tvOS 平台的额外设置:
使用 AppleTV (1x) 和 AppleTV (2x) 属性可设置 Apple TV 静态启动画面。
设置 | 功能 |
---|---|
Enable Internal Profiler (Deprecated) | 启用内部性能分析器,它可收集应用程序的性能数据并将报告输出至控制台。报告包含每个 Unity 子系统在每帧上执行时所用的毫秒数。数据是针对 30 帧所求的平均值。 |
On .Net UnhandledException | 对 .NET 未处理异常所采取的操作。提供的选项为 Crash_(应用程序几乎崩溃并且强制 tvOS 生成可通过应用程序用户提交到 iTunes 并由开发人员检查的崩溃报告)和 Silent Exit_(应用程序成功退出)。 |
Log Obj-C Uncaught Exceptions | 启用一个自定义 Objective-C 未捕获异常处理程序,此处理程序会将异常信息输出至控制台。 |
Enable Crash Report API | 启用自定义崩溃报告程序以捕获崩溃。脚本可通过 CrashReport API 使用崩溃日志。 |
此部分可以自定义一系列选项,这些选项分为以下几组:
使用这些设置可自定义 Unity 针对独立平台渲染游戏的方式。
设置 | 功能 | |
---|---|---|
Color Space | 选择应该用于渲染的颜色空间,选项为:_Gamma_ 或 Linear。 请参阅线性渲染概述以了解这两者之间的区别。 |
|
Auto Graphics API | 禁用此选项可手动设置图形 API。此选项在默认情况下为启用状态,并包含 Metal。 | |
Color Gamut | 可以为 iOS 平台添加或删除色域以用于渲染。单击加号 (+) 图标查看可用色域的列表。色域定义了给定设备(如监视器或屏幕)可以使用的所有颜色范围。sRGB 色域是默认色域(也是必需色域)。 如果目标设备是具备宽色域显示屏的新款 tvOS 设备,请使用 DisplayP3 充分利用显示能力。对于旧设备,使用 Metal Editor Support 作为后备选项。 |
|
Metal Editor Support | 启用此选项可在 Unity Editor 中使用 Metal API,并释放更快速的着色器迭代以定位 Metal API。 | |
Metal API Validation | 如果需要调试着色器问题,请启用此选项。 注意:验证会提高 CPU 使用率,因此仅在进行调试时使用。 |
|
Metal Write-Only Backbuffer | 允许在非默认设备方向上提高性能。此属性会在后缓冲区上设置 frameBufferOnly 标志,因此会阻止从后缓冲区的回读,但可实现一定程度的驱动程序优化。 | |
Force hard shadows on Metal | 启用此选项可强制 Unity 在 Metal 中对阴影使用点采样。这样会降低阴影质量,但应该能提供更好的性能。 | |
Memoryless Depth | 选择何时使用无记忆渲染纹理。无记忆渲染纹理在渲染时临时存储在区块内存中,而不是存储在 CPU 或 GPU 内存中。这可减少应用的内存使用量,但您无法读取或写入这些渲染纹理。 注意:只有 tvOS、tvOS 10.0+ Metal 和 Vulkan 上支持无记忆渲染纹理。在其他平台上,渲染纹理受读/写保护并存储在 CPU 或 GPU 内存中。 |
|
Unused | 从不使用无记忆帧缓冲区深度。 | |
Forced | 始终使用无记忆帧缓冲区深度。 | |
Automatic | 让 Unity 决定何时使用无记忆帧缓冲区深度。 | |
Multithreaded Rendering | 启用此选项可使用多线程渲染。仅 Metal 支持此功能。 | |
Static Batching | 启用此选项可使用静态批处理。 | |
Dynamic Batching | 选中此复选框可在构建中使用动态批处理(默认情况下启用)。 | |
Compute Skinning | 启用此选项可使用 DX11/ES3 GPU 计算蒙皮,这样可以释放 CPU 资源。 | |
Graphics Jobs (Experimental) | 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。此功能旨在减少主线程上 Camera.Render 所花费的时间,该时间通常成为瓶颈。注意:此功能是实验性的。此功能可能无法为项目带来性能提升,并可能引入新的崩溃。 |
|
Normal Map Encoding | 选择 XYZ 或 DXT5nm 样式_对法线贴图编码进行设置。此设置影响用于法线贴图的编码方案和压缩格式。DXT5nm 样式_的法线贴图质量更高,但在着色器中解码成本更高。 | |
Lightmap Encoding | 选择 Low Quality、Normal Quality 或 High Quality 来设置光照贴图编码。此设置影响光照贴图的编码方案和压缩格式。 | |
Lightmap Streaming Enabled | 启用此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前游戏摄像机。此值适用于生成的光照贴图纹理。 注意:要使用此设置,必须启用 Texture Streaming Quality 设置。 |
|
Streaming Priority | 设置光照贴图 Mipmap 串流优先级以解决资源冲突。Unity 将这些值应用于生成的光照贴图纹理。 正数提供更高的优先级。有效值范围为 –128 到 127。 |
|
Enable Frame Timing Stats | 启用此选项可收集 CPU/GPU 帧时序统计信息。 |
设置 | 功能 |
---|---|
Bundle Identifier | 输入您正在构建的游戏或产品的资源调配配置文件。标识符的基本结构是 com.CompanyName.ProductName。此结构可能会根据您居住的地方而有所不同,因此始终默认为 Apple 为您的开发者帐户提供的字符串。您的 ProductName 已在您的资源调配证书中设置。 此值在关联的 info.plist 文件中显示为 CFBundleIdentifier 。请参阅 Apple 开发者文档的 CFBundleIdentifier 部分以了解更多信息。注意:iOS、tvOS 和 Android 共享此设置。 |
Version | 输入捆绑包的 release-version-number 字符串(例如,4.3.6)。此信息在关联的 info.plist 文件中显示为 CFBundleShortVersionString 。请参阅 Apple 开发者文档的 CFBundleShortVersionString 部分以了解更多信息。 |
Build | 输入此应用版本的内部版本号。此信息在关联的 info.plist 文件中显示为 CFBundleVersion 。请参阅 Apple 开发者文档的 CFBundleVersion 部分以了解更多信息。 |
Signing Team ID | 输入您的 Apple Developer Team ID。您可以在 Apple 开发者网站上的 Xcode Help 下找到此信息。这将为生成的 Xcode 项目设置 Team ID,从而允许开发者使用 Build and Run 功能。必须在此处设置 Apple Developer Team ID 才能为应用程序自动签名。有关更多信息,请参阅创建团队资源调配配置文件 (Creating Your Team Provisioning Profile)。 |
Automatically Sign | 启用此选项可允许 Xcode 自动为您的构建版本签名。 |
设置 | 功能 | |
---|---|---|
Scripting Runtime Version | 选择要在项目中使用的 .NET 运行时。有关更多详细信息,请参阅 Microsoft 的 .NET 文档。 | |
.NET 3.5 Equivalent (Deprecated) | 一个实现 .NET 3.5 API 的 .NET 运行时。此功能已弃用,不应再使用。请使用 .NET 4。 | |
.NET 4.x Equivalent | 一个实现 .NET 4 API 的 .NET 运行时。此 API 比 .NET 3.5 更新,因此提供对更多 API 的访问、与更多外部库兼容并支持 C# 6。这是默认脚本运行时。 | |
Scripting Backend | 选择要使用的脚本后端。tvOS 未启用此设置。 | |
API Compatibility Level | API 兼容性级别有两个选项:.NET 4.0 或 .NET Standard 2.0。 提示:如果您遇到第三方程序集的问题,可以尝试下文的 API Compatibility Level 部分中的建议。 |
|
C++ Compiler Configuration | 选择在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。tvOS 未启用此设置。 | |
Use on Demand Resource | 启用此选项可使用按需资源。 此设置对 tvOS 无效。 |
|
Accelerometer Frequency | 定义加速度计采样的频率。如果选择 Disabled_,则不会进行采样。否则,可以选择 15Hz、30Hz、60Hz 和 100Hz 频率。 | |
Camera Usage Description | 输入在 tvOS 设备上访问摄像头的原因。 | |
Location Usage Description | 输入访问 tvOS 设备位置的原因。 | |
Microphone Usage Description | 输入在 tvOS 设备上访问麦克风的原因。 | |
Mute Other Audio Sources | 如果希望 Unity 应用程序从后台运行的应用程序中停止音频,请启用此选项。否则,来自后台应用程序的音频继续与 Unity 应用程序一起播放。 | |
Requires Persistent WiFi | 启用此选项可要求 Wi-Fi 连接。tvOS 在应用程序运行时保持有效的 Wi-Fi 连接。 | |
Allow downloads over HTTP (nonsecure) | 启用此选项可允许通过 HTTP 下载内容。推荐使用 HTTPS,这也是默认设置。 | |
Supported URL schemes |
支持的 URL 方案列表。 要添加新方案,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。 |
|
Target SDK | 选择游戏所针对的 SDK。选项包括 Device SDK 和 Simulator SDK。 注意:请务必选择正确的 SDK。例如,如果选择 Device SDK 但是之后在 Xcode 中以 Simulator 为目标,那么构建将失败,并显示大量错误消息。 |
|
Target minimum tvOS Version | 定义运行游戏所需要的最低 tvOS 版本。 | |
Architecture | 选择目标架构。对于 tvOS,此设置未启用,因为此设置会根据为 Target SDK 属性设置的值自动更改。 | |
Require Extended Game Controller | 如果应用程序需要游戏控制器,请启用此选项。有关更多信息,请参阅 Apple 开发者文档的游戏控制器 (Game Controllers) 部分。 | |
Active Input Handling | 选择您希望如何处理来自用户的输入。 | |
Input Manager | 使用传统的 Input 窗口。 | |
Input System (Preview) | 使用输入系统。输入系统作为此版本的预览包提供。要试用输入系统的预览版,请安装 InputSystem 包。 | |
Both | 并排使用两个系统。 |
可为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方案修复问题,请尝试以下解决方案:
1.安装适用于 Windows 的 Reflector。
2.将出现问题的相关 API 兼容性级别的 .NET 程序集拖到 Reflector 中。这些程序集位于 Frameworks/Mono/lib/mono/YOURSUBSET/
下。
3.拖入第三方程序集。
4.右键单击第三方程序集并选择 Analyze。
5.在分析报告中,检查 Depends on 部分。此报告以红色突出显示第三方程序集所依赖的但在您选择的 .NET 兼容性级别中不可用的任何内容。
Setting | Function | |
---|---|---|
Scripting Define Symbols | Set custom compilation flags. For more details, see the documentation on Platform dependent compilation. | |
Additional Compiler Arguments | Add entries to this list to pass additional arguments to the Roslyn compiler. Use one new entry for each additional argument. To create a new entry, press the ‘+’ button. To remove an entry, press the ‘-’ button. When you have added all desired arguments, click the Apply button to include your additional arguments in future compilations.The Revert button resets this list to the most recent applied state. |
|
Suppress Common Warnings | Disable this setting to display the C# warnings CS0169 and CS0649. | |
Allow ‘unsafe’ Code | Enable support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, Assembly-CSharp.dll ). For Assembly Definition Files ( .asmdef ), click on one of your .asmdef files and enable the option in the Inspector window that appears. |
|
Use Deterministic Compilation | Disable this setting to prevent compilation with the -deterministic C# flag. With this setting enabled, compiled assemblies are byte-for-byte identical each time they are compiled. For more information, see Microsoft’s deterministic compiler option documentation. |
|
Enable Roslyn Analyzers | Disable this setting to compile user-written scripts without Roslyn analyzer DLLs that might be present in your project. | |
Use Roslyn Reference Assemblies | Disable this setting to the compiler not to skip compilation reference assemblies when the metadata of the assembly does not change. |
设置 | 功能 | |
---|---|---|
Prebake Collision Meshes | 启用此选项可在构建时将碰撞数据添加到网格。 | |
Keep Loaded Shaders Alive | 启用此选项可防止卸载着色器。 | |
Preloaded Assets | 设置一个资源数组,供播放器在启动时加载。 要添加新资源,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。 |
|
AOT compilation options | 提前 (AOT) 编译的附加选项。这有助于优化构建的 tvOS 播放器的大小。 | |
Strip Engine Code | 启用代码剥离。此设置仅适用于 IL2CPP 脚本后端。 大多数游戏都不会使用所有必需的 DLL。启用 Strip Engine Code 选项后,可以剥离掉未使用的部分以减小 tvOS 设备上构建的播放器的大小。如果您的游戏使用的类通常会被您当前选择的选项删除,那么在进行构建时,将看到一条调试消息。 |
|
Managed Stripping Level | 选择 Unity 剥离未使用的托管 (C#) 代码时的激进程度。 | |
Normal | 删除无法访问的托管代码以减少构建大小和 .NET/IL2CPP 构建时间。 | |
Aggressive | 以比正常情况更激进的模式运行 UnityLinker,因此将进一步减少代码大小甚至比 Normal 选项可以实现的效果更强。然而,这种进一步的缩减可能伴随着取舍。有关更多信息,请参阅 ManagedStrippingLevel。 | |
Script Call Optimization | 选择如何在运行时选择性地禁用异常处理以提高速度。有关详细信息,请参阅 iOS 优化。 | |
Slow and Safe | 使用完整的异常处理(使用 Mono 脚本后端时会对设备的性能有一些影响)。 | |
Fast but no Exceptions | 不为设备上的异常提供数据(使用 Mono 脚本后端时游戏运行速度更快)。 注意:将此选项与 IL2CPP 脚本后端 一起使用不会影响性能;但是,使用此选项可以避免发布版本中出现未定义的行为。 |
|
Vertex Compression | 设置每个通道的顶点压缩。例如,可以为除位置和光照贴图 UV 之外的所有内容启用压缩。为每个导入对象设置的整个网格压缩将覆盖在对象上设置顶点压缩。所有其他内容都遵循这些顶点压缩设置。 | |
Optimize Mesh Data | 启用此选项可从网格中删除应用于网格的材质不需要的所有数据(例如切线、法线、颜色和 UV)。 |
选择在特定上下文中允许的日志记录类型。
选中运行脚本时 (ScriptOnly)、始终 (Full) 或从不 (None) 条件下对应于每个 Log Type(__Error、Assert、Warning、Log__ 和 __Exception__)的复选框。
启用 Clamp BlendShapes (Deprecated) 选项可在 SkinnedMeshRenderers 中钳制混合形状权重的范围。
2018–11–28 页面已修订
在 Unity 2019.1 中添加了输入系统预览
在 Unity 2019.3 将 GPU Skinning 重命名为 Compute Skinning
在 Unity 2019.3 将 GPU Skinning 重命名为 Compute SkinningNewIn20193
在 Unity 2019.3 中已弃用 OpenGLES2/3
在 Unity 2020.1 中已删除 OpenGLES2/3