基于Unity的Android开发(主要参数的设置)

在正式开始设置之前,应先将发布平台改为Android:

File-->Build Settings-->Platform下选中Android,点击右下角Switch Platform(若无该选项,是因为没有安装Android开发组件,应在Unity Hub中进行安装)

Build Settings

Texture Compression(纹理压缩格式):Android一般选择ETC2(老设备选ETC);

ETC2 fallback(ETC2失败备选):一般选择32-bit内存占用相对大;

Export Project:将项目导出而非发布为apk,可通过Android Studio打开进行二次开发;

Symlink Sources:勾选Export Project时可选,若导出项目后进行二次开发建议勾选,当在AS中修改脚本文件时,Unity端同步修改;

Create symbols.zip:调试应用程序时使用。Debugging可包含完整的调试信息;

Run Device:若连接了外部设备,可选择该设备并点击Build And Run直接安装到设备上;

Build to Device:若满足上述条件,更改项目后,直接点击Patch即可重新部署;

Development Build:开发模式,附加性能分析器到程序上;

Autoconnect Profiler:将Unity的分析器连接到应用程序上;

Deep Profiling:深度剖析应用程序的函数调用,返回详细数据;

Script Debugging:程序在运行时等待调试器的调试。Wait For Managed Debugger程序在运行代码前等待调试器连接;

Compression Method:Default为.zip格式,压缩效果好,解压速度慢;LZ4快速压缩格式,只解压需要的文件;LZ4HC压缩时间较慢,使用时比LZ4效果好;

Player Settings参数

Icon(各设备上使用的图标)

Adaptive(Android8.0及以上);

Round(Android7.1及以上);

Legacy icons(Android7.1以下);

Resolution and Presentation(演示和分辨率设置)

Fullscreen Mode:设置全屏或窗口模式;

Hide Navigation Bar:是否隐藏屏幕顶部导航栏;

Render outside safe area:是否使用所有可用屏幕区域进行渲染(若不勾选,刘海处会有黑边);

Optimized frame Pacing:启用后会自动调整帧率,提升用户体验;

Resolution Scaling:分辨率缩放模式。Disable自动匹配设备屏幕;

Supported Aspect Ratio:支持的纵横比;

Orientation:屏幕方向。Portrait:竖屏;Portrait Upside Down:竖屏倒置;Landscape Right:右横屏;Landscape Left:左横屏;Auto Rotation:自动旋转;

Splash Image(启动图像)

软件启动时显示的动画,免费版强制显示Unity图标,可自定义图标显示。比较容易使用,此处不展开说明。

Other Settings(其他设置)

Rendering(渲染设置)

Color Space色彩空间:Gamma(人眼光照的线性效果,显示为曝光较高),适用于所有平台和较老的设备;Linear(实际光照的线性效果);

Auto Graphics API自动图形接口:自动选择图形API接口,默认Vulkan;

Color Gamut色域:根据目标设备支持选择;

Multithreaded Rendering多线程渲染:将图形API调用从主线程移到单独线程以提高性能;

Static Batching静态批处理:将静态物体合批处理,提升性能;

Dynamic Batching动态批处理:当使用SRP时不起作用。使用FairyGUI时需开启;

Compute Skinning计算蒙皮:启用GPU计算蒙皮,从而释放CPU资源;

Graphics Jobs(Experimental)图形作业:将渲染循环的图形任务移到其他工作线程,减少主线程花费的时间;

Texture Compression Format纹理压缩格式:Build Settings中选择Use Player Settings时启用;

Normal Map Encoding法线地图编码:DXT5nm样式的法线贴图质量更高,但解码成本高;

Lightmap Encoding光照贴图编码;

Lightmap Streaming光照贴图流:对光照贴图使用Mipmap流式处理(适用于视角有远近变化的情况,拉远时会使用质量较低的Mipmap);

Identification(身份证明)

Override Default Package Name是否覆盖默认包名称:Package Name软件包名,用于在设备和安卓商店中的唯一标识(com.公司名.产品名);

Version版本号;

Bundle Version Code内部版本号:不会显示给用户;

Minimum API Level最低API级别;

Target API Level目标API级别;

Configuration(配置)

Scripting Backend脚本后端:Mono将C#编译为.Net公共中间语言CIL,并使用公共语言运行时执行中间语言;IL2CPP将C#编译为CIL,再转换为C++,再将C++编译为本机代码;

Api Compatibility Level(API兼容级别):.Net Framework包含.Net Standard 2.1的所有内容以及更多API的支持,但是生成的包体较大。对于某些高级功能的使用,无更好的替代方案情况下,可尝试使用;

C++ Compiler Configuration(C++编译器配置):开启IL2CPP编译时可选。Debug:关闭所有编译优化,代码生成速度快,但运行速度慢,适用于调试;Release:对代码进行优化,编译时间长,运行会更快,二进制文件更小;Master:实现所有可能的优化,发布时间最长;

Use incremental GC使用增量GC:将GC分散到多个帧上执行,可降低一帧中GC造成的卡顿;

Assembly Version Validation程序集版本验证:Mono是否验证强名称程序集(对程序集强命名,以创建唯一标识)中的类型;

Mute Other Audio Sources:程序运行时,将系统后台其他应用的音频静音;

Target Architectures目标体系结构:允许程序运行的CPU。ARMv7(32位微处理器),ARM64(64位微处理器),x86(32位Chrome OS系统),x86-64(64位Chrome OS系统)。Mono模式仅可选ARMv7,选择的目标体系越多,程序在各平台运行效果越好,但包体越大;

Split APKs by target architecture:仅面向Google Play。当勾选多个目标CPU体系时,将拆分多个apk对应不同设备,用户下载时会自动甄别对应apk进行安装,减少包体大小;

Target Devices:目标设备;

Install Location安装位置:Auto系统自动选择;Prefer External:首选外部磁盘;Force Internal:强制安装到设备内部磁盘;

Internet Access互联网接入:是否始终将网络权限加入权限清单;

Write Permission写入权限:Internal仅授予对内部储存的写入权限;External授予对外部储存的写入权限;

Filter Touches When Obscured:当程序被其他窗口遮挡时,不响应触摸事件;

Active Input Handling活动输入处理:选择输入系统;

Script Compilation(脚本编译)

Script Define Symbols脚本定义符号:在此添加自定义编译标志;

Suppress Common Warnings:禁用CS0169(未使用的私有变量)与CS0649(未分配值的未初始化的私有或内部字段声明)警告;

Allow unsafe Code:启用’不安全’代码(指针);

Optimization(优化)

Prebake Collision Meshes:在构建时将碰撞数据添加到网格,以空间换时间;

Keep Loaded Shaders Alive保持加载的着色器活动状态:由于着色器加载时消耗性能,此选项不允许卸载着色器,以空间换时间;

Preloaded Assets预载资源:在启动程序时预加载的资源;

Strip Engine Code剥离引擎代码:在IL2CPP模式下,能删除Unity引擎中没有使用的代码,显著减少包体大小;

Managed Stripping Level管理剥离等级:用以减少包体大小。Disabled(不剥离,仅Mono下可选),Minimal(仅删除Unity引擎未使用的.Net类库),Low(开发者的代码有可能被剥离),Medium(剥离程度高于Low),High(最大限度剥离代码,可通过link.xml或添加[Preserve]特性手动拒绝剥离);

Vertex Compression顶点压缩:压缩网格数据大小,提高CPU性能;

Optimize Mesh Data优化网格数据:删除未使用的顶点属性以减少包体大小和运存占用。但开启后不能更改材质或着色器相关设置;

Texture MipMap Stripping贴图纹理剥离:根据发布平台质量设置剥离未使用的MipMap贴图;

Stack Trace(堆栈跟踪)

Log Type日志记录设置:None(不记录),ScriptOnly(仅运行脚本时记录),Full(一直记录);Error(错误),Assert(断言),Warning(警告),Log(打印日志),Exception(异常);

Publishing Settings(发布设置)

Keystore Manager密钥(库)管理器:创建及加载密钥(库);

Project Keystore:密钥(库)选择;

Build(构建):Custom Main Manifest自定义主清单文件:用以决定权限和功能设置的xml文件;

Minify(代码混淆与缩小相关):R8(使用R8混淆),Release(发布构建中缩小程序代码),Debug(调试构建中缩小程序代码);

Split Application Binary拆分应用程序二进制文件:将安装包分成主包(APK)与扩展包(OBB),主要解决Google Play安装包大小限制100MB的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值