【Unity干货教程】如何实现Unity和Android原生互相调用?

IoTExpert
• 阅读 1149

Unity是一个跨平台开发工具,发布到移动平台也是大部分Unity开发者的必备技能。而由于Unity跨平台的特性,总会遇到在移动平台的技术细节支持不够,或者需要在调用其他原生插件的情况。这里我们说一下如何在Android Studio中创建一个可供Unity调用的aar插件,以实现Unity和Android原生互相调用的目的。

开发工具

Android Studio,Unity

实现步骤

  1. 打开AndroidStudio,创建一个新的工程,选择NoActivity

【Unity干货教程】如何实现Unity和Android原生互相调用?

2.选择存储路径。填写项目名,项目名无所谓,后续用不到;填写包名,包名后续需要在引用的时候用到。

【Unity干货教程】如何实现Unity和Android原生互相调用?

3.创建好之后选择Android视图,在app上点击右键 new—Module,创建一个新的Module,选择Android Library。这个就是后续用来导出的库。

【Unity干货教程】如何实现Unity和Android原生互相调用?

【Unity干货教程】如何实现Unity和Android原生互相调用?

4.进入刚创建的Library,在下图的文件夹下右键,创建JavaClass,这个java类就是后续在Unity中引用的类。

【Unity干货教程】如何实现Unity和Android原生互相调用?

5.接下来是一个Demo场景:在Unity中调用Android,弹出Tosat。并且回调Unity的指定方法:

![图片]
(https://images.ctfassets.net/...)

  1. 导出AAR:选中刚刚创建好的Library,选择Build— Make Module,将这个library打包为aar
    【Unity干货教程】如何实现Unity和Android原生互相调用?

7.导入Unity:将刚刚打包出的AAR文件放入Plugins-- Android文件夹中

8.Unity调用示例:

【Unity干货教程】如何实现Unity和Android原生互相调用?

小结

Unity和Android代码互相调用是一种非常常见的开发方式,在弥补Unity功能的同时,也给原生SDK的接入提供了更多的可能性。较新版本的Unity已经可以支持直接导入java脚本文件而无需打包aar插件。

3DCAT实时云渲染为移动应用提供新的可能随着3D可交互内容的逐步演进,客户端体积变得越来越庞大,对移动设备的硬件性能要求也越来越高,这些都成为了用户的痛点,并为新用户增加了极大的阻碍。

云渲染的出现解决了这个痛点,开发者可以将庞大的3D资源存放于云端,用户只需要极少的成本便可快速体验到所需3D内容,为企业和用户清理了重重阻碍。运行在3DCAT实时渲染云的应用内容可灵活嵌入任意平台,支持海量用户安全访问,自动负载均衡和伸缩扩容。

如有需求,欢迎随时与我们联系!

本文《【Unity干货教程】如何实现Unity和Android原生互相调用?》内容由3DCAT实时云渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/share/...

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
Unity小王子私藏的开发2D游戏的常用插件合集
Unity以开发3D游戏见长,早期版本的Unity在开发2D游戏时不慎方便,因此AssetStore出现了很多2D游戏开发引擎。现在Unity对2D游戏的支持越来越好,而这些开发2D游戏的Unity插件也得到了更多开发者的喜爱。1:RexEngine:Classic2DPlatformerEngine(https://www.os
Wesley13 Wesley13
3年前
Unity 4.x 2D游戏开发基础教程大学霸第一更
Unity4.x2D游戏开发基础教程大学霸第1章  Unity及其组成的介绍本书主要讲解的是,如何使用Unity开发2D游戏。但在开始讲解之前,最好先熟悉一下Unity这个工具。本章会首先介绍Unity的下载和安装,然后会介绍Unity界面的各组成部分,这些知
Wesley13 Wesley13
3年前
Unity之SDK接入(Unity与Android通信)
首先介绍一点关于Android与unity通信的知识:完成通信主要靠unity中的class.jar包(在unity的安装目录下)。在unity中调用android的方法:jo.call("方法名"\,参数名\)       其中\\代表可有可无。在endroid中调用unityu的方法:导入class.jar包,继承
Wesley13 Wesley13
3年前
unity+kbengine demo搭建
unity客户端代码        https://github.com/kbengine/kbengine\_unity3d\_demounity客户端插件        https://github.com/kbengine/kbengine\_unity3d\_pluginskbengine源代码        https://g
Wesley13 Wesley13
3年前
unity之截屏功能
1.全屏截图  方法一:在unity的API中,unity给我们提供了一个现成的API : Application.CaptureScreenshot(imagename)。但是这个API虽然简单,在PC、mac运用没有多大的影响,但是如果是在移动平台上使用的话就显得相当的吃力,因为它会消耗我们很大的CUP,所以在移动端使用
Wesley13 Wesley13
3年前
Unity横屏
Android下发现Unity里面的Player设置,并不能完全有效,比如打开了自动旋转,启动的时候还是会横屏,修改XML添加以下代码<applicationandroid:icon"@drawable/ic\_launcher"                    android:label"@string/app\_name"
Wesley13 Wesley13
3年前
Unity5.6.4f1 配置WebGL教程
Unity5.6.4f1发布WebGL的配置教程步骤一:先查看自带的Unity是否yi配置好WebGL的项,若无,则可遵循以下教程来设置!(https://oscimg.oschina.net/oscnet/54612ae3d9b094f1db96b00b1c81a5fe432.png)步骤二:下图是我已经设置好的,未设置
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(