程序员Android技术知识

安卓和Unity3d 的交互

2017-03-27  本文已影响0人  溢出的幸福

因为公司需要开始把安卓工程来嵌入u3d或者是u3d嵌入安卓。安卓这边主要是负责多人语音视频作为sdk给u3d工程使用

现在的需求是分为两层 底层由安卓负责多人视频的播放 顶层是u3d的逻辑层负责控制逻辑。然后发现不管是怎么setView或者说是设置u3d背景为透明或者说是设置背景为空,都无法显示底层安卓的布局。u3d用的是5.3版本,u3d工程导入安卓工程来使用时,u3d的布局自己带了一层黑色的布局直接遮挡住了。只能通过安卓这边自己来写原声控件来解决这个问题。

u3d的话是导出的eclipse工程 可以看到入口是UnityplayerActiviy这个类 。

mainfest.xml

u3d界面是通过UnityPlayer封装在里面(好像u3d是没xml这个概念的) 我们可以看下是直接把UnityPlayer作为一个view给 setContentView上去的

UnityplayerActiviy

从eclipse工程导出u3d的安卓工程 有三个activity类, 1 UnityPlayerActivity 2 UnityPlayerNativeActivity 3UnityPlayerProxyActivity

UnityPlayerActivity,UnityPlayerNativeActivity是通过mUnityPlayer来作为一个view来布局。

u3d和安卓的交互  自己写一个UnityInterface  这里面的方法是u3d逻辑里面写好的 名字完全不能错 这个AddNativeScene方法对应的是点击按钮以后的逻辑步骤会先走u3d那边的逻辑 再走方法里面的逻辑 但是这个方法默认是在子线程的。

交互接口
上一篇下一篇

猜你喜欢

热点阅读