最近因为跟小伙伴在制作一个App参加比赛,由于有unity的开发经验,突发奇想的想要在Android应用中内嵌unity提供模型展示的功能。

为此,我们查阅了不少资料。大多发现的是unity中内嵌Android的文章。Android内嵌unity的似乎大多是从Android中导出Jar包再导入unity中开发的,这样似乎对于我们主要开发Android应用来说有些繁复=。=于是后来跟小伙伴研究许久,发现unity可以export出Android的工程文件。

=.=于是打算写一个简易的说明文字记录一下,今后可能会再次用到。

***

实现步骤如下

  • 从unity中export出Android的工程文件

  • 将Android工程文件中的asset下的bin、libs下的jar包、以及java代码复制到所开发的Android应用的工程下的相应位置





  • 在Android工程中继承UnityPlayerActivity类,用于显示unity场景的Activity
  • 利用下列代码将unity视图添加到android视图中

    View mView=mUnityPlayer.getView();

    mParent.addView(mView);
  • 然后使用UnityPlayer的UnitySendMessage函数,向unity中的指定物体,调用指定的函数,传入指定的参数

    UnityPlayer.UnitySendMessage(“Main Camera” , “setfdjxn” , “xxx”);

    以上方法表示:第一个参数为物体名,第二个参数为该物体组件上的函数名,第三个为函数的传入参数。
  • 最后成品如下:





    图二中的对应数据字段传入到图一中了~

    ***

    使用中出现的还未解决的问题

  • 我们在使用的过程中是从一个Activity跳转到UnityPlayerActivity的
  • 在这过程中,我们发现从UnityPlayerActivity返回到前一个Activity时,出现了这个Activity在活动栈中被清除了的情况
  • 分析得到得到在启用UnityPlayerActivity时,会将上一个Activity从活动栈中清除
  • 为了解决这个问题,我们在这中间加了一个Activity,然而无法从本质上解决问题
  • (ー`´ー)苦恼~~~



    =。=最近因为觉得cnblog不是特别美观于是自己搭了一个github pages……csming1995.github.io.

最新文章

  1. 如何去掉dede列表推荐时标题被加粗
  2. Undefined index:
  3. FZU 2143 Board Game
  4. 【LeetCode】172. Factorial Trailing Zeroes
  5. 使用json格式的数据进行通信
  6. storm sum aggregate 原语 聚合 本地测试
  7. discuz微社区 始终显示“正在加载中”
  8. JAXB - Hello World
  9. BZOJ 3992 序列统计
  10. PHP String
  11. LeetCode _ Gas Station
  12. SlipButton——滑动开关
  13. Java笔试题1
  14. webform在页面生成的代码与事件回传
  15. 创建银行API
  16. Hadoop的Python框架指南
  17. 洛谷P2179 骑行川藏
  18. bzoj3678 Katu Puzzle
  19. python中循环删除列表中元素时的坑!
  20. Windows Vue 安装

热门文章

  1. PHP比较操作符详解(转自hack58)
  2. git初学习体会
  3. Win7下搭建VPN服务器教程
  4. 为了方便可灌入自定义方法AppendLog 比如File
  5. 在 anyproxy 上做 mock 和 fuzz 测试
  6. ng-if ng-show ng-hide 的区别
  7. HttpClientUtil [使用apache httpclient模拟http请求]
  8. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法
  9. aspx aspx.cs
  10. 使用Navicat连接数据库,不能创建外键