Company Name 公司名称
Product Name 产品名称,当游戏运行时,这个名字将出现在菜单栏
Default Icon 默认图标,将应用于每一个平台的默认图标,发布出来的项目图标(特定平台需要以后还可以覆盖这个)。
Default Cursor 鼠标箭头(手机版一般不做)
Cursor Hotspot 光标的设置(一般不做设置)
ios
Resolution And Presentation 分辨率和描述
1、Orientation
(1)Default Orientation 默认方向
- Portrait home按钮显示在底部。
- Portrait Upside Down home按钮显示在顶部。
- Landscape Right home按钮显示在右侧。
- Landscape Left home按钮显示在左侧。
- Auto Rotation 屏幕方向随设备方向而变化。 这是默认值。
(2)Use Animated Autorotatio 使用动画自动调整(仅Auto Rotation)
2、Allowed Orientations for Auto Rotation 允许的自动旋转方向(仅Auto Rotation)
- Portrait 允许纵向方向。
- Portrait Upside Down 允许纵向颠倒方向。
- Landscape Right 允许横向右方向(home按钮位于左侧)。
- Landscape Left 允许横向左方向(home按钮位于右侧)。
3、Multitasking Support(Requires Fullscreen 是否多任务支持iOS平台的播放器设置)
4、Status Bar 状态栏
(1)Status Bar Hidden 隐藏状态栏,当应用启动时,指定状态条是否最初隐藏。
(2)Status Bar Style 状态栏样式,当应用启动时,指定状态条的样式。
- Default 默认
- Black Translucent 黑色半透明
- Black Opaque 黑色不透明
(3)Disable Depth and Stencil 启用此选项可禁用深度和模板缓冲区
(4)Show Loading Indicator 选择加载指示器应如何显示
- Don’t Show 不显示
- White Large 白色大
- White 白色
- Gray 灰色.
Icon 图标
(1)Override for iOS 如果想为你的iPhone/iPad游戏只定义个图标,请选择。对应不同大小的图标填入方框中。
(2)Prerendered icon 如果不勾选,iOS应用光泽和斜角效果到应用程序的图标。
Splash Image 启动图像
Virtual Reality Splash Image 只用于开启了VR支持的情况,在加载第一个场景时出现,图像的尺寸没有什么特别的要求
1、Splash Screen
- Show Splash Screen 是刚加载初始化时使用,如果是Pro版,可以自己指定。如果不是,则使用Unity的默认splash图。
- Spash Style指设置Splash的样式,包括Dark on light 和light on dark
- Animation是指Splash出现时的动画效果
2、Logos
- 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,
3、Background:是Splash阶段的背景
- Overlay Opacity 指背景叠加的透明
- Background Color 背景颜色
- Background Image 是指背景图片,尺寸会充满全屏
- Alternate Protrait Image 用于portrait 竖屏模式下的背景,如果不设置都使用BackgroundImage
4、Launch Screens 是iOS8.0以后新增加的一个使用XIB文件动态生成Launch image的功能。
- Default 使用默认的设置,和Launch images 类似,会在xcode根目录生成一个LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图
- None 不生成Launch Screen图,只有Launch Images图
- Image and background (relative size) 指的是相对于屏幕尺寸的一个相对比例显示,会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图
- Image and background (constant size) 指的是不随屏幕大小比例而变化,而是使用图像本身的实际大小显示,
也是会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图 - Custom XIB 是指可以自定义xib文件,描述图片的显示方式
5、Legacy Launch Images
- Mobile Splash Screen 指定应该用于iOS启动画面的纹理。 标准的Splash Screen尺寸为320x480。(这是在Android和iOS之间共享的。)
- iPhone 3.5"/Retina 指定应该用于iOS 3.5“Retina Splash Screen的纹理。启动画面大小为640x960。
- iPhone 4"/Retina 指定应该用于iOS 4“Retina Splash Screen的纹理。初始屏幕尺寸为640x1136。
- iPhone 4.7"/Retina 指定应用于iOS 4.7“Retina Splash Screen的纹理。启动画面大小为750x1334。
- iPhone 5.5"/Retina 指定应用于iOS 5.5“Retina Splash Screen的纹理。启动屏幕尺寸为1242x2208。
- iPhone 5.5" Landscape/Retina 指定应该用于iOS 5.5“Landscape / Retina Splash Screen”的纹理。启动画面大小为2208x1242。
- iPad Portrait 指定应用作iPad纵向方向启动画面的纹理。 标准飞溅屏幕尺寸为768x1024。
- iPad Landscape 指定应该用作iPad横向方向启动画面的纹理。 标准飞溅屏幕尺寸为1024x768。
- iPad Portrait/Retina 指定应用作iPad Retina纵向方向启动画面的纹理。 标准飞溅屏幕尺寸为1536x2048。
- iPad Landscape/Retina 指定应用作iPad Retina Landscape orientation Splash Screen的纹理。 标准飞溅屏幕尺寸为2048x1536。
Debugging and Crash Reporting
1、Debugging
Enable Internal Profiler:开启一个内部的Profiler,将收集到的性能信息打印到控制台,这个功能已经不建议使用了
2、Crash Reporting
(1)On .Net Unhandled Exception:
- Crash 应用程序几乎没有崩溃,迫使iOS生成可由应用程序用户提交给iTunes并由开发人员检查的崩溃报告
- Silent Exit 应用程序正常退出
(2)Log Obj-C uncaught Exceptions:些值到应的是Xcode工程中CrashReport.h中的
(3)Enable Crash Report API: 通过CrashReport API 捕捉 Crash
这几种Debug和Crash报告的方法可以灵活运用,更好的帮助定位bug.
Other Settings
1、Rendering
(1)Color Space:是指选择颜色空间,分为Gamma空间和Linear线性空间,这个会单独拿出文章来讲
- Gamma Gamma校正被使用在8位RGB图中。用来解决在有限的存储空间中保存尽可能多的人类感受敏感的色彩内容。直接使用存储的值参与渲染计算,因此你会得到不符合真实表现的效果。
- Linear 除非对指定图片选择了ByPass sRGB(忽略sRGB,你理解为忽略Gamma校正),否则所有的图片都会默认变成sRGB格式。这样做的目的是把你在Gamma颜色空间里创作的图片里面的颜色给校正到正确的32位颜色,再参与GPU渲染计算。
(2)Auto Graphics APIs:选择使用哪个图形API,可以选择Metal,GLES2和GLES3,ios下默认是Metal
(3)Force hard shadows on Metal:指在Metal下强制使用硬阴影
(4)static Batching:指在build阶段使用静态合批
(5)Dynamic batching:指在build阶段使用动态合批
(6)GPU Skinning:将允许符合条件平台使用GPU Skinning,平台包括Dx11或GLES3
(7)Graphics Jobs (Experimental):启用后可将Jobs从主线程迁移到工作线程从而获得极大的渲染性能提升,注意这个还是在实验性的,慎用
(8)Virtual Reality Supported:开启之后,可以自行添加VR的SDK如GVRSDK,当Build时会在Xcode中加入pod项目,添加VR相关的SDK
2、Identification
(1)Bundle Identifier:指在Apple账号平台设置的provisioning certificate的bundle 名称
(2)Version:对应的是XCode中plist的CFBundleShortVersionString,指发布版本号,提交审核时需要的
(3)Build:对应的是CFBundleVersion,指当前发布版本的内部build版本,这个值每次重新提审都要递增修改,否则会提交失败
(4)Automatically Sign:是否使用自动签名,如果选择此项,需要填写Team ID,TeamID也是苹果开发者账号后台设置的,会自动生成provisioning profile
3、Configuration
(1)Scripting Backend:指build后脚本生成的方式分Mono和IL2CPP,(只能选择IL2CPP)由于苹果现在要求提交的app需要支持64位,所以这里只能选择IL2CPP生成C++的代码,编译成支持64位的代码,而Mono不能支持64位,审核时会被苹果拒绝
(2)Api Compatibility Level:指C#API兼容级别,分.Net2.0全集和.Net 2.0 SubSet,尽量选择.Net 2.0 SubSet可以减小包大小
(3)Target Device:指发布的目标平台,(一般选择iphone+iPad )分iphone,ipad和iphone+iPad
(4)Target SDK:指使用哪个版本的XcodeSDK,分Device SDK和 Simulator SDK,选择Device SDK则只能在设备上打包测试,而选择Simulator SDK则可以直接在XCode模拟器运行,具体看测试的需要
(5)Target minimum iOS Version:指支持的最小的iOS版本,现在最高版本已经是ios11了,所以设置成最小值是8.0即可
(6)Use on demand resources:这个是IOS9.0以后支持的一项资源分包功能,类似AssetBundle,可以分成几个文件,这样减少用户下载的等待时间,剩下部分再慢慢下载,勾选这个后最小版本会自动变成9.0
(7)Accelerometer Frequency:设置检测加速度传感器的频率,默认即可情况下,一个UnityiOS应用程序加速器每秒进行60次采样,可以通过降低采样频率的加速度看到一些性能上的好处,甚至可以在游戏不使用加速器输入,将它设置为Disabled
(8)Camera Usage Description;Location Usage Description;Microphone Usage Description
这三个选项分别指,询问用户是否允许App使用相机,位置和麦克风的权限,如果需要访问,这里要添上描述,用于询问时的描述
(9)Mute Other Audio Sources:是否当app进入后台后继续播放音频
(10)Prepare iOS for Recording:当勾选时microphone recoding api会被初始化,使录音有较低的延迟
(11)Requires Persistent WiFi:app是否需要Wi-Fi连接,当App运行时iOS会维护一个活动的Wi-Fi连接,对应info.plist的Application uses Wi-Fi key
(12)Allow downloads over HTTP (nonsecure):开启后允许通过HTTP下载内容,默认推荐是使用HTTPS
(13)Supported URL schemes:配置IOS的URL schemes
(14)Disable HW Statistics:是否禁用 Hard Ware 统计,默认Unity的 iOS app会发送匿名的Hard Ware 统计到Unity.禁用后可以禁止发送统计
(15)Behavior in Background:指app切到后台后的行为,可以选择挂起,退出,或自定义一些行为
(16)Architecure:选择支持的CPU架构,ARMv7或ARM64或两者全兼容(默认即可)
(17)Scripting Define Symbols:可以自定义编译选项,定义后可以在代码里用#号引用
4、Optimization
(1)Prebake Collision Meshes:是否在构建时将碰撞数据加到mesh里
(2)Keep Loaded Shaders Alive:保证已经加载的Shader不会被卸载
(3)Preloaded Assets:当app启动时被预先加载的资源数组
(4)AOT Compilation Options:附加的AOT编译器选项
(5)Strip Engine Code:如果被选中,unity会默认剥离在项目中不会使用的组件”,也就是说,假如你的项目中没有音频功能,unity会在封装的时候去掉这部分代码以减少大小,这个设置只在IL2CPP中有效)
(6)Script Call Optimization:分Slow and Safe和Fast But No Exceptions,除非是极致的优化性能,建议还是选择Slow and safe
(7)Vertex Compression:选择哪些Vertex channels被压缩,压缩可以节省内存和带宽,但会丢失一些精度,包括Position,Normal,Color,UV0,UV1,UV2,UV3,Tangent(切线空间)
(8)Optimize Mesh Data:从mesh中移除掉材质不需要的数据包括tangents(切线),normals(法线),colors,和UV
5、Logging:是指设置日志输出的类型