我们希望实现一个双引擎的同时运行的游戏系统,这个游戏将Cocos2d-x的UI层覆盖在Unity的3D场景之上。Unity负责3d场景的实现,Cocos2dx负责UI相关的功能模块。要求如下:
1. 创建两个独立的GLView,Unity在下层,Cocos在上层。需要确保渲染顺序正确, Cocos为透明渲染,Cocos的视图透明部分能显示Unity的内容
+-----------------------------+
| 系统原生窗口 |
| |
| +-------------------------+ |
| | Unity GLView | | ← 底层 3D 场景(普通模式渲染)
| | (z-order=0) | |
| +-------------------------+ |
| |
| +-------------------------+ |
| | Cocos2d-x GLView | | ← 上层透明 UI(开启 Alpha 通道)
| | (z-order=1, 透明背景) | |
| +-------------------------+ |
+-----------------------------+
2. cocos接管touch事件,相当于unity是cocos最下面一层的一个layer,unity接到的touch的数据由cocos负责分发,cocos根据实际情况拦截或者穿透向unity分发touch事件。
3. 实现Cocos对Unity方法的调用。
4. 需要支持Android和IOS系统