Unity3d嵌入web网页

  • 应用场景

  程序中的界面风格 UI内容等相关内容需要很容易方便的跟新替换,不使用unity传统的热加载方式,也不想使用和H5等做混合APP的时候, 就用嵌入web来实现。

  假如我想替换某个背景图,一般来说需要从新打包上架,或者使用热跟新。但是web的话只需要在服务器后台换张图片即可

 

  • 大概架构

  1,用win api在unity窗口嵌入web网页

       3,在web和unity之间建立通信,实现数据传输

  • web unity通信

      为什么要通信? 因为是两个窗口嵌入在一起的,不同的程序域,Unity和web不能直接访问

        通信方案

  1,管道,不建议,unity对管道支持有限制

       2,socket ,可行 

  • 可选方案

  1,做成混编,比如ios 中H5和unity进行混编:

     首先ios中集成h5,ios做unity和h5之间通信桥梁

     ios向unity发送消息: 

        unity定义方法,并挂在在游戏对象上  public void 方法名(string 参数){}

        xcode上直接调用UnitySendMessage("接收消息的游戏对象名字", "接收消息的方法", "参数");

     向ios发送消息:

        xoce中定义: extern "C" {  void 方法名()} }

        unity上声明:

          [DllImport("__Internal")]
          private static extern void _方法名(string 参数)

                           然后unity就可以调用这个方法

  2,使用第三方unity插件嵌入网页:UniWebView

posted @ 2018-04-20 12:07  落叶摆渡知尽秋  阅读(5011)  评论(0编辑  收藏  举报