前言
吐吐槽,公司负责Unity IOS平台这块的大佬为了理想抛弃了我们。顺带着把ios的重担交付到我手上。人总是要成长的虽然不舍但活还是要继续干下去。本文记录一下Unity中iOS 手机平台的Player 所有设置。 内容比较基础和简单,帮助别人也帮助初入门径的自己。只要搞Unity的这里的知识你早晚都能用上。强调一下我是搞安卓的(手动捂脸)
文章目录(IOS)
演示所用版本为 Unity 19.4.2f1 mac版本
Icon:展示手机上游戏图标。
- Resolution and Presentation:屏幕分辨率(例如游戏是否应默认为全屏模式)的设置。
Splash Image:游戏启动时显示的图像(可以理解为游戏闪屏)。
Debugging and crash reporting:可以收集有关应用程序性能数据还有调试和崩溃报告
Other Settings:平台特有的有关设置(对应的平台不同,展示的内容略有差异)。
XR Settings:用于虚拟现实、增强现实和混合现实应用的设置。(不搞VR啥的你也用不着就不说了目录占个坑)
进入正题
Company Name : 公司的名称。
Product Name : 游戏名称。
Version :应用程序的版本号。
Default Icon :选择要用作每个平台上应用程序的默认图标的 Texture 2D 文件
Default Cursor :选择要用作每个支持平台上应用程序的默认光标的 Texture 2D 文件。
Cursor Hotspot : 设置从默认光标左上角到光标热点位置的偏移值(以像素为单位)。光标热点是光标图像内部由 Unity 用于根据光标位置触发事件的点。
Icon
application icons :应用程序的主图标
Spotlight icons :应用程序隐藏聚焦搜索的图标
Settings icons :设备的主设置页面图标
Notification icons :向应用程序发送的通知的图标
Marketing icons :上传App Store所用图标
注:设置的图标都是 2D 纹理类型的资源(简单点说就是.png文件)。如果缺少图标纹理,Unity 将以最接近的大小来缩放图标纹理,并优先使用较大的纹理。常规下开发icon这部分只需要设置Default Cursor即可,其它项不用做处理。
Resolution and Presentation
- Resolution Scaling :Resolution Scaling Mode 可以将缩放设置为等于或低于屏幕原始分辨率
Disabled :禁止分辨率缩放
FixedDPI : 选择此项值时,将显示 Target DPI 属性。使用 Target DPI 属性可设置游戏屏幕的目标 DPI。如果设备的屏幕原始 DPI 高于此值,则 Unity 会降低游戏画面分辨率以匹配此设置。这有助于优化性能和电池续航时间。还可以用于定位特定的 DPI 设置。
-
Orientation :选择游戏的屏幕方向。默认设置是 Auto Rotation。如果选择此设置,则屏幕将按照设备方向旋转。
Portrait 底部
Portrait Upside Down 顶部
Landscape Left 右侧
Landscape Right 左侧
Auto Rotation 屏幕方向随设备方向而变化。此为默认值。
Multitasking Support : 如果应用程序需要在全屏模式下运行,需要勾选 Requires Fullscreen 选项
-
Status Bar :来指定与 iOS 状态栏相关的参数。
Status Bar Hidden :此选项可在应用程序启动时隐藏状态栏。
Status Bar Style :应用程序启动时状态栏的样式。提供的选项为 Default 和 Light。(默认选项为Default)
Disable Depth and Stencil:此选项可禁用深度和模板缓冲区。(此设置对 Android 和 iOS 均适用)
Render Over Native UI : 此选项可强制应用程序在原生 iOS 或 Android UI 之上渲染。(此设置对 Android 和 iOS 均适用)
Show Loading Indicator : 选择如何显示加载指示符。
Splash Image
关于闪屏的属性和设置之前博文有说过,点击超链接即可查看:Unity 设置安卓和ios平台的闪屏页
Debugging and crash reporting
- Enable Internal Profiler (Deprecated) :性能分析器 (Profiler) 可收集应用程序的性能数据并将报告输出至控制台。报告包含每个 Unity 子系统在每帧上执行时所用的毫秒数,并在 30 帧范围内取平均值。
-
On .Net UnhandledException: .NET 未处理的异常时 Unity 采取的操作。
选择Crash:应用程序崩溃并生成崩溃报告,用户可将该报告提交到 iTunes 并由开发人员用于对崩溃问题进行故障排除
选择Silent Exit:应用程序退出且不报错,也不生成崩溃报告。
Log Obj-C Uncaught Exceptions : 启用此操作后,Unity 会将 Objective-C 未捕获异常信息输出至控制台。
Enable Crash Report API :自定义崩溃报告。可以使用脚本通过 CrashReport API 来访问崩溃日志。 |
Other Settings
关于Other Settings部分重要属性之前博文有说过,点击即可查看:Unity 导出Xcode 项目的结构
-
Rendering :可自定义 Unity 针对 iOS 平台渲染应用程序的方式
Color Space :选择 Unity 用于渲染的颜色空间:Gamma 或 Linear
Auto Graphics API :禁用此选项可手动选择和重新排序图形 API。此选项在默认情况下为启用状态,并包 含 Metal。还可以添加 OpenGLES2和 OpenGLES3作为不支持 Metal 的设备的后备选项;但是,这两个选项均已弃用,不应再使用。
3.Color Gamut:可以为 iOS 平台添加或删除色域以用于渲染。
4.Metal Editor Support:此选项可在 Unity Editor 中使用 Metal API,并释放更快速的着色器迭代以定位 Metal API。
5.Metal API Validation:如果需要调试着色器问题,请启用此选项。仅当选中 Metal Editor Support 复选框时,才会显示此选项。注意:验证会提高 CPU 使用率,因此仅在进行调试时使用。
6.Metal Write-Only Backbuffer:允许在非默认设备方向上提高性能。此属性会在后缓冲区上设置 frameBufferOnly 标志,因此会阻止从后缓冲区的回读,但可实现一定程度的驱动程序优化。
7.Force hard shadows on Metal:此选项可强制 Unity 在 Metal 中对阴影使用点采样。这样会降低阴影质量,但可以提高性能。
8.Memoryless Depth:选择使用无记忆渲染纹理。
Unused :从不使用无记忆帧缓冲区深度。
Forced 始终使用无记忆帧缓冲区深度。
Automatic 让 Unity 决定何时使用无记忆帧缓冲区深度。
9.Multithreaded Rendering:此选项可使用多线程渲染。
10.Static Batching:此选项可使用静态批处理。
11.Dynamic Batching :此选项可使用动态批处理(默认情况下会启用此选项)
12.Compute Skinning:此选项可使用 Metal GPU 计算蒙皮,这样可以释放 CPU 资源。
13.Graphics Jobs (Experimental):此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。这可以减少主线程上 Camera.Render 所花费的时间。
14.Lightmap Encoding:选择 Low Quality、Normal Quality 或 High Quality 来设置贴图编码。此设置影响贴图的编码方案和压缩格式。
15.Lightmap Streaming Enabled:此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前摄像机。此值适用于生成的光照贴图纹理。
16.Streaming Priority :仅当启用光照贴图串流 (Lightmap Streaming) 时,才会显示此选项。设置光照贴图 Mipmap 串流优先级以解决资源冲突。Unity 将这些生成的值应用于光照贴图纹理。
17.Enable Frame Timing Stats :此选项可收集 CPU/GPU 帧时序统计信息。
-
Identification :应用程序的标识信息。
Bundle Identifier :构建的应用程序的资源调配配置文件。标识符的基本结构是 com.CompanyName.ProductName。此结构可能会根据你居住的国家/地区而有所不同,因此始终默认为 Apple 为你的开发者帐户提供的字符串。你的 ProductName 已在你的资源调配证书中设置。(此值关联info.plist 文件中显示为 CFBundleIdentifier)
Version:版本号,此值关联 info.plist 文件中显示为CFBundleShortVersionString
Build:应用程序版本的构建版本号。
Signing Team ID:输入你的 Apple Developer Team ID。你可以在 Apple 开发者网站上的 Xcode Help下找到此信息。
Automatically Sign:此选项可指示 Xcode 自动为你的构建版本签名。
- Configuration : ios相关配置
-
A: API 配置设置
Scripting Backend :脚本后端确定 Unity 如何在项目中编译和执行 C# 代码。对于 iOS,此设置默认为 IL2CPP,并且无法更改。
API Compatibility Level: API 兼容性级别,你可以决定在项目中使用哪些 .NET API。此设置可能会影响与第三方库的兼容性。(建议使用4.x)
C++ Compiler Configuration :在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。对于 iOS,此设置默认为 Release,并且无法更改。
Use incremental GC:使用增量式垃圾回收器,这种垃圾回收器将垃圾收集工作分布在多个帧上,因此可以在帧持续时间中减少与垃圾收集相关的峰值
-
B:Apple 特殊配置信息
Camera Usage Description:输入在 iOS 设备上访问摄像头的原因(常规用不上或者空着)
Location Usage Description:输入访问 iOS 设备位置的原因。(常规用不上或者空着)
Microphone Usage Description:输入在 iOS 设备上访问麦克风的原因。(常规用不上或者空着)
Use on Demand Resource:可按需选择。启用后,将显示 Variant map for app slicing 部分功能。
Accelerometer Frequency:定义加速度计采样的频率。此频率可以设置为 15Hz、30Hz、60Hz 和 100Hz。或者,选择 Disbaled 以忽略加速度计。
Mute Other Audio Sources:如果希望你的应用程序从后台运行的其他应用程序中停止音频,请启用此选项。否则,后台音频会继续与你的应用程序一起播放。
Prepare iOS for Recording:此选项可初始化麦克风录音 API。这会降低录音延迟,但也会通过耳机重新传送 iPhone 音频输出。
Force iOS Speakers when Recording:此选项可通过内置扬声器发送手机的音频输出,即使插入耳机和录音也是一样。
Requires Persistent WiFi:选项可要求 Wi-Fi 连接。iOS 在应用程序运行时保持有效的 Wi-Fi 连接。
Allow downloads over HTTP (nonsecure):此选项可允许通过 HTTP 下载内容。默认且推荐使用的文件传输协议为 HTTPS,这种协议更加安全。
Supported URL schemes: 支持的 URL 方案列表。
-
C:Apple设备信息
Disable HW Statistics:此选项可指示应用程序不要将有关硬件的信息发送到 Unity。
Target Device :应用程序的目标设备。选项包括 iPhone Only、iPad Only 和 iPhone + iPad。
Target SDK :应用程序所针对的 SDK。选项包括 Device SDK 和 Simulator SDK。(注意:请务必选择正确的 SDK。例如,如果在 Unity 中选择 Device SDK 并在 Xcode 中以 Simulator 为目标,那么构建将失败)
Target minimum iOS Version:应用程序所需要的最低 iOS 版本(建议用默认的10.0即可)
Enable ProMotion Support:此选项可在 ProMotion 显示屏上允许高频刷新率 (120 Hz)。这可能会导致你的应用程序消耗更多的电池电量。
Requires ARKit support:此选项可在应用程序发布到 App Store 时将目标设备限制为 iPhone 6s/iOS 11 或更新款的设备。
Automatically add capabilities:选择此选项后,Unity 会生成一个 entitlements.plist 文件,并为应用程序所实现的 iOS API(例如 Game Center 或 Notifications)添加功能。
Defer system gestures on edges:选择一个或多个边缘,用户必须轻扫两次相应的边缘才能作为系统手势。选项包括 Top Edge、Left Edge、Bottom Edge 和 Right Edge
Target minimum iOS Version:应用程序所需要的最低 iOS 版本(建议用默认的10.0即可)
Hide home button on iPhone X:此选项可在应用程序运行时隐藏 iPhone X 设备上的主屏幕按钮。(这个属性很有用尤其针对iPhone X)
Render Extra Frame on Pause:此选项可在应用程序暂停时逐一发出其他帧。这允许你的应用程序显示图形,用于指示应用程序进入后台时的暂停状态。
Enable Custom Background Behaviors:选择当用户按下主屏幕按钮以将应用程序送入后台时允许该应用程序执行的操作。
- D:Variant map for app slicing (展开 此项可查看脚本中配置的变体名称列表)
-
E:其他配置设置
-
Architecture :选择目标架构。
1.Universal支持所有架构:这是建议的选项。
2.Armv7:仅支持较旧的 32 位 ARM 架构。
3.Arm64:仅支持较新的 64 位 ARM 架构。如果你的应用程序仅适用于高端设备,则可能需要考虑选择此选项。(苹果商店审核只需要勾选arm64就可以)
Scripting Define Symbols:设置自定义编译标志。
Allow ‘unsafe’ Code:允许在预定义的程序集(例如,
Assembly-CSharp.dll
)中编译不安全”的 C# 代码-
Active Input Handling:希望如何处理来自用户的输入
1.Input Manager (Old) :使用传统的 输入设置。2.Input System (New) :使用新的输入系统
- Both :同时使用两个系统
-
- F:Optimization 优化设置
Prebake Collision Meshes:用此选项可在构建时将碰撞数据添加到网格。
Keep Loaded Shaders Alive :设置一个资源数组,供播放器在启动时加载。
要添加新资源,需要增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。
AOT compilation options :预编译附加选项(这有助于优化构建的 iOS 播放器的大小)
Strip Engine Code :如果希望 Unity Linker 工具删除你的项目不使用的 Unity 引擎功能的代码,请启用此选项。此设置仅适用于 IL2CPP 脚本后端。
Managed Stripping Level :选择 Unity 剥离未使用的托管 (C#) 代码时的激进程度。当 Unity 构建应用程序时,Unity Linker 进程可以从项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的可执行文件显著减小,但有时可能会意外删除正在使用的代码。此设置允许你选择 Unity 删除未使用代码时应采取的激进程度。可用选项为:Disabled、Low、Medium 和 High。
-
Script Call Optimization :选择如何在运行时选择性地禁用异常处理以提高速度
1.Slow and Safe:使用完整的异常处理(使用 Mono 脚本后端时会对设备的性能有一些影响)。
2.Fast but no Exceptions :不为设备上的异常提供数据(使用 Mono 脚本后端时应用程序运行速度更快)。
Vertex Compression :设置每个通道的顶点压缩。例如,可以为除位置和光照贴图 UV 之外的所有内容启用压缩。导入对象的全局网格压缩设置将覆盖这些设置。
Optimize Mesh Data:此选项可从网格中删除应用于网格的材质不需要的所有数据(例如切线、法线、颜色和 UV)。
- Stack Trace: 选择在特定上下文中允许的日志记录类型。选中运行脚本时 (ScriptOnly)、始终 (Full) 或从不 (None) 条件下对应于每个 Log Type(Error、Assert、Warning、Log 和 Exception)的复选框。
结语
写博文不易,希望大家多多支持,如有不对大家多多指正。写出来就是记录、学习和成长的过程。