Unity的IOS PlayerSettings的设置说明

unity版本2018.4.3f1

1、Icon

Application iconsMain icons for your app (也就是手机 主界面看到的图标)
Spotlight iconsSpotlight search results for your app (被搜索到时的图标)
Settings iconsDevice’s main Settings page (设置页面的图标)
Notification iconsNotifications sent from your app (在手机上方显示推送消息时的图标)
Marketing iconsApp Store (在苹果应用商店的图标)

其中@2x,@3x表示2倍图和3倍图,倍数说的是像素分辨率的倍数

例如20x20是@1x,那么@2x就是40x40

例如,iPad2 是768 x 1024,iPad Retina 是1536 x 2048,开发时都按 768 * 1024 操作。但实际上两者有一倍差异。为了达到最佳效果,使用的图片大小不一样。这时候就用同一个名称,但 Retina 的图加上 @2x 后缀。系统加载图片时,在 iPad2 上会加载 @1x 的图在 1536 * 2048 的设备上,会加载 @2x 的。@3x 现在用于 iPhone 6/6+ 上。

附带一提:iOS8渲染操作中使用前缀带有@1x、@2x 和@3x 的测试图像,代码会优先载入3x 图像。@2x图像不被加载。使用图像文件和XCAsset均不行

2、Resolution and presentation

这一项主要是对旋转方向,是否全屏,状态栏是否隐藏,是否显示一个等待圈等基本的设置,这个设置其实就是修改的 xcode中的info.plist文件,

Resolution Scaling:屏幕分辨率缩放模式

     disabled:不使用本机的分辨率,通常使用自己的设计分辨率

     Fixed targetDPI:固定的dpi,来显示游戏画面

Orientation:app的旋转方向

Requires Fullscreen:全屏运行

Status Bar:手机最上面的状态栏的设置

     Status bar Hidden :隐藏状态栏

     Status bar style : 状态栏的样式
Disable Depth and Stencil这个选项:
这个意思是说是否禁用深度缓存和模板缓存,这个选项默认是不禁用,如果shader中没用到深度和模板缓存,禁用这个选项可以减少GPU/CPU的一些工作量,节省一点点内存,或只是2D游戏,并且不包含模板遮罩,也可以禁用这个选项

Show Loading Indicator:是否展示等待转圈

3、splash image:游戏启动时候的闪屏设置

     Virtual Reality Splash Image:Vr的app的闪屏设置

     show Splash Screen:是否开启闪屏

     Animation:logo的动画方式

          show Unity logo:是否显示unity 的logo

          Logos:设置启动时的一系列logo

Virtual Reality Splash Image,只用于开启了VR支持的情况,在加载第一个场景时出现,图像的尺寸没有什么特别的要求
Splash Screen,是刚加载初始化时使用,如果是Pro版,可以自己指定。如果不是,则使用Unity的默认splash图。
Spash Style指设置Splash的样式,包括Dark on light 和light on dark
Animation是指Splash出现时的动画效果
Show Unity logo,是指在splash屏下是否出现unity的logo标志,Pro版可以不选
DrawMode指unityLogo出现的位置,Unity logo below指在splash出现的过程中Unity logo始终在下面出现,
All Sequential指,按顺序出现,如果勾选了Show Unity logo,Unity Logo会第一个出现。
Logos可以添加多个图片,还可以设置每个图片出现的时间,这个功能主要用于出现多个spash屏时,设置,图片的格式要求是sprite2d,
Background:是Splash阶段的背景,Overlay Opacity指背景叠加的透明度,BackgroundImage是指背景图片,尺寸会充满全屏,Alternate Protrait Image,用于portrait 竖屏模式下的背景,如果不设置都使用BackgroundImage
iPhone Launch Screen:
Launch Screen 是iOS8.0以后新增加的一个使用XIB文件动态生成Launch image的功能。
Launch screen type:是指Launch screen的类型,分为如下几类:
None:不生成Launch Screen图,只有Launch Images图
Default:使用默认的设置,和Launch images 类似,会在xcode根目录生成一个LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图
Image with background, relative size:指的是相对于屏幕尺寸的一个相对比例显示,会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图
Image with background, constant size:指的是不随屏幕大小比例而变化,而是使用图像本身的实际大小显示,
也是会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图
Custom Xib:是指可以自定义xib文件,描述图片的显示方式
Legacy Launch Images:是io7以前的设置方式,此种设置方式已经过期,IOS8以后可以用Launch Screen方法,这样可以减小资源数量,减小包大小。
这几种的显示顺序是:当游戏启动时,
先显示IOS层面的Launch Screen,
然后进入Splash屏阶段,此阶段会设置多个闪屏或开启unty Logo,设置Background背景融合

Debugging and Crash Reporting
Enable Internal Profiler:开启一个内部的Profiler,将收集到的性能信息打印到控制台,这个功能已经不建议使用了
On .Net UnhandledException:分为Crash和Silent Exit,分别指.net出现异常后生成Crash Reporter报告上报给苹果和出现异常时什么也不错,直接忽略
Log ObjC uncaught exceptions:些值到应的是Xcode工程中CrashReport.h中的ENABLE_OBJC_UNCAUGHT_EXCEPTION_HANDLER宏定义,如果此值是1,则开启对CrashReporter.mm中的InitObjCUEHandler方法的调用
static void InitObjCUEHandler()
{
// Crash reporter sets its own handler, so we have to save it and call it manually
gsCrashReporterUEHandler = NSGetUncaughtExceptionHandler();
NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
}
Enable Crash Report API: 通过CrashReport API 捕捉 Crash
这几种Debug和Crash报告的方法可以灵活运用,更好的帮助定位bug.

Other Settings

      渲染相关:
          Color Space:是指选择颜色空间,分为Gamma空间和Linear线性空间,这个会单独拿出文章来讲
          Auto Graphics APIs:选择使用哪个图形API,可以选择Metal,GLES2和GLES3,ios下默认是Metal

         Color Gamut:用于渲染的色域,最近iOS设备的宽色域显示时,使用DisplayP3充分利用显示功能

         Multithreaded Rendering:开启多线程渲染

         static batching:指在build阶段使用静态合批
         Dynamic batching:指在build阶段使用动态合批
         GPU Skinning:将允许符合条件平台使用GPU Skinning,平台包括Dx11或GLES3
         Graphics Jobs:启用后可将Jobs从主线程迁移到工作线程从而获得极大的渲染性能提升,注意这个还是在实验性的,慎用
         Virtual Reality Supported:开启之后,可以自行添加VR的SDK如GVRSDK,当Build时会在Xcode中加入pod项目,添加VR相关的SDK

        Lightmap Streaming Enabled:lightmap 使用开关

        Enable Frame Timing Stats:启用这个选项来收集CPU/GPU帧时间统计数据

        Bundle Identifier:指在Apple账号平台设置的provisioning certificate的bundle 名称
        Version:对应的是XCode中plist的CFBundleShortVersionString,指发布版本号,提交审核时需要的
        Build:对应的是CFBundleVersion,指当前发布版本的内部build版本,这个值每次重新提审都要递增修改,否则会提交失败
        Automatically Sign:是否使用自动签名,如果选择此项,需要填写Team ID,TeamID也是苹果开发者账号后台设置的,会自动生成provisioning profile

Scripting Runtime Version:指C#脚本的运行时版本,分.NET3.5和.NET4.6两个版本
Scripting Backend:指build后脚本生成的方式分Mono和IL2CPP,由于苹果现在要求提交的app需要支持64位,所以这里只能选择IL2CPP生成C++的代码,编译成支持64位的代码,而Mono不能支持64位,审核时会被苹果拒绝
Api Compatibility Level:指C#API兼容级别,分.Net2.0全集和.Net 2.0 SubSet,尽量选择SubSet,可以减小包大小,
Target Device:指发布的目标平台,分iphone,ipad和iphone+iPad
Target SDK:指使用哪个版本的XcodeSDK,分Device SDK和 Simulator SDK,选择Device SDK则只能在设备上打包测试,而选择Simulator SDK则可以直接在XCode模拟器运行,具体看测试的需要
Target minimum iOS Version:指支持的最小的iOS版本,现在最高版本已经是ios11了,所以设置成最小值是8.0即可


Use on demand resources:这个是IOS9.0以后支持的一项资源分包功能,类似AssetBundle,可以分成几个文件,这样减少用户下载的等待时间,剩下部分再慢慢下载,勾选这个后最小版本会自动变成9.0


Accelerometer Frequency:设置检测加速度传感器的频率,默认情况下,一个UnityiOS应用程序加速器每秒进行60次采样,可以通过降低采样频率的加速度看到一些性能上的好处,甚至可以在游戏不使用加速器输入,将它设置为Disabled
**Camera Usage Description:
Location Usage Description:
Microphone Usage Description:**
这三个选项分别指,询问用户是否允许App使用相机,位置和麦克风的权限,如果需要访问,这里要添上描述,用于询问时的描述
Mute Other Audio Sources:是否当app进入后台后继续播放音频
Prepare iOS for Recording:当勾选时microphone recoding api会被初始化,使录音有较低的延迟
**Requires Persistent WiFi:**app是否需要Wi-Fi连接,当App运行时iOS会维护一个活动的Wi-Fi连接,对应info.plist的Application uses Wi-Fi key
Allow downloads over HTTP (nonsecure):开启后允许通过HTTP下载内容,默认推荐是使用HTTPS
Supported URL schemes:配置IOS的URL schemes
Disable HW Statistics:是否禁用 Hard Ware 统计,默认Unity的 iOS app会发送匿名的Hard Ware 统计到Unity.禁用后可以禁止发送统计
**Defer system gestures on edges
Hide home button on iPhoneX:**
这两个选项主要是针对iPhoneX的功能设置的,由于iPhoneX取消了实体home键,所以会有一个指示边提供了类似Home键的功能,默认手势会先响应指示边,这会在游戏中造成不好的体验,比如误点,所以IOS11提供了延迟系统手势的选项,可以针对四个边的每个边进行设置,建议四个全设置成延迟。
也可以设置成隐藏homeButton,注意这两个不要同时设置,如果想实现延迟系统手势的效果,就不要设置隐藏home button了
Render Extra Frame on Pause:指当app 暂停时是否渲染额外的帧
Behavior in Background:指app切到后台后的行为,可以选择挂起,退出,或自定义一些行为
Architecure:选择支持的CPU架构,ARMv7或ARM64或两者全兼容
Scripting Define Symbols:可以自定义编译选项,定义后可以在代码里用#号引用
Active Input Handling:使用新的Input System还是Input Manager或是两者都用

Enable ProMotion Support:是否支持高频率

Requires ARKit support:是否需要arkit支持, arkit是个虚拟应用的组件

Automatically add capabilities:通过unity给xcode中的plist中添加一些设置

优化相关(Optimization):
Prebake Collision Meshes:是否在构建时将碰撞数据加到mesh里
Keep Loaded Shaders Alive:保证已经加载的Shader不会被卸载
Preloaded Assets:当app启动时被预先加载的资源数组
AOT Compilation Options:附加的AOT编译器选项
Strip Engine Code:如果被选中,unity会默认剥离在项目中不会使用的组件”,也就是说,假如你的项目中没有音频功能,unity会在封装的时候去掉这部分代码以减少大小,这个设置只在IL2CPP中有效)
Script Call Optimization:分Slow and Safe和Fast But No Exceptions,除非是极致的优化性能,建议还是选择Slow and safe
Vertex Compression:选择哪些Vertex channels被压缩,压缩可以节省内存和带宽,但会丢失一些精度,包括Position,Normal
Color,UV0,UV1,UV2,UV3,Tangent(切线空间)
Optimize Mesh Data:从mesh中移除掉材质不需要的数据包括tangents(切线),normals(法线),colors,和UV
Logging:是指设置日志输出的类型

Clamp BlendShapes:已经不推荐使用了

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值