位置: 编程技术 - 正文

Unity3D安卓打包参数配置与兼容性的关系分析(unity3d打包apk)

编辑:rootadmin

推荐整理分享Unity3D安卓打包参数配置与兼容性的关系分析(unity3d打包apk),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d打包apk,unityios打包,unity3d打包apk,unity安卓打包gradle,unity打包成安卓,unity3d打包android,unity3d打包apk,unity3d打包android,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用Unity3D工程导出安卓安装包的时候,往往会遇到兼容性的问题,针对某些机型,要么无法打开游戏,要么会出现卡机的现象。面对这种情况,我们可以调节相关的参数来提高兼容性。 为了了解在打包时候每个参数的含义,我们查找了Unity3D的官方文档。为了清楚每个参数所起的作用以及每个参数对兼容性的影响因素,我们有针对性的做了对比实验,然后在安卓云测试平台( Unity4.5安卓打包参数配置主要讲述Unity4.5在进行安卓打包时遇到的一些参数,这些参数的详细解释,以及如何通过修改参数来提高游戏的兼容性。本文主要描述如何配置打包参数,供Unity4.5输出安卓包的工作人员使用。

阅读对象

本文档面向了解Android,Unity3D客户端的开发人员。

3.配置参数详解

一.Rendering Path(This property is sharedbetween Standalone and WebPlayer content)

渲染路径,这个属性一般在PC上或者网页上比较有用,一般有如下三个选项

Vertex Lit(Lowest lighting fidelity, no shader support.Best used on old machines or limited mobile platforms)

顶点光源模型。不支持shader,在一些旧的机器上或者受限制的机器上最好使用这个选项

Forward(Good support for lighting features; limitedsupport for shadows)

对光的特征支持的很好,但是对阴影支持的不好

Deferred Lighting(Best support for lighting and shadowingfeatures, but requires certain level of hardware support. Best used if you havemany realtime lights. Unity Pro only)

对光的特征和阴影支持的很好,前提是支持硬件加速,如果做实时渲染最好使用这个选项,只有pro版本支持。

二.Graphics Level(Select either ES 1.1 (‘fixed function’) or ES 2.0 (‘shader based’) Open GL level. Whenusing the AVD (emulator) only ES 1.x is supported.)

图像等级。在OpenGLES 2.0(支持阴影)和3.0还有1.x(功能性)之间选择,当只用到模拟器的时候,只有ES1.x才支持。

Automatic自动选择

Force OpenGLES 2.0强制OpenGL ES2.0

Force OpenGLES 3.0强制OpenGL ES3.0

三.Install Location 安装路径。

PreferExternal优先外部

Automatic自动选择(一般都是自动选择,而且兼容性更好)

ForceInternal强制安装在内部闪存中

四.Write Access写入权限

InternalOnly只能写在内部

External(SDCard) 写在外部SD卡中,对应安卓的写入权限:android.permission.WRITE_EXTERNAL_STORAGE

五.Api Compatibility Level使用.Net的版本

.Net 2.0Subset .Net2.0的子集,占用较小的空间

.Net 2.0 .Net2.0完全集合,占用较大的空间

六.Stripping Level选择抽出的脚本功能来减少了包的大小(iOS和Android都可以选择)

Disabled不减少功能

StripAssemblies减少程序集合

StripByteCode减少字节码

Use micromscorlib使用迷你库,前两者都减少

七.Optimize Mesh Data*

对于材料没有必要的数据,可以移除的数据进行优化

八,Multithreaded Rendering

多线程渲染

九.GPU Skinning*

是否使用GPU着色

十.Static Batching

是否激活静态度量,默认是激活状态,只有pro版本有效。

十一.Dynamic Batching

Unity3D安卓打包参数配置与兼容性的关系分析(unity3d打包apk)

是否激活动态度量,默认是激活转台。

4.实验数据实验方法

该实验采取对照实验的方法。如果要考察单个参数对于兼容性的影响,必须得控制另外的参数不变。然后针对不同的配置参数打包,上传到云测试平台进行兼容性测试。

5.实验操作流程

对要进行测试的参数进行设计。

主要涉及到如下几个参数

1. Graphics Level(GL)

2. Install Location(IL)

3. Api Compatibility Level(ACL)

4. Stripping Level(SL)

5. Optimize Mesh Data*(OMD)

6. Multithreaded Rendering*(MR)

7. GPU Skinning*(GK)

8. Write Access(WA)

9. Rendering Path(RP)

. Static Batching(SB)

. Dynamic Batching(DB)

设计对照组方案

序号GLILACLSLOMDMRGKWARPSBDB.0external2.0subsetdisablefalsefalsefalseInternal onlyForwardtruetrue2autoexternal2.0subsetdisablefalsefalsefalseInternal onlyForwardtruetrue.0external2.0subsetdisablefalsefalsefalseInternal onlyForwardtruetrue4autoauto2.0subsetdisablefalsefalsefalseInternal onlyForwardtruetrue5autointernal2.0subsetdisablefalsefalsefalseInternal onlyForwardtruetrue6autointernal2.0disablefalsefalsefalseInternal onlyForwardtruetrue7autointernal2.0subsetAssembliesfalsefalsefalseInternal onlyForwardtruetrue8autointernal2.0subsetByteCodefalsefalsefalseInternal onlyForwardtruetrue9autointernal2.0subsetmscorlibfalsefalsefalseInternal onlyForwardtruetrueautointernal2.0subsetdisabletruefalsefalseInternal onlyForwardtruetrueautointernal2.0subsetdisabletruetruefalseInternal onlyForwardtruetrueautointernal2.0subsetdisabletruetruetrueInternal onlyForwardtruetrueautointernal2.0subsetdisabletruetruetrueSDCardForwardtruetrueautointernal2.0subsetdisabletruetruetrueInternal onlyVertexLittruetrueautointernal2.0subsetdisabletruetruetrueInternal onlyDefferred Ligtruetrueautointernal2.0subsetdisabletruetruetrueInternal onlyForwardfalsetrueautointernal2.0subsetdisabletruetruetrueInternal onlyForwardtruefalse

针对每一个设计方案打包。

将上述的个方案进行打包分别命名为-.apk

将打好的安装包进行兼容性测试。

将这个安装包上传给testin网站,进行兼容性测试

得到测试结果后,得出每个参数的最优化配置。

正常

启动(s)CPU(%)内存(M)包体序号通过率安装启动卸载平均&#;峰&#;平均&#;峰&#;平均&#;峰&#; ........................................................................................................................................

对照组信息表

序号参数对照组优化顺序1Graphics Level::ES2.0 > ES3.0 > Automatic2Install Location::Automatic > Force Internal > Prefer External3Api Compatibility Level:.Net2.0 > .Net2.0 Subset4Stripping Level:::Use micro mscorlib > Strip ByteCode > Strip Assemblies > Disable5Optimize Mesh Data*:True > false6Multithreaded Rendering*:False > true7GPU Skinning*:False > true8Write Access:SDCard > Internal Only9Rendering Path::Deferred Lighting > VertexLit > ForwardStatic Batching:False > trueDynamic Batching:False > true

上表就是实验的最终结果,可以用来指导Unity3D的安卓打包。

在unity打包的时候还有一个系统最低版本的适配问题,比如支持最低在安卓系统2.3.3上运行。

为了考察支持最低安卓系统版本对于兼容性的影响。我也做了系统的对比实验。

序号最低版本目标版本

以下是测试结果:

正常

启动(s)CPU(%)内存(M)包体序号通过率安装启动卸载平均&#;峰&#;平均&#;峰&#;平均&#;峰&#; ................................

由于现在的主流安卓系统的版本都比较高(都大于4.0 API level = ),所以我们将目标版本设置为。至于最低的版本,从数据上来看2.3.3(API level = )和4.0.0(API level = )差别不是很大。所以最低系统版本的选择对于兼容性的效果提升也不是那么明显。介于历史残留问题,现在使用2.3.3版本的人数还很多,故可以将系统最低版本设置为。

为了考察支持目标版(targetsdk level)本对于兼容性的影响,我也做了系统的对比实验。

序号最低版本目标版本

以下是测试结果:

正常

启动(s)CPU(%)内存(M)包体序号通过率安装启动卸载平均&#;峰&#;平均&#;峰&#;平均&#;峰&#; ........................................

从上表的结果可以看出,通过率最高的是序号5,也就是min tarlevel = ,target sdk level = ,target level ,, 是不推荐的版本(连谷歌都不推荐)。

现在用户所用的版本大都是>4.0的,所以使用target level = 是不错的选择。

有很多的app在使用的时候需要系统资源,比如联网,比如GPS等等,那么这些都是怎么实现的呢?

很简单只要使用android.provider.Settings这个类就可以了。

比如需要打开GPS操作:

Intent settingsIntent =newIntent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);startActivity(settingsIntent);

unity5 和UGUI的小Demo贪吃蛇 有时间学习Unity5练练手,一个贪吃蛇小Demo简单的2D场景,对象都是Sprite,需要设置前后的显示层级,从蛇头到蛇尾的OrderinLayer的值是递减1,所以显示

Unity小贴士 导出资源文件和简单加密方式 原创文章,转载请注明出处。记得当初开发手游时,在看到了各类软件对IL的强大反编译功能和disunity的解包能力后,跟我同一个组的师兄不禁发出了感

Unity3D换装详解 游戏内的角色,能够像纸娃娃换装那样子让玩家可以为自己的角色改变外观,一直是相当受欢迎的功能;一般而言,我们建好的3D模型,如果要将其中一

标签: unity3d打包apk

本文链接地址:https://www.jiuchutong.com/biancheng/381430.html 转载请保留说明!

上一篇:[Unity3D]Unity中的Time(unity ti)

下一篇:unity5 和UGUI的小Demo贪吃蛇(unity 5.4)

  • 小规模纳税人开普票要交税吗
  • 标的物的风险负担
  • 现金流量表季度报表本期金额
  • 增值税税控系统技术维护费怎么抵扣
  • 没有外币账户可以收外币吗
  • 实收资本实缴需要什么手续
  • 劳务派遣用工的岗位只能在哪些工作岗位上实施
  • 单位职工医疗补助
  • 物流企业差额征税
  • 第三方用人单位应承担哪些责任
  • 购买的职业险计入哪个科目
  • 减少实收资本会引起资产和所有者权益发生变化吗
  • 企业购买汽车时需要交哪些税?
  • 开具红字发票无蓝字发票如何网上申报?
  • 营改增后装修行业税率
  • 财务软件中摊销怎么做账
  • 特定业务预缴所得税不能填写
  • 小规模纳税人发票图片
  • 土地作价入股政策
  • 非营利组织免税资格可以免些什么税
  • 一般纳税人增票流程
  • 个独企业生产经营所得税率
  • 每个季度零申报需要做什么
  • 其他应付款冲回计入哪个科目
  • 电费发票和实际交的钱不一样怎样支付
  • 收到地税退税会计分录
  • 营改增后不动产租赁费的税率是多少
  • 银行对公账户收款码手续费多少
  • 境外所得抵扣税怎么申报
  • 差旅费涉及的科目
  • 公司向个人支付劳务费
  • php 5
  • javascript编写程序
  • php中自定义常量的函数是
  • nvm for window
  • react基础入门
  • nmblookup安装
  • 增值税专用发票几个点
  • 捐赠利得的会计科目
  • 发票没有填写开户行,可以报销吗
  • 财务报表季报利润表本月金额怎么填
  • 2022年最新版微信
  • 民非企业银行利息计入其他收入,那增值税申报吗
  • mongodb $sum
  • python中Plotly Express是什么?
  • 电脑word怎么学
  • 房屋扩建后折旧费怎么算
  • 小微企业和民营企业的区别
  • 资金账簿印花税按年还是按次
  • access数据库丢失原因
  • 运输费抵扣进项税怎么算
  • 培训学校收入如何确认
  • 安家费有税吗
  • 管理费用多了怎么办
  • 上年度财务费用会计分录
  • 收到供应商上年的发票
  • 公司购买的打印机附赠给客户进项税可以抵扣吗
  • 赠送货物怎么做账
  • 纳税申报财务报表怎么撤销
  • 行程单发票抬头是什么意思
  • win7如何查看电脑
  • windowssystem32configsystem下载
  • linux系统中的用户分为哪几类
  • win10自定义壁纸在哪个文件夹里
  • win7英伟达显卡驱动安装失败
  • 手把手教你如何退税
  • ghost到一半报错
  • xp局域网文件共享设置
  • cocos2d-x教程
  • 一个简单的小实验
  • jquery ztree api
  • (翻译)你最好骑一辆共享单车
  • 深入python3
  • linux系统如何搜索文件内容
  • 安卓新安装包
  • 查看项目层级结构怎么查
  • python字典x in d
  • python flask 路由
  • js和jquery可以混用吗
  • 税务报运维需要多长时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设