美文网首页
Unity开发—内嵌浏览器

Unity开发—内嵌浏览器

作者: Webber_ | 来源:发表于2018-12-16 04:27 被阅读0次

    前后在2个项目组,都接到了内嵌浏览器的需求。一个是端游,要在windows平台为游戏加入内嵌浏览器;一个是手游,需要在Android和IOS中植入。所以在这里记录一下解决方案。

    手游比较方便处理,由于手机屏幕小,过小的页面反而不容易看清楚。所以即使直接跳转至系统浏览器,在某些情况下,也并不会显得很突兀。如果确定要内置,让玩家看起来是游戏内的UI,而不是切换了游戏窗口,那么可以有两种实现方式:

    1.在Android/IOS层做一个非全尺寸固定位置的内嵌窗口,使之看起来属于游戏内的UI,而不是调用了系统浏览器。此方案由另一位同事提议,笔者没有实际去试,但是应该行得通,因为和SDK的弹出框是一个思路。

    2.使用第三方插件。目前使用最广泛,且操作简单,功能齐全的就是UniWebView了,支持Android、IOS、MacOS三个平台。UniWebView于2013年发布首个版本1.0.1,截至目前,最新版本已至3.9.0。支持的Unity版本也从4升级到了2018。笔者所在项目组已上线运营6个月,所以兼容性和稳定性并不存在大的问题。其中UniWebView3对UI显示和性能进行了大版本优化,推荐使用。

UniWebView官方地址:https://docs.uniwebview.com/
附另一款插件地址:https://assetstore.unity.com/packages/tools/gui/in-app-web-browser-57532

UniWebView
    端游相比手游麻烦一点,其实AssetStore窗口就是一个内嵌网页,但Unity并没有开放相关接口访问,编辑器方法也没有。但是还是可以找到2种其他内嵌方案,方案二为笔者项目组采用方案:

    1.C++手工绘制窗口边框,调用系统浏览器,将位置固定在窗口内,从而达到内嵌效果。

    2.使用第三方插件。AssetStore有一个付费版插件—Embedded Browser,可以把网页数据渲染到游戏内Mesh或Image上,支持Flash、JavaScripts、h.264/mp3等,功能强大。还有一个开源插件—SimpleUnityBrowser,它和Embedded Browser实现方式基本一致,都是使用了CEFChromium嵌入式框架,在其基础上将web数据渲染至游戏内对象。具体来说,整个插件分为2部分:1.调用Chrome浏览器进程访问用户希望打开的网页,并将网页数据发送至共享内存,2.游戏内的引擎部分负责把共享内存中的网页数据拿出来渲染至游戏UI Or场景对象。所以运行中,可以在任务管理器中看到浏览器进程和共享内存进程。

SimpleUnityBrowser官方地址:https://bitbucket.org/vitaly_chashin/simpleunitybrowser/overview

SimpleUnityBrowser

相关文章

  • Unity开发—内嵌浏览器

        前后在2个项目组,都接到了内嵌浏览器的需求。一个是端游,要在windows平台为游戏加入内嵌浏览器;一个是...

  • 【Unity】内嵌浏览器

    前言 最近玩手机吃鸡,看到游戏内部就可以看到直播,黑科技啊!然后再网上搜索了一下,应该是在游戏中内嵌一个浏览器,直...

  • Unity商店插件无法“在Unity中打开”

    问题描述: Unity 2020去掉了内嵌商店窗口,点击Windows->Asset Store会直接跳转到浏览器...

  • unity内嵌浏览器——UniWebView插件

    这次突然被要求实现内嵌浏览器。在网上到处找资料参考,下面几个链接的内容感觉很实用 https://blog.csd...

  • c++混合js编程

    1 背景 有个项目是c++开发(MFC),内嵌一个浏览器容器(IE内核),c++控制该容器浏览器某个html,然后...

  • 初步接触微信小程序

    app web app :内嵌浏览器打开指定网页native app:原生开发的app,也就是使用ios和Andr...

  • Android内嵌unity

    最近因为跟小伙伴在制作一个App参加比赛,由于有unity的开发经验,突发奇想的想要在Android应用中内嵌un...

  • Standard.shader学习笔记

    最近因工作需要研究了Unity自带的Standard.shader。标注一下,整个Unity内嵌的shader及库...

  • Chrome Devtools 介绍

    Chrome开发工具(又称DevTools),是一套内嵌在chrome浏览器内部的web编写和调试工具。DevTo...

  • 初识CSS样式引入&层叠&继承

    引入样式的方式: 元素内嵌样式 文档内嵌样式 外部引用样式 层叠和继承: 浏览器样式 样式表层叠优先级: 浏览器样...

网友评论

      本文标题:Unity开发—内嵌浏览器

      本文链接:https://www.haomeiwen.com/subject/ukttkqtx.html