本页面将详细介绍独立平台(Mac OSX、Windows 和 Linux)特有的 Player 设置。有关常规 Player 设置的描述,请参阅 Player 设置。
您可以在以下部分找到这些属性的文档:
启用 Override for Standalone 设置可指定用于独立平台游戏的自定义图标。可以上传不同大小的图标来填充提供的每个方块。
使用 Resolution and Presentation 部分可在 Resolution 和 Standalone Player Options 部分中自定义屏幕的外观方面。
此部分可以自定义屏幕模式和默认大小。
属性 | 功能 | |
---|---|---|
Fullscreen Mode | 选择全屏模式。此设置定义了启动时的默认窗口模式。 | |
Fullscreen Window | 将应用程序窗口设置为显示器的全屏原始分辨率。Unity 以脚本设置的分辨率(或在构建的应用程序启动时由用户选择)渲染应用程序内容,但是将其缩放以填充窗口。缩放时,Unity 会在渲染输出中添加黑条以匹配 Player 设置中选择的宽高比,这样就不会拉伸内容。这个过程称为边框化 (letterboxing)。 | |
Exclusive Fullscreen (Windows only) | 设置应用程序以保持对显示器的单独全屏使用。与 Fullscreen Window 不同,此模式会更改显示器的操作系统分辨率来匹配应用程序选择的分辨率。此选项仅在 Windows 上受支持;在其他平台上,设置将回退到 Fullscreen Window。 | |
Maximized Window (Mac only) | 将应用程序窗口设置为操作系统的“最大化”定义。在 macOS 上,这意味着显示带有自动隐藏菜单栏和停靠栏的全屏窗口。此选项仅在 macOS 上受支持;在其他平台上,设置将回退到 Fullscreen Window。 | |
Windowed | 将应用程序设置为标准的非全屏可移动窗口,其大小取决于应用程序分辨率。在此模式中,默认情况下可以调整窗口大小。要禁用此功能,请禁用 Resizable Window 设置。 | |
Default Is Native Resolution | 启用此选项可使游戏使用目标机器上使用的默认分辨率。如果 Fullscreen Mode 设置为 Windowed_,此选项不可用。| |Default Screen Width ||设置游戏画面的默认宽度(以像素为单位)。仅在 Fullscreen Mode 设置为 Windowed_ 时,此选项才可用。 | |
Default Screen Height | 设置游戏画面的默认高度(以像素为单位)。仅在 Fullscreen Mode 设置为 Windowed 时,此选项才可用。 | |
Mac Retina Support | 启用此选项可在 Mac 上启用高 DPI (Retina) 屏幕支持。Unity 默认情况下启用此功能。此功能可增强 Retina 显示屏上的项目显示效果,但在激活状态下会有点耗费资源。 | |
Run In background | 启用此选项可在应用程序失去焦点时让游戏继续运行(而不是暂停)。 |
此部分可以自定义用户自定义屏幕的方式。例如,可以在此处设置启动对话框,让用户从您提供的宽高比列表中设置其屏幕分辨率。还可以决定用户是否可以调整屏幕大小以及可以同时运行多少个实例。
属性 | 功能 |
---|---|
Capture Single Screen | 启用此选项可确保全屏模式 (Fullscreen Mode) 下的独立平台游戏不会使多显示屏设置中的辅助显示屏变暗。Mac OS X 上不支持该功能。 |
Display Resolution Dialog | 请参阅自定义分辨率对话框以了解详细信息。 |
Use Player Log | 启用此选项可向日志文件写入调试信息。默认已启用。 警告:如果计划将应用程序提交到 Mac App Store,请禁用此选项。有关更多信息,请参阅发布到 Mac App Store。 |
Resizable Window | 启用此选项可允许用户调整独立平台播放器窗口的大小。 注意:如果禁用此选项,您的应用程序无法将 Fullscreen Mode 设置为 Windowed。 |
Visible in Background | 如果已将 Fullscreen Mode 设置为 _Windowed_,启用此选项可在背景中显示应用程序(在 Windows 中)。 |
Allow Fullscreen Switch | 启用此选项可允许通过默认操作系统全屏按键在全屏模式和窗口模式之间切换。 |
Force Single Instance | 启用此选项可将独立平台播放器限制为单个并发运行实例。 |
Supported Aspect Ratios | 启用希望游戏启动时出现在分辨率对话框中的每个宽高比(只要用户的显示屏支持这些宽高比设置)。 |
如果想让用户选择运行游戏的屏幕分辨率,您可以创建一个在游戏启动时出现的对话框窗口。
从 Display Resolution Dialog 下拉菜单中选择以下三个值之一:
值 | 描述 |
---|---|
Disabled | 启动时不显示对话框。 |
Enabled | 在启动时显示一个对话框,要求用户选择屏幕分辨率。 |
Hidden by Default | 在启动时仅当用户按住 Alt 键的情况下才显示一个对话框,要求用户选择屏幕分辨率。 |
此外,您还可以添加自定义横幅图像以在对话框窗口中显示。展开 Splash Image 部分,并在 Application Config Dialog Banner 属性中设置对要使用的图像的引用。最大图像大小为 432 x 163 像素。图像不会放大适应屏幕选择器:Unity 会自动将图像居中并裁剪。
在通用 Splash Screen 设置上方,Player Settings 设置允许您为独立平台指定启动画面。
属性 | 功能 |
---|---|
Application Config Dialog Banner | 选择要在分辨率启动对话框窗口中显示的自定义启动画面。有关更多信息,请参阅在启动时创建分辨率对话框。 |
Virtual Reality Splash Image | 选择要在虚拟现实显示中显示的自定义启动画面。 |
此部分可以自定义一系列选项,这些选项分为以下几组:
使用这些设置可自定义 Unity 针对独立平台渲染游戏的方式。
属性 | 功能 | |
---|---|---|
Color Space | 选择应该用于渲染的颜色空间,选项为:__Gamma__ 或 Linear。 请参阅线性渲染概述以了解这两者之间的区别。 |
|
Auto Graphics API for Windows | 启用此选项可在运行游戏的 Windows 计算机上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。 | |
Auto Graphics API for Mac | 启用此选项可在运行游戏的 Mac 上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。 | |
Auto Graphics API for Linux | 启用此选项可在运行游戏的 Linux 计算机上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。 | |
Color Gamut for Mac | 可以为独立 Mac 平台添加或删除色域以用于渲染。单击加号 (+) 图标查看可用色域的列表。色域定义了给定设备(如监视器或屏幕)可以使用的所有颜色范围。sRGB 色域是默认色域(也是必需色域)。 | |
Metal Editor Support | 启用此选项可在 Unity Editor 中使用 Metal API,并释放更快速的着色器迭代以定位 Metal API。 | |
Metal API Validation | 如果需要调试着色器问题,请启用此选项。 注意:验证会提高 CPU 使用率,因此仅在进行调试时使用。 |
|
Metal Write-Only Backbuffer | 允许在非默认设备方向上提高性能。此属性会在后缓冲区上设置 frameBufferOnly 标志,因此会阻止从后缓冲区的回读,但可实现一定程度的驱动程序优化。 | |
Memoryless Depth | 选择何时使用无记忆渲染纹理。无记忆渲染纹理在渲染时临时存储在区块内存中,而不是存储在 CPU 或 GPU 内存中。这可减少应用的内存使用量,但您无法读取或写入这些渲染纹理。 注意:只有 iOS、tvOS 10.0+ Metal 和 Vulkan 上支持无记忆渲染纹理。在其他平台上,渲染纹理受读/写保护并存储在 CPU 或 GPU 内存中。 |
|
Unused | 从不使用无记忆帧缓冲区深度。 | |
Forced | 始终使用无记忆帧缓冲区深度。 | |
Automatic | 让 Unity 决定何时使用无记忆帧缓冲区深度。 | |
Static Batching | 启用此选项可使用静态批处理。 | |
Dynamic Batching | 启用此选项可在构建中使用动态批处理(默认情况下启用)。 注意:当可编程渲染管线激活时,动态批处理无效,所以仅当 Scriptable Render Pipeline Asset Graphics 设置中未设置任何内容时,此设置才可见。 |
|
GPU Skinning | 启用此选项可启用 DX11/ES3 GPU 蒙皮。 | |
Graphics Jobs (Experimental) | 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。此功能旨在减少主线程上 Camera.Render 所花费的时间,该时间通常成为瓶颈。注意:此功能是实验性的。此功能可能无法为项目带来性能提升,并可能引入新的崩溃。 |
|
Lightmap Encoding | 选择 Normal Quality 或 High Quality 来设置光照贴图编码。此设置影响光照贴图的编码方案和压缩格式。 | |
Lightmap Streaming Enabled | 启用此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前游戏摄像机。此值适用于生成的光照贴图纹理。 注意:要使用此设置,必须启用 Texture Streaming Quality 设置。 |
|
Streaming Priority | 设置光照贴图 Mipmap 串流优先级以解决资源冲突。这些值应用于生成的光照贴图纹理。 正数提供更高的优先级。有效值范围为 –128 到 127。 |
启用 SRGB Write Mode 选项可允许 Vulkan 渲染器上的 Graphics.SetSRGBWrite() 在帧期间切换 sRGB 写模式。
注意:启用此功能可能会降低性能,尤其是基于区块的 GPU。
有关设置这些选项的详细信息,请参阅将应用程序提交到 Mac App Store。
Use Player Log 属性允许将调试信息写入日志文件。这对于调查游戏问题很有用。但是,在为 Apple 的 Mac App Store 发布游戏时,需要禁用此功能,因为如果启用此功能,Apple 可能会拒绝您提交。有关日志文件的更多信息,请参阅 Unity 手册日志文件页面。
Use Mac App Store Validation 属性可启用 Mac App Store 的收据验证。如果启用此属性,则只有当游戏包含来自 Mac App Store 的有效收据时才会运行。将游戏提交给 Apple 以便在 App Store 上发布时,应使用此功能。这样可以防止用户不在购买游戏的计算机上而在另一台计算机上运行游戏。
请注意,此功能不实现任何强大的复制保护。特别需要说明的是,针对一个 Unity 游戏的任何潜在破解都将对所有其他 Unity 内容有效。因此,建议使用 Unity 的插件功能在此基础上实现您自己的收据验证代码。但是,由于 Apple 要求在显示屏幕设置对话框之前的最初阶段进行插件验证,因此您仍应启用此属性,以免 Apple 拒绝您的提交。
设置 | 功能 | ||
---|---|---|---|
Scripting Runtime Version | 选择要在项目中使用的 .NET 实现。有关 .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 | 选择要使用的脚本后端。脚本后端确定 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_,否则此属性被禁用。| |Disable HW Statistics ||启用此选项可指示应用程序不要将有关硬件的信息发送到 Unity。默认情况下,Unity Android 应用程序向 Unity 发送匿名硬件统计信息。这提供了汇总信息,帮助开发人员做出决策。有关更多详细信息,请参阅 Unity 硬件统计信息 | |Scripting Define Symbols||设置自定义编译标志。有关更多详细信息,请参阅平台相关的编译。| |Allow ‘unsafe’ Code|| 允许在预定义的程序集(例如, Assembly-CSharp.dll )中编译“不安全”的 C# 代码。对于程序集定义文件 ( .asmdef ),请单击其中一个 .asmdef 文件,并在出现的 Inspector 窗口中启用该选项。 |
|Active Input Handling|| 选择您希望如何处理来自用户的输入。 |
||Input Manager| 使用传统的 Input 设置。 |
||Input System (Preview)| 使用最新的输入系统。输入系统正在开发中。要试用输入系统的早期预览版,请安装 InputSystem 包。如果选择 Input System (Preview) 选项而没有安装该包,除了一些额外的处理之外,不会执行任何其他操作。|
||Both_ |
并排使用两个系统。 |
可为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方案修复问题,请尝试以下解决方案:
Frameworks/Mono/lib/mono/YOURSUBSET/
下找到它们。属性 | 功能 | |
---|---|---|
Prebake Collision Meshes | 启用此选项可在构建时将碰撞数据添加到网格。 | |
Keep Loaded Shaders Alive | 启用此选项可防止卸载着色器。 | |
Preloaded Assets | 设置一个资源数组,供播放器在启动时加载。 要添加新资源,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。 |
|
Strip Engine Code__(仅限 IL2CPP)||指定 Unity Linker 工具是否删除项目不使用的 Unity 引擎功能的代码。|
|Managed Stripping Level||定义 Unity 剥离未使用的托管 (C#) 代码时的激进程度。 当 Unity 构建游戏或应用程序时,Unity Linker 进程可以从项目中使用的托管动态链接库中剥离未使用的代码。剥离代码可以使生成的可执行文件显著减小,但有时可能会错误地删除实际在使用的代码。此设置允许您选择 Unity 删除未使用代码时应采取的激进程度。| ||Disabled_(仅限 Mono)|不要剥离任何代码。(使用 IL2CPP 时会始终启用托管代码剥离。)| ||Normal|删除无法访问的托管代码以减少构建大小和 Mono/IL2CPP 构建时间。| ||Aggressive_(实验性功能)|比 Normal 选项更激进地删除代码。代码大小进一步降低,但这种额外降低可能会产生副作用。例如,某些方法可能在调试器中不再可见,并且可以剥离通过反射访问的代码。您可以创建自定义 link.xml 文件以保留特定的类和方法。有关更多信息,请参阅使用 IL2CPP 进行托管字节码剥离。| |Enable Internal profiler (Deprecated)||启用此选项可在测试项目时从 Android SDK 的 adblogcat 输出中获取设备中的性能分析器数据。此选项适用于开发版。| |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 中钳制混合形状权重的范围。
属性: | 功能: | |
---|---|---|
Virtual Reality Supported | 为 Unity Editor 和游戏版本启用本机 VR 支持。 | |
Virtual Reality SDKs | 在列表中添加和删除虚拟现实 SDK。此列表仅在启用 Virtual Reality Supported 时可用。 要将 SDK 添加到列表中,请单击加号 (+) 按钮。 要从列表中删除 SDK,请选择它,然后单击减号 (-) 按钮。 某些 SDK 提供了额外设置,这些设置显示在此处。有关详细信息,请参阅 XR SDK。 |
|
Stereo Rendering Mode | 选择要为虚拟现实设备渲染的方式。 | |
Multi Pass | 这是正常的渲染模式。Unity 渲染场景两次:首先渲染左眼图像;然后再次为右眼图像。 | |
Single Pass | 将两个眼睛图像同时渲染到一个打包的渲染纹理中。这意味着整个场景只渲染一次,这大大减少了 CPU 处理时间。 | |
Single Pass Instanced (Preview) | GPU 执行单个渲染通道,将每个绘制调用都替换为实例化绘制调用。由于两个绘制调用之间的缓存一致性,因此可大大降低 CPU 的使用,并略微减少 GPU 的使用。使用此模式可显著降低应用程序的功耗。 | |
Vuforia Augmented Reality Supported | 启用此选项可以使用 Vuforia 增强现实 SDK,使用 Vuforia Virtual Reality SDK 时这是必需的。 | |
360 Stereo Capture | 启用此选项可使用支持 360 度捕获的着色器变体。默认情况下会禁用此选项,并且 Unity 不会生成这些着色器变体。 |
可以单击 Vuforia Augmented Reality 链接来启用 Vuforia 软件开发包。必须拥有 Vuforia 软件许可证,并在启用 Vuforia Augmented Reality Supported 属性之前同意该许可证的条款。