Android与Unity的完美集成

前言

随着前两年元宇宙的提出,虚拟现实开始在各大平台大展身手。各个平台都开始搭上了元宇宙的列车,Unity作为虚拟引擎中的热门,渲染效果和开发效率极其出色;Android作为移动开发的巨头之一也搭上了元宇宙这趟列车。今天,小编带大家将Unity与Android这两把利剑结合起来,双剑合璧,大有所为。 大家做好位置,列车马上出发。

开发环境

Android端: Android Studio(各大版本都可以,区别不大)

Unity端:  Unity3D(Unity2019及其以下 向下兼容)

这里小编不推荐大家用Unity3D 2020及其以上版本开发,因为这是Unity打包方式  Mono 和 IL2CPP 之间的差异,这里不详细说明,想了解的可以私聊我

一 .创建Unity项目并打包 

1.创建Unity项目

建议大家Unity的项目名和Android项目名尽量相同

2. Unity构建打包配置

创建Unity项目后,不对Unity场景做任何操作,我们只调整打包平台

点击左上角 File ——> 点击Build Settings ——> 点击Add Open Scenes ——> 点击Android  ——>勾选Export Project ——> 点击Switch Platform

下图是点击Switch Platform后的窗口样子,大家可以对比一下

3. Android环境相关配置

打包Android相关的东西都是要配置好Java环境,配置好AndroidSDK,再使用Gradle等工具进行构建,Unity也不例外

3.1. 点击Unity左上角Edit ——>Preferences,弹出如下图

如果你下载Unity没有什么问题的话,JDK  ,AndroidSDK,Android NDK ,Gradle这些路径按照默认的设置

小编建议大家自定义去选择和Android Studio配置一样的路径,这样可以Android Studio和Unity使用的配置都一样,可以减少很多不必要的版本差异问题 

3.2. 点击Unity左上角Edit ——> 点击Project Settings  ,弹出窗口如下

点击Player ——> 点击Other Settings,操作如下图所示

4. 导出Unity项目文件

点击左上角File ——> Build Settings ——> Export

 打包进度条结束后,弹出文件夹如下

 如果打包出来的项目和上图不一致,那可能是打包形式不同或者Unity版本差异大,到此为止,Unity打包出来的Android项目就完成了,接下来小编带大家将此项目嵌入Android Studio中

二. 将Unity嵌入Android中开发

1. 创建Android项目

项目名尽量和Unity项目名保持一致,不一致也可以,到时候Unity改一下包名即可,创建完成后,先不要写Android代码

2.  找到Unity打包出的项目,把Unity项目中libs文件夹下的jar包放入到Android项目中的libs文件夹中

3.  将Unity项目中的 assets文件夹和 jniLibs文件夹放入到Android项目的main文件夹目录下

4.  将Unity文件夹中的UnityPlayerActivity.java  放置到Android项目中 和MainActivity.java 同级

 到此为止,我们就将Unity项目嵌入到了Android项目中了,接下来跟紧小编,小编带大家在Android项目配置一下Unity项目

三. 在Android项目中配置Unity项目

1. 将jar包解压,找到UnityPlayerActivity这个类,在清单文件中声明,这个类是从Unity项目加入过来的,打开这个类,修改包名

包名和Android项目包名一致,,修改完包名后,会发现好几处报错,分别找到报错的地方,按下Alt + Enter ,选择import class  如下图所示:

2. 在Android项目中添加字符串引用

为什么要添加这个呢?这是因为Unity项目中默认引用了这个字符串,如果不添加上去,Unity程序会找不到这个字符串,从而引发Unity程序启动就立马闪退,如下图:

3. 在build gradle中添加ndk

到此为止,我们就将Unity项目在Android中配置好了,接下来跟紧小编,小编带大家走向最后一步,直接上代码

四. 在Android中启动Unity

 

Unity嵌入式开发

到此为止,小编就带大家继承好了Unity,这是Android搭上元宇宙快车的第一步

下一篇小编带大家实现双端通信(Unity端 与 Android端)

有任何疑问可以在评论区提出,小编每周六周日都会耐心的一一解答,也可以私信小编,添加小编的联系方式,大家一起探讨

物联沃分享整理
物联沃-IOTWORD物联网 » Android与Unity的完美集成

发表评论