Android Player settings
player settings用于完成项目最后的打包工作。
1. Icon:
就是软件的图标,找一个2D图片即可。
2. Resolution and Presentation:
游戏切到全屏时候的一些设置。
2.1 start in fullscreen mode
在第一个见面加载时隐藏下方导航栏。
2.2 render outside safe area
使用所有屏幕空间进行渲染,包括显示缺口,例如刘海屏的处理。
2.3 optimized frame pacing
这个setting使得unity能够均匀分配帧,使游戏更加流畅。
2.4 resolution scaling
控制缩放比例,可以小于屏幕分辨率。
调小分辨率时,展示目标DPI(可以理解为分辨率)性质。这个功能目的是为了延长电池续航时间。
游戏只能渲染为原始分辨率。
为了匹配设备的本机DPI,unity需要减小屏幕分辨率。这个减小因子factor是由quality 设置里的Resolution Scaling Fixed DPI Factor 控制。
最终图像的渲染是否使用blit?blit指的是bit block transfer,就是将数据在内存中从一个block传给另一个block的过程。分类:
我的理解是全局渲染,屏幕外的东西也会被渲染好。这种设置设备兼容性强,但是运行速度慢。
只渲染到帧缓冲区。速度快,兼容性差。
如果不能渲染到帧缓冲区,就得切换到屏幕外渲染。
2.5 supported aspect ratio
直译的话就是长宽比。选项有三个:legacy,native,custom。选择custom的时候会出现Up To这项。也就是说,custom中最大的屏幕宽度由Up To决定。
2.6 orientation
选择default orientation会弹出一系列选项,用于确定home button的位置。
2.7 allowed orientations for auto rotation
允许屏幕自动旋转以此匹配设备:纵向方向;纵向上/下方向;背景左/右方向对齐(home button位置在右/左)。
2.8 other
use 32-bit display buffer:
建立一个缓冲区,保存32位颜色值。
disable depth and stencil:
禁用深度和模板缓冲。
stencil buffers:
内存存储区,每个像素值包含8位。 在Unity中,可以使用模板缓冲区标记像素,然后仅渲染为通过模板操作的像素。
render over native UI:
在原生UI之上渲染。camera的clear flag需要设置为纯色且alpha值 < 1。
show loading indicator:
选项有don’t show,large,inversed large,small,inversed small。
3. Splash Image:
游戏加载中的图片呈现。
4. Other settings:
针对平台的特殊设置。
4.1 rendering
color space:
渲染的color space有两种:gamma和linear。在手册中简单总结一下就是人眼比较适应的颜色变换是非线性的。
auto graphics API:APP上线APP store的相关事情,在此按下不表。
color gamut:选择合适的渲染色域,在显示器上进行测试。
multithreaded rendering:提高主线程上CPU的使用情况。
static batching:把静态的物体划分成大网格,快速渲染。
dynamic batching:对于较小的网格,一次性渲染所有相似的顶点。
GPU skinning:使用显卡计算蒙皮以解放CPU
graphics jobs:将渲染循环放到其他CPU线程上,主程上渲染摄像机很花时间惹。
lightmap encoding:光照贴图的方式。这个lightmap的意思是指场景光线的预计算,然后存储结果并在随后应用。
lightmap streaming enabled:要渲染当前的游戏摄影机,Unity会在生成纹理时将该值应用于光照贴图纹理。
streaming priority:在资源冲突时定义光照贴图的优先级。
protect graphics memory:选中此框可强制仅通过硬件保护的路径显示图形缓冲区。
enable frame timing stats:收集有关帧占用CPU和GPU的时间的统计信息。
4.2 vulkan settings
启用此功能可能会降低性能,尤其是对于平铺的GPU。
4.3 identification
这里面选项很多,但大多没什么需要注意的。注意一下bundle version code。手册解释是内部版本号,用来确定哪个是最新版。
4.4 configuration
脚本后端,说明unity是以哪种方式编译C#脚本的。
Mono:编译为 .NET Common Intermediate Language (CIL) ,使用公共语言执行。
IL2CPP:将C#代码编译成CIL,将CIL转换成C ++,然后将该C ++编译成本机代码,直接在运行中执行。
4.5 optimization
优化属于后期内容,按下不表。
4.6 logging
日志允许记录的类型。
4.7 legacy
控制混合形状权重范围:
5. Publishing settings:
打包APP过程中的细节问题。
5.1 keystore
可以用现成的or自己建一个
5.2 key
从alias下拉菜单中选择key,之后输入密码。
5.3 build
5.4 minify
打包成APKorOBB文件。
6. XR Settings:
针对AR、VR、MR(mixed reality混合现实)应用的设置。需要用到的比较少,按下不表。