Unity3D 实用技巧 - 原生移动端与Unity混合开发之学习篇
本着Unity跨平台的特性,此特性在移动端使用是很广泛的。我们知道Unity本身的兼容性很高,例如我们可以选择移动端成为第三方插件直接集成在Unity中使用,或者可以以Unity为第三方插件,集成到原生端iOS/Android,再进行混合开发。这些方式一般多应用在AR/VR相关领域。今天,小编与大家一起学习Unity以第三方SDK插件,与原生移动端开展混合开发。第一部分:移动端iOS为主项目(主导
·
本着Unity跨平台的特性,此特性在移动端使用是很广泛的。我们知道Unity本身的兼容性很高,例如我们可以选择移动端成为第三方插件直接集成在Unity中使用,或者可以以Unity为第三方插件,集成到原生端iOS/Android,再进行混合开发。这些方式一般多应用在AR/VR相关领域。今天,小编与大家一起学习Unity以第三方SDK插件,与原生移动端开展混合开发。
第一部分:移动端iOS为主项目(主导),Unity导出项目插件库融合至原生端混合开发。
-
集成方式,可以学习的操作教程:
1> iOS端添加 Untiy模块 (工程文件) :
2> iOS端集成 Unity库 :
-
Unity & iOS互通方式:
1> iOS封装SDK形式,导入到Unity资源里面导出
优点:适用于以Unity项目为主的项目, 导出后,可以直接打包,一般不需要过多配置。
缺点:操作方法麻烦,如果调用库比较多,很麻烦。
2> Unity导出iOS项目,在项目中继续编写iOS原生代码
优点:适用于以iOS为主要项目,可以把iOS原生代码封装到一个文件夹,每次导出后,只需要拖拽进去即可,少量配置。
缺点:每次导出项目融合都要修改几处配置。
整体感觉第二种比较好,对配置文件可以做备份,不用每次配置,还有就是Unity导出新项目不需要每次替换,其实只是替换两个文件夹(/Data, /Classes/Native,一个资源和场景,一个Unity的脚步),既可编译成功,不过如果Unity要升级,配置都要重新操作,并且所有内容需要以新项目导入覆盖融合。
-
iOS端集成Unity方式优劣分析:
1> 库 (framework集成) 的优势
Framework是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起,方便管理和分发。
① 分工更加明确,提高开发效率 (成立, 但所谓明确也不过是代码管理方面; 效率建立在库存在只做集成的基础上)
② 极大地简化了操作 (不成立, 如果库已存在, 直接集成调用API是成立的; 但多了Framework的生成任务, 所以并没有减少工作量, 反而增加了生成Framework的过程以及集成Framework的两步过程)
③ 升级库更加方便 (不成立, 涉及到Unity功能的升级替换Framework即可; 但升级时的工程文件修改以及新增接口的封装仍然要做; 在此之后还要重新生成Framework, 这种形式还是多了之前说的两步)
④ 复用性更好,能迅速的组成更多的App (成立, 生成Framework并不会给多个项目使用)
2> 模块添加 (工程文件集成) 的优势
将Unity以工程文件的形式添加到iOS项目中, 作为项目的独立功能模块。
① 代码维护方便, 可新增或删减方法
② 报错易查找, 出现问题方便定位
③ 文件替换形式更新包操作较为简单
第二部分:移动端Android为主项目(主导),Unity导出项目插件库融合至原生端混合开发。
其实Android端相比iOS端的原理与优劣基本类同,所以小编这边不做重复的记录。
-
集成方式-可以学习的操作教程:
1> Android端添加 Untiy模块 (工程文件) :
2> Android端集成 Unity库:
更多推荐
所有评论(0)