Default is Fullscreen
将窗口设置为显示器的全屏原始分辨率。Unity 以脚本设置的分辨率(或在构建的应用程序启动时由用户选择)渲染应用程序内容,但是将其缩放以填充窗口。缩放时,Unity 会在渲染输出中添加黑条以匹配
Player
设置中选择的宽高比,这样就不会拉伸内容。这个过程称为
边框化 (letterboxing)
。
Run In background
启用此选项可在应用程序失去焦点时让游戏继续运行(而不是暂停)。
Transparent Swapchain
在交换链上将 AlphaMode 设置为
DXGI_ALPHA_MODE_PREMULTIPLIED
。
此设置仅用于使用 XAML 构建类型的 UWP 项目。启用此设置后,可以使用应用程序中的其他 XAML 内容创建 Unity 内容。有关更多信息,请参阅
PlayerSettings.WSA.transparentSwapchain
。
仅当
Default Orientation
设置为
Auto Rotation
时才会显示此部分。
由于
Auto Rotation
会更改屏幕方向以匹配设备,您可能希望限制允许的屏幕方向(例如,将设备锁定为横向)。
通过选中本部分中的复选框,启用要允许的每个方向:
使用
Virtual Reality Splash Image
属性可选择要在
虚拟现实
显示中显示的自定义启动画面。
在通用 Splash Screen 设置下方,还有一些其他部分:
Windows
Windows Holographic
Overwrite background color
混合现实头盔需要从其环境中构建
世界锁定坐标系
,从而允许全息图保持原位。当头盔失去其在世界中的位置跟踪(无法定位自身)时,就会发生跟踪丢失。这将导致空间系统(空间映射、空间锚点、空间阶段)的破坏。
发生这种情况时,Unity 会停止渲染全息图、暂停游戏并显示通知。您可以自定义显示的通知,方法是启用
On Tracking Loss Pause and Show Image
属性,然后使用
Tracking Loss Image
属性选择要显示的图像。
想了解更多相关信息,请参阅
Unity 的推荐设置 (Recommended settings for Unity)
。
Overwrite background color
通用 Splash Screen 设置允许在没有设置背景图像的情况下设置
背景颜色
,这适用于所有平台。
通用 Windows 平台播放器的 Overwrite background color 启动画面设置
要覆盖通用 Windows 平台的此项设置,可以启用
Overwrite background color
属性,然后使用
Background color
设置选择不同的颜色。
Other Settings
此部分可以自定义一系列选项,这些选项分为以下几组:
Rendering
Configuration
Optimization
Logging
Legacy
Graphics Jobs (Experimental)
启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。此功能旨在减少主线程上
Camera.Render
所花费的时间,该时间通常成为瓶颈。
注意:
此功能是实验性的。此功能可能无法为项目带来性能提升,并可能引入新的崩溃。
Lightmap Streaming Enabled
启用此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前游戏摄像机。此值适用于生成的光照贴图纹理。
注意:
要使用此设置,必须启用
Texture Streaming Quality
设置。
Streaming Priority
设置光照贴图 Mipmap 串流优先级以解决资源冲突。这些值应用于生成的光照贴图纹理。
正数提供更高的优先级。有效值范围为 –128 到 127。
API Compatibility Level
API 兼容性级别有两个选项:
.NET 4.0
或
.NET Standard 2.0
。
提示:
如果您遇到第三方程序集的问题,可以尝试下文的
API Compatibility Level
部分中的建议。
C++ Compiler Configuration
选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。
注意:
对于通用 Windows 平台,将禁用此属性。
Accelerometer Frequency
定义加速度计采样的频率。如果选择
Disabled_,则不会进行采样。否则,可以选择
15Hz
、
30Hz
、60Hz
和
100Hz
频率。
Disable HW Statistics
启用此选项可指示应用程序不要将有关硬件的信息发送到 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)
选项而没有安装该包,除了一些额外的处理之外,不会执行任何其他操作。
并排使用两个系统。
Preloaded Assets
设置一个资源数组,供播放器在启动时加载。
要添加新资源,请增大
Size
属性的值,然后在出现的新
Element
框中设置对要加载的资源的引用。
Strip Engine Code
启用代码剥离。此设置仅适用于
IL2CPP
脚本后端
。
大多数游戏都不会使用所有必需的 DLL。启用
Strip Engine Code
选项后,可以剥离掉未使用的部分以减小 iOS 设备上构建的播放器的大小。如果您的游戏使用的类通常会被您当前选择的选项删除,那么在进行构建时,将看到一条调试消息。
Managed Stripping Level
选择 Unity 剥离未使用的托管 (C#) 代码时的激进程度。
Normal
删除无法访问的托管代码以减少构建大小和 .NET/IL2CPP 构建时间。
Aggressive
以比正常情况更激进的模式运行 UnityLinker,因此将进一步减少代码大小甚至比 Normal 选项可以实现的效果更强。然而,这种进一步的缩减可能伴随着取舍。有关更多信息,请参阅
ManagedStrippingLevel
。
Vertex Compression
设置每个通道的顶点压缩。例如,可以为除位置和光照贴图 UV 之外的所有内容启用压缩。为每个导入对象设置的整个网格压缩将覆盖在对象上设置顶点压缩。所有其他内容都遵循这些顶点压缩设置。
Optimize Mesh Data
启用此选项可从网格中删除应用于网格的材质不需要的所有数据(例如切线、法线、颜色和 UV)。
Unity 首次创建 Visual Studio 解决方案时,会将这些设置存储在
Package.appxmanifest
文件中。
注意:
如果在现有项目之上构建项目,Unity 将不会覆盖
Package.appxmanifest
文件(如果已存在)。这意味着,如果您更改任何
Player
设置,则需要检查
Package.appxmanifest
。如果要重新生成 _Package.appxmanifest_,请将其删除并从 Unity 重新构建项目。
有关更多信息,请参阅 Microsoft 的
应用程序包清单
文档。
Player Settings 中
支持的方向 (Supported orientations)
也会填充到清单(Visual Studio 解决方案中的
Package.appxmanifest
文件)。在通用 Windows 应用程序上,Unity 会将方向重置为您在
Player
设置中使用的方向,无论在清单中指定了什么设置均是如此。这是因为 Windows 本身将忽略桌面平台和平板电脑上的这些设置。
提示:
始终可使用 Unity Scripting API 来更改支持的方向。
Packaging
通用 Windows 平台的 Packaging 发布设置
Streaming Install
启用此选项可创建包含场景的可串流资源的
AppxContentGroupMap.xml
清单文件。要默认包含场景资源,请使用
Last required scene index
设置。场景索引高于
Last required scene index
设定值的场景中的资源在清单文件中指定为可串流。
注意:
此设置仅适用于
IL2CPP
脚本后端
。
Last required scene index
在
Build Settings 窗口
中的
Scenes In Build
列表中输入索引号,该索引号对应于列表中必须存在于游戏构建版本中的最后一个场景。要让应用程序启动,Unity 要求任何场景索引等于或小于指定的索引。如果需要列表中的所有文件,请使用列表中最后一个场景的索引。
场景索引更大的场景必须包含索引较小的场景的共享资源。Build Settings 对话框中的场景顺序对于让应用程序找到所需资源来说非常重要。
注意:
默认情况下禁用
Streaming Install
选项,这意味着此设置不可用。要使此属性变为可编辑,请首先启用
Streaming Install
选项。
如果
脚本后端
使用
IL2CPP
,那么您的 Microsoft UWP 应用程序将支持
Streaming Install
选项。
如果启用 Streaming Install 选项,Unity 将生成一个包含可串流资源的
AppxContentGroupMap.xml
文件。要默认在 AppxContentGroupMap.xml 文件中包含场景资源,请使用 Last required scene index 设置,该设置使用 Build Settings 对话框中的场景索引。在生成的清单文件中,场景索引高于 Last required scene index 值的场景中的资源将被指定为可串流。要让应用程序启动,Unity 要求任何场景索引等于或小于指定的索引。
场景索引更大的场景必须包含索引较小的场景的共享资源。Build Settings 对话框中的场景顺序对于让应用程序找到所需资源来说非常重要。
Application UI
Unity 将这些选项直接复制到
Package.appxmanifest
文件。
通用 Windows 平台窗口中的 Application UI 部分
在
Player Settings 设置顶部
设置的
Dispay name
值将显示在此部分中。这是应用程序的全名。
在
Description
文本框中输入要在 Windows 应用商店的应用程序磁贴上显示的文本。默认为
Package display name
的值。
File and Protocol Associations
File Type Associations
、
File Types
和
Protocol
部分下的设置允许您将 Windows 应用商店应用程序设置为特定文件类型或 URI 方案的默认处理程序。
File Type Associations 部分
在
File Type Associations
部分下,在
Name
文本框中输入一组文件类型的名称(仅限小写)。这些文件共享相同的显示名称、徽标、信息提示和编辑标志。选择可在应用程序更新中保持不变的组名称。
如果要将其设置为文件关联,请执行以下操作:
单击
Add New
按钮。
File Types
列表中将显示一个空条目。可添加多个文件类型。
在特定文件类型的
Content Type
文本框中输入 MIME 内容类型。例如,
image/jpeg
。
在
File Type
文本框中输入要注册的文件类型,前面加一个句点(例如,
.jpeg
)。
如果要将其设置为与 URI 方案的关联,请在
Name
文本框中输入协议。
有关更多信息,请参阅
使用文件和 URI 关联 (XAML) 自动启动 (Auto-launching with file and URI associations (XAML))
Compilation
通用 Windows 平台的 Compilation Overrides 设置
Unity 在编译脚本文件时使用 Mono,而您可以使用 .NET 4.x 中的 API。要在 C# 文件中使用适用于通用 Windows 平台的 .NET(也称为 .NET Core),请从
Compilation Overrides
设置中选择下列其中一个值:
Use .Net Core
使用 Microsoft 编译器和 .NET Core 来编译 C# 文件。您可以使用 Windows 运行时 API,但无法通过 JS 语言访问在 C# 文件中实现的类。
注意:
使用来自 Windows 运行时的 API 时,建议使用 ENABLE_WINMD_SUPPORT 定义来包装代码,因为该 API 仅在构建到通用 Windows 平台时可用,在 Unity Editor 中不可用。
Use .Net Core Partially
使用 Microsoft 编译器和 .NET Core 来编译 Plugins、Standard Assets 和 Pro Standard Assets 文件夹之外的任何 C# 文件。对于所有其他 C# 文件,使用 Mono 编译器。优点是可通过 JS 语言访问 C# 中实现的类。
注意:
无法在 Unity Editor 中测试 .NET Core API,因为它无法访问 .NET Core,所以您只能在运行通用 Windows 应用程序时测试该 API。
# if ENABLE_WINMD_SUPPORT
return Windows.Storage.ApplicationData.Current.TemporaryFolder.Path;
# else
return "LocalFolder";
# endif
PrivateNetworkClientServer
通过防火墙提供对家庭和工作网络的入站和出站访问。此功能通常用于通过局域网 (LAN) 进行通信的游戏,以及用于跨各种本地设备共享数据的应用程序。
RemovableStorage
访问可移动存储设备(如 U 盘和外部硬盘驱动器)上的文件。
SharedUserCertificates
允许应用程序在共享用户存储中添加和访问基于软件和硬件的证书,例如存储在智能卡上的证书。此功能通常用于需要智能卡进行身份验证的财务或企业应用程序。
VideosLibrary
访问用户的视频,允许应用程序枚举和访问库中的所有文件,无需用户交互。此功能通常用于那些使用整个视频库的影片播放应用程序。
WebCam
访问内置摄像头或外部网络摄像头的视频输入,这将允许该应用程序拍摄照片和视频。
注意:
这仅授予对视频流的访问权限。要同时授予对音频流的访问权限,必须添加
Microphone
功能。
Proximity
使近距离的多个设备能够相互通信。此功能通常用于多人休闲游戏和信息交换类型的应用程序中。设备会尝试使用提供最佳连接的通信技术,包括蓝牙、Wi-Fi 和 Internet。
Microphone
访问麦克风的音频输入源,这将允许应用程序通过连接的麦克风来录音。
Location
访问从专用硬件(如 PC 中的 GPS 传感器)或从可用的网络信息中获取的位置功能。
HumanInterfaceDevice
允许访问人机接口设备 API。有关详细信息,请参阅
如何为 HID 指定设备功能 (How to specify device capabilities for HID)
。
AllJoyn
允许网络上支持 AllJoyn 的应用程序和设备发现彼此并进行交互。
BlockedChatMessages
允许应用程序读取已被垃圾邮件过滤器应用程序阻止的短信和彩信。
允许应用程序读写所有短信和彩信。
CodeGeneration
允许应用程序访问下列函数,从而为应用程序提供 JIT 能力:
VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
Objects3D
允许应用程序以编程方式访问 3D 对象文件。此功能通常用于需要访问整个 3D 对象库的 3D 应用程序和游戏。
PhoneCall
允许应用访问设备上的所有电话线路并执行以下功能。
在电话线路上拨打电话并显示系统拨号程序,而不提示用户。
访问与线路相关的元数据。
与线路相关的触发器。
允许用户选择的垃圾邮件过滤器应用程序设置和检查黑名单和呼叫方信息。
UserAccountInformation
访问用户的姓名和图片。
VoipCall
允许应用程序访问
Windows.ApplicationModel.Calls
命名空间中的 VOIP 呼叫 API。
Bluetooth
允许应用程序通过通用属性 (GATT) 或经典基本速率 (RFCOMM) 协议与已配对的蓝牙设备进行通信。
SpatialPerception
提供对空间映射数据的编程访问,为混合现实应用程序提供有关用户附近空间区域(由应用程序指定)中某些表面的信息。仅当您的应用程序将明确使用这些表面网格时才声明 spatialPerception 功能,因为要让混合现实应用程序基于用户头部姿势执行全息渲染,这一功能并非是必需的。
InputInjectionBrokered
允许应用程序以编程方式将各种形式的输入(如 HID、触摸、笔、键盘或鼠标)注入系统。此功能通常用于可以控制系统的协作应用程序。
Appointments
访问用户的日程存储。此功能允许读取从同步网络帐户获取的日程,还允许读取向日程存储写入内容的其他应用程序。借助此功能,您的应用程序可以创建新日历并将日程写入其创建的日历。
BackgroundMediaPlayback
更改媒体专用 API(如
MediaPlayer
和
AudioGraph
类)的行为,从而在您的应用程序处于后台时启用媒体播放。所有活动的音频流将不再静音,但在应用程序切换为后台时将继续发出声音。此外,在播放过程中,应用程序生命周期将自动延长。
Contacts
访问来自各个联系人存储中的联系人聚合视图。此功能使应用程序能够有限制地访问(适用网络许可规则)从各种网络和本地联系人存储中同步的联系人。
LowLevelDevices
允许应用程序在满足许多其他要求时访问自定义设备。
OfflineMapsManagement
允许应用程序访问离线地图。
PhoneCallHistoryPublic
允许应用程序在设备上读取手机和某些 VOIP 通话记录信息。此功能还允许应用程序写入 VOIP 通话记录条目。
PointOfService
允许访问
Windows.Devices.PointOfService
命名空间中的 API。此命名空间允许您的应用访问服务点 (POS) 条形码扫描器和磁条读取器。此命名空间提供了不依赖供应商的接口,可通过 UWP 应用程序访问来自不同制造商的 POS 设备。
RecordedCallsFolder
允许应用程序访问通话录音文件夹。
RemoteSystem
允许应用程序访问与用户的 Microsoft 帐户关联的设备列表。必须访问设备列表才能执行跨设备的任何操作。
SystemManagement
允许应用程序拥有基本的系统管理权限,例如关闭或重新启动、区域设置和时区。
UserDataTasks
允许应用程序访问任务设置的当前状态。
UserNotificationListener
允许应用程序访问通知设置的当前状态。
有关更多信息,请访问
应用程序功能声明 (App capability declarations)
Unity 将这些选项直接复制到
Package.appxmanifest
文件。
注意:
如果在先前的包之上构建游戏,不会覆盖
Package.appxmanifest
。
Supported Device Families
设备系列可识别一类设备上的 API、系统特征和行为。还能确定可以从应用商店安装应用程序的设备集合。请参阅 Microsoft 的
设备系列概述 (Device families overview)
以了解更多信息。
通用 Windows 平台的 Capabilities 设置
Windows IoT Extension SDK API contracts for UWP
。
注意:
目前,面向 IoT 或 IoTHeadless 的应用程序在应用商店中无效,应当仅用于开发目的。
IoTHeadless
与 IoT 类似,但没有任何 UI。
注意:
目前,面向 IoT 或 IoTHeadless 的应用程序在应用商店中无效,应当仅用于开发目的。
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
时这是必需的。
WSA Holographic Remoting Supported
启用此选项可使用 WSA Holographic Remoting。要使用此功能,必须添加 Windows Mixed Reality SDK。