如今手机已经成为人们生活中不可或缺的一部分,而游戏也成为了人们生活中的重要娱乐方式。为了让更多的人能够方便地玩到自己喜欢的游戏,搭建一款手机游戏已成为许多游戏开发者的首要任务。而在制作一款手机游戏时,屏幕设置是非常重要的一个环节。本文将为大家详细讲解怎么设置手机屏幕打包 UnityPlayerSetting-Android,以帮助大家在手机游戏开发中更好地处理屏幕设置。
UnityPlayerSetting-Android 打包设置教程
Start in fullscreen mode
以全屏模式启动
在启用的情况下,在第一次启动时隐藏导航栏(拦窗),如果未设置,则在第一次启动时或者加载第一个场景时出现导航栏(拦窗)。
Render Outside Safe Area
安全区域外渲染
如果启用将利用所有可用的屏幕空间,将渲染布局扩展到显示切口区域。
Preserve framebuffer alpha
保留帧缓冲区
如果想让Unity在原生Android UI上渲染,可以启用这个选项,相机必须将清除标志设置为Alpha小于1的纯色才能生效(仅限OpenGL ES )。
Resolution Scaling
Resolution Scaling Mode
分辨率缩放模式
FixedDPI
固定DPI
允许您将设备的屏幕分辨率缩放到其原始分辨率以下,并显示Target DPI属性。使用此功能可优化性能和电池寿命,或目标特定的DPI设置。
Target DPI(当“ 分辨率缩放模式”设置为“ 固定DPI ”时,此选项才会出现)
目标DPI,设置游戏的分辨率,如果设备的本机屏幕DPI高于此值,则Unity则会自动将游戏屏幕DPI缩小以匹配此设置。
比例计算为公式为:min(Target DPI * Factor / Screen DPI, 1)。该因子由“ 质量”窗口上的“ 分辨率缩放固定比例DPI因子 ” 控制(Edit->Quality->Resolution Scaling Fixed DPI Factor)。
Disabled
确保不应用缩放,并且游戏呈现其原始屏幕分辨率。
Blit Type
位块传输类型
Always
总是使用
使Unity渲染到屏幕外缓冲区,然后复制到系统帧缓冲区。这与大多数设备兼容,这与大多数设备兼容,但通常比从不使用慢。
Never
从不使用
使Unity渲染到操作系统提供的帧缓冲区。如果在应用程序运行期间出现某种情况导致失败,则应用程序将向设备日志打印一次性警告。从不使用通常比总是使用快,但它不能与所有设备兼容。
Auto
自动
如果可能,将使用Unity渲染到操作系统提供的帧缓冲区。如果满足阻止您的应用程序渲染到系统帧缓冲区的条件,则该应用程序将切换到屏幕外渲染,并向设备控制台发出警告。
Supported Aspect Ratio
Aspect Ratio Mode
设备的宽高比模式
Legacy Wide Screen (1.86)
传统宽屏(1.86)。
Native Aspect Ratio
本机宽高比(原始宽高比)。
Custom
自定义宽高比,当选择Custom的时候出现Up To。
Up To
最大屏幕宽高比。
Orientation
Default Orientation(此设置Android和IOS通用)
默认方向
Portrait
设备为纵向,垂直于手。Home键在下方,日常看手机的方向
Portrait Upside Down
设备为纵向,垂直于手。Home键在上方,日常看手机的反方向
Landscape Left
设备为横向,垂直于手。Home键在左方
Landscape Right
设备为横向,垂直于手。Home键在右方
Auto Rotation
自动旋转
Allowed Orientations for Auto Rotation
允许自动旋转的方向(只有在选择自动旋转的情况下可选择)
Portrait
是否允许纵向
Portrait Upside Down
是否允许纵向倒置
Landscape Right
是否允许右横向
Landscape Left
是否允许左横向
Use 32-bit Display Buffer
使用32位显示缓冲区
在启用的情况下,可创建一个显示缓冲区以容纳32位颜色值(默认为16位)。如果看到纹理或在后处理效果中需要alpha,请使用它,因为它们会创建渲染纹理。
与显示缓冲区的格式相同。
Disable Depth and Stencil
禁用深度和模具
在启用的情况下,禁用深度和模板缓冲区。
Show Loading Indicator
显示加载指示符
选择加载指示符的显示方式。可选择: Don’t Show,Large,Inversed Large,Small, Small。
Splash Image
Virtual Reality Splash Image
虚拟现实启动画面
Splash screen(PC和Android是一样的设置)
Show Splash screen
个人版无法选择关闭启动(默认开启,Pro或者Plus版本可以选择关闭)。
Preview
预览设置的开机动画效果
Splash Style
Dark on Light
背景颜色偏灰色,在显示Unity Logo的情况下,Unity Logo颜色为黑色。
Light on Dark
背景颜色偏给黑色,在显示Unity Logo的情况下,Unity Logo颜色为白色。
Animation
Static
没有动画, Logo和背景静止显示
Doll
背景和 Logo做放大动画。
Custom
自定义动画
logo zoom
Logo 放大程度。
background zoom
背景放大程度。
Logos(PC和Android是一样的设置)*
Show Unity logo
是否显示Unity的Logo(个人版不可以选择,Pro,Plus版本可以进行选择)
Draw Mode
Unity Logo Below
Unity Logo显示在自己设置Logo的下方,每次同时显示两个Logo(一个Unity的Logo,一个自己设置的)。如果没有设置自己的Logo Unity Logo还是会在中间位置显示。
Unity
All Sequential
每个Logo按顺序显示在屏幕中间。
Logos
Logo Duration
Logo显示时长(以秒为单位)。
Background(PC和Android是一样的设置)
Overlay Opacity
覆盖不透明度
设置背景的覆盖的透明度 ,1为完全不透明 0完全透明。
Background Color
背景的颜色
在没有设置背景图片的情况下可以设置。
Background Image
背景图片
在设置了背景图片的情况下,不能设置背景颜色
Alternate Portrait Image*
设置备用纵向图片(竖屏设备)。如果没有指定Alternate Portrait Image Sprite,将自动使用使用背景图进行纵向和横向模式。
Static Splash Image(仅Android有)
Image
安卓启动时候的图片(静态的)。
Scaing
Center(only scale down)
居中(仅缩小)
Scale to fit(letter-boxed)
自适应缩放(宽高比不变)
Scale to fill(cropped)
自适应填充(裁剪)
——————————————————————————————————————
OtherSettings
Rendering
ColorSpace
Gamma:伽马色彩空间
Linear:线性色彩空间
Auto Graphics API
是否自动选择 OpenGL API
在启用的情况下,Unity会首先尝试使用GLES3.2。如果设备不支持GLES3.2,则Unity会退回到GLES3.1,GLES3或GLES2。
在不启用的情况下,可以自行选择API,共三个选项:OpenGLES3,OpenGLES2和Vukan。
Multithreaded Rendering
多线程渲染
在启用的情况下,渲染API调用从Unity主线程移动到单独的工作线程,可以帮助提高主线程CUP使用频率较高的应用程序性能。
Static Batching
静态批处理
在启用的情况下,在项目构建过程中使用静态批处理。
Dynamic Batching
动态批处理
在启用的情况下,在项目构建过程中使用动态批处理。
GPU Skinning
GPU蒙皮
在启用的情况下,GPU在即将在CUP中进行的蒙皮工作转移到GUP中进行
说明:此操作只支持VR应用,仅在项目中选择支持虚拟现实时才起作用
Graphics Jobs (Experimental)
图形作业(实验)
在启用此选项的情况下,可指示Unity将图形任务(渲染循环)卸载到在其他CPU内核上运行的工作线程。这减少了在主线程上使用Camera.Render的时间,这通常是一个瓶颈。
注意:此功能是实验性的。它可能无法为项目带来性能上的改进,并且可能会导致不稳定。
当前仅在使用Vulkan时支持图形作业,而在使用OpenGL ES 时此设置无效。
Lightmap Streaming Enabled
启用光照贴图流
在启用的情况下,可仅在需要时加载光照贴图mipmap。要渲染当前的游戏摄影机,Unity会在生成纹理时将该值应用于光照贴图纹理。
注意:要使用此值,请启用Texture Streaming Quality setting(纹理流质量设置)。
Streaming Priority
流的优先级
定义光照贴图资源争用时,mip map流优先级。有效范围是-127到128,其中正数表示较高的优先级。仅当选中“启用光照贴图流” 时,此设置才可用。要使用此值,请启用“ 纹理流质量”设置。
Protect Graphics Memory
保护图形内存
在启用的情况下,会强制通过硬件保护的通道显示图形缓冲区。仅在支持它的设备上工作。
Enable Frame Timing Stats
启用帧定时统计
在启用时,收集有关帧占用CPU和GPU的时间的统计信息。
Vulkan Settings
SRGB Write Mode*
SRGB写入模式
在启用的情况下,允许Vulkan渲染器上的Graphics.SetSRGBWrite()切换sRGB写入模式。
注意:启用此功能可能会降低性能,特别是对于平铺的GPU。
Identification
Package Name
包的名称
设置应用程序ID,该ID是在设备上或者应用商店上的唯一标识,基本格式为:com.CompanyName.AppName,可以随意设置。
说明:此项设置在Android和IOS之间共享。
Version
版本号
该版本号用于标识捆绑软件的迭代(已发行或未发行),例如:8.2.3
说明:此项设置在Android和IOS之间共享。
Bundle Version Code
内部版本号
此项设置可以用来确定一个版本是否比另一个版本新,此项版本号不展示给用户,该数字由VersionName设置。
说明:该设置必须为整数。
Minimum API Level
最低API(Android Sdk)等级
运行该应用程序时所需要的最低Android SDK版本。
Target API Level
目标API(Android Sdk)等级
编译应用程序时所针对的Android SDK版本。
Configuration
Scripting Runtime Version
脚本运行时版本
.NET 3.5 Equivalent (Deprecated)
不建议使用
实现.NET 3.5 API的.NET运行时。此功能已被弃用,不应再使用。请使用.NET 4。
.NET 4.x Equivalent
实现.NET 4 API的.NET运行时。该API比.NET 3.5更新,因此,它可以访问更多API,与更多外部库兼容,并且支持C#6。这是默认的脚本运行时。
Scripting Backend
脚本后端(脚本编译模式)
Mono
将C#代码编译为.NET公共中间语言(CIL),并使用公共语言运行时执行该CIL。
IL2CPP
将C#代码编译为CIL,将CIL转换为C ++,然后将该C ++编译为本机代码,该代码直接在运行时执行。
API Compatibility Level
.NET API兼容等级
选择在项目中使用的.NET API。
注意:此设置可能会影响与第三方库的兼容性。
.Net 2.0
.Net2.0库,最大的.net兼容性,最大的文件大小(使用.net2.0库的所有AP)。已弃用的.NET 3.5运行时的一部分。
.Net 2.0 Subset
完全与.Net兼容性的子集,文件更小(使用部分.net2.0库的API)。已弃用的.NET 3.5运行时的一部分。
.Net Standard 2.0
与.NET Standard 2.0兼容。生成较小的版本,并具有完整的跨平台支持。
.Net 4.x
与.NET Framework 4(包括.NET Standard 2.0配置文件中的所有内容以及其他API)兼容。当使用访问.NET Standard 2.0中未包含的API的库时,请选择此选项。生成更大的版本,并不一定在所有平台上都支持任何可用的其他API。
C++ Compiler Configuration
C ++编译器配置
选择在编译IL2CPP生成的代码时使用的C ++编译器配置。
说明:只有在脚本后端选择IL2CPP才可以进行选择。
Mute Other Audio Sources
静音其他音频源
在启用的情况下,将会停止其他的应用程序在后台使用音频,如果没有启用,其他应用程序则可以在后台使用音频。
Disable HW Statistics
禁用硬件统计
在启用的情况下,用程序会将匿名硬件统计信息发送到Unity,反之,则不发送。
Target Architectures
目标结构
选择应用程序运行的CPU类型,可以选择32-bit ARM, 64-bit ARM, 32-bit Intel。
注意:在64位环境中运行Android应用具有性能优势,并且64位应用可以处理4GB以上的内存空间。
Split APKs by target architecture (Experimental)
按目标架构拆分apk(实验)
在启用的情况下,可为“目标架构”中每个CPU体系的系统结构创建一个单独的apk,使包体的下载大小变小。(主要应用于Google Play商店,其他的商店可能不支持)。
Install Location
安装位置
apk在设配上的安装位置。
Automatic
让系统自动选择安装位置(这样的话用户能够来回移动应用程序)。
Prefer External
如果用户有外部存储,那么优先安装在外部存储中(可能会安装失败),如果没有外部存储,那么会安装在内部存储中。
Force Internal
将应用程序安装在内部存储中(用户不能将应用程序移动到外部存储)。
Internet Access
联网设置
是否始终在AndroidManifest.xml中添加请求联网权限。
Auto
仅在使用网络API时添加联网访问权限。
Require
始终添加互联网访问权限。
Write Permission
写入权限
Internal
仅授予对内部存储的写入权限。
External(SDCard)
启用对外部存储的写入权限。并会在AndroidManifest.xml文件中添加相应请求权限代码。
Filter Touches When Obscured
遮挡滤镜
启用此选项可在另一个可见窗口覆盖Unity应用程序时放弃接收到的触摸。这是为了防止窃听。
Sustained Performance Mode
持续性能模式
在启用的情况下,可在更长的时间内设置可预测且一致的设备性能水平,而不会产生热调节。启用此设置后,整体性能可能会降低。基于Android Sustained Performance API。
Maximum Java Heap Size
最大Java堆大小
将最大Java堆大小设置为要构建的用户(以兆字节为单位)。默认为4096。
Low Accuracy Location
应该是关于GPS和安卓之间的一些设置。(暂时不知道具体是干什么用的)。
Android TV Compatibility
Android TV兼容性
是否兼容Andorid TV。
Android Game
Android游戏(仅对Android TV起作用)
在启用的情况下,将apk标记为游戏而不是常规应用程序。
Android Gamepad Support Level
Android Gamepad支持级别(仅对Android TV起作用)
选择对游戏手柄提供的级别支持,可选择使用D-Pad,支持游戏手柄和需要游戏手柄。
Scripting Define Symbols
自定义宏命令
Allow ‘unsafe’ Code
允许使用“不安全”代码
在启用的情况下,会支持对预定义程序集中编译不安全的C#代码。
Active Input Handling
主动输入管理
Input Manager
输入控制器
使用传统的Input Manager
Input System (Preview)
输入系统(预览)
使用需要安装InputSystem包,如果未安装选择了此选项,除了会进行一些额外处理外,对别的没有任何影响。
Both
同时使用两个输入系统。
Optimization
Prebake Collision Meshes
预烘焙碰撞网格
在启用的情况,在项目构建的时候,将碰撞数据传输到网格。
Keep Loaded Shaders Alive
保持着色器活跃
在启用的情况下,可以防止着色器被卸载。
Preloaded Assets
预加载资源
设置资源数组,以供项目在启动的时候预加载。
Strip Engine Code (IL2CPP only)
脱机引擎代码(仅IL2CPP可用)
在启用的情况下,指定Unity Linker工具是否删除项目未使用的Unity Engine功能的代码。
Managed Stripping Level
托管剥离等级
定义Unity如何积极剥离未使用的托管(C#)代码。Unity Linker进程可以从项目中使用的托管动态链接库中剥离未使用的代码。剥离代码可以使生成的可执行文件显着减小,但有时会错误地删除实际使用的代码。
Enable Internal profiler (Deprecated)
启用内部分析器(以弃用)
在启用的情况下,在项目调试时,可以使用adb logcat获取分析器数据(仅在Development Build开启的情况下可用)。
Vertex Compression
顶点压缩
可以为除了 lightmap UV和位置外的所有内容启用压缩。
整个网格,每个导入对象的压缩设置,将覆盖在对象上设置顶点压缩的位置,其他的一切都将遵循这些压缩顶点设置。
Optimize Mesh Data
优化网格数据
在启用的情况下,会从网格中删除应用到物体上的不需要的数据(如:UV,法线,切线)。
Logging
设置日志类型
Legacy
Clamp BlendShapes (Deprecated)
限制混合形状(不建议使用)
在启用的情况下,在SkinnedMeshRenderers中限制住混合形状权重的范围。
——————————————————————————————————————
Publishing Settings
发布设置
可以自定义构建Android应用
Keystore
Use Existing Keystore Create New Keystore
使用一个已经存在的秘钥库 创建一个新的秘钥库
Browse Keystore Browses to select key store name
浏览秘钥库 浏览以选择密钥库存储库名称
从系统文件中将已经创建好的秘钥库导入进来
Keystore password
秘钥库密码
Confirm password
确认密码
此操作只在创建新的秘钥库文件的时候使用。
Key
Alias
选择秘钥。
Password
上面选择的秘钥密码。
Build
Custom Gradle Template
自定义Gradle模板
在启用的情况下,可以更改Gradle构建文件,自定义打包Gradle过程。
文件位置:Assets/Plugins/Android/mainTemplate.gradle。
User Proguard File
用户混淆文件
在启用的情况下,可以使用混淆文件来缩小和优化应用程序。
文件位置:Assets/Plugins/Android/proguard-user.txt。
Minify
**Release **
**Debug **
指定是否要使用Proguard或者Gradle (Experimental) 来缩小,或者选择不启用(),从Release(发布) 或者 Debug(调试) 的下拉菜单中来进行选择
Split Application Binary
把应用程序二进制
启用此选项会把打包出来的包拆分为两个包,一个主包(apk)和一个扩展包(OBB)。
Use Legacy SDK tools
使用旧版SDK工具
注意:启用此选项可能会增加构建时间。
——————————————————————————————————————
XR Settings
关于虚拟现实的设置。
略。
——————————————————————————————————————
细节决定成败,正确的设置才能让Unity开发的手机游戏效果更好。掌握UnityPlayerSetting-Android 打包设置教程,可以让你更轻松地配置手机屏幕、加速模式、多语言等方面,提升游戏体验,赢得用户口碑。