我需要创建一个安卓应用程序,其中包括使用Unity3d编写的部分(如动画等)和使用AndroidSDK编写的部分(指用Java编写的几个活动、清单和资源)
实际上我已经有了这些部分(至少是准备好的模型=)),但我无法想象它们之间如何通信。
我已经阅读了很多关于Unity3d安卓集成的文章(主要是关于所谓的“插件”),但是没能理解它们是如何工作的=( 除了官方参考之外,我所理解的主要内容(所有人都写了)就是有关插件文档非常不完整... =)
我能够理解唯一的通信方式是从Unity3d脚本(使用AndroidJavaClass和AndroidJavaObject)发送Intent(广播),以便我的java活动可以处理它。但某些事情告诉我这不是最佳解决方案...
我阅读到的关于问题的资料告诉我需要使用JNI(即Java Native Interface - WHY?!- 为什么我需要使用本地代码?)
我是否需要在Java上创建一些中间层代码,其目的是与我的Java活动进行通信,使用AndroidNDK进行编译,并将其作为插件包含在我的Unity3d项目中?我该如何编写这个中间层呢?在基类方面,我是否需要使用UnityPlayer而不是“Activity”,为什么呢?