android混合开发之unity
来源:互联网 发布:华风爱科天气数据不对 编辑:程序博客网 时间:2024/06/05 02:29
先对比 US(unity script)与C#,先说变量问题,如果使用Object来处理var的问题,不可避免频繁的装、拆箱。
US脱胎与.NET, 不可避免C#可能更适合开发
unity跨平台 C#运行时的动态编联
Unity与Android之间相互调用
准确来说,应该是两个VM之间的相互调用:mono/il2cpp 和 dalvik/art,分别运行Unity应用和Android应用,这两个虚拟机运行在同一个进程中。
为了方便起见,后文将前者称为Unity,后者称为Android
Unity调用Java方法
UnityEngine提供了两个类来分别访问Java的实例对象以及类对象:
AndroidJavaObject与AndroidJavaClass
前者表示java.lang.Object或其子类,后者表示java.lang.Class。
Android调用Unity方法
在Android中,有两种方式调用Unity的方法:
通过AndroidJavaProxy进行无感知调用
通过com.Unity3D.player.UnityPlayer.UnitySendMessage方法显式调用
AndroidJavaProxy:AndroidJavaProxy常用于在Unity中实现Java的interface,比如有这么一个Java interface:
如何构建Unity-Android混合项目
本节将介绍如何使用Gradle来构建混合了不同平台项目的工程。
以一个SDK类型的工程为例,我们来看一下工程的内容:
Android SDK
Android Demo (快速调试)
Unity Bridge (封装Android SDK)
Unity Demo (演示并调试Unity Bridge)
目录结构如下:
RootDir (工程根目录)
|
|-- Android (Android相关模块)
| |-- Demo_Android
| |-- SDK_Android
|
|-- Unity (Unity相关模块)
|-- Demo_Unity
|-- Bridge_Unity
其中:
Android的两个模块可以用Android gradle插件进行编译与打包
Bridge_Unity可以用msbuild(windows)或者xbuild(Linux)构建
Demo_Unity需要购买了Unity Pro之后才能自动化构建。
接下来,我们将在各自模块的构建脚本中添加构建任务,分别构建这些模块,最后,在工程的根构建脚本中,创建自动化的构建脚本。
AndroidJavaObject.Call的实现
参考连接 Unity Android Plugin开发指南
- android混合开发之unity
- unity与原生android混合开发
- Unity开发之Android
- android之Java+html+javascript混合开发
- Android 混合开发之仿微信朋友圈
- Android音频开发之尝试音频混合
- Android混合开发之WebView使用总结
- Android混合开发之WebView使用总结
- android ReactNative混合开发之最新教程
- Android混合开发之WebView使用总结
- Android混合开发之WebView使用总结
- Android和Unity混合开发——Activity和Unity脚本交互和信息传递
- Android Studio 开发之NDK混合开发的应用
- Android 混合开发 相关
- Android 混合开发
- Android+H5混合开发
- Android App混合开发
- Android混合开发
- 设置session的生命周期(php)
- 关于输入、输出电容在 LDO 应用中的重要性
- 我的threejs学习笔记(五)——点光源属性控制
- 顺时针打印矩阵
- kettle传数据到MPP遇到字段alias、type、identify被加双引号解决
- android混合开发之unity
- 个人总结Swift 中可选值(Optional)
- CCF第一题--中间数
- C#基础-Convert类、DateTime类、Math类
- git常用命令
- JavaWeb——AJAX(1)
- lift and throw(from蓝桥)(深度优先搜索)
- 十大Intellij IDEA快捷键
- Visual studio 中的ipch文件夹和sdf文件