最新动态
Unity3d windows平台基于3D WebView for Windows and macOS (Web Browser)插件打开内嵌网页支持AR/VR功能实现
2024-12-16 15:17

之前Unity3d的程序在win pc上打开网页一般使用EmbeddedBrowser插件,也算是比较好用的,不过经过查找我发现3D WebView for Windows and macOS (Web Browser)插件也很不错。支持?Vuplex VR/AR 浏览器的相同代码,轻松地在 Windows 和 macOS 上以 3D 形式渲染 Web 内容并与之进行交互。支持Android、iOS、Windows、macOS?和?UWP/Hololens这些平台,不过这里的版本仅支持Windows and macOS平台。其余的平台需要下载其他版本。支持调用键盘和鼠标事件,以编程方式调整大小、缩放、滚动和后退/前进;支持在当前页面的上下文中执行 Javascript; 支持将消息从Javascript(网页) 发送到 C# 或者反向发送;支持监听浏览器事件,例如TitleChanged、UrlChanged以及PageLoadFailed;支持查看 PDF;支持在世界坐标系内和UI画布上打开网页。功能很齐全,但是价格也很不美丽。

关注并私信 WebView插件 获取插件,仅供学习。

这里就使用CanvasWebViewPrefab?快速上手,打开网页它们会自动渲染为 Texture2D 并处理用户互动(单击、滚动、悬停、拖动)。

将其拖到Canvas下。

这里我们在运行就打开Unity官网

 

将脚本组件挂到场景,并将canvasWebView关联起来。

这个主要调用ExecuteJavascript来实现,该函数有两个重载

 

为了运行 Javascript,必须首先加载网页。您可以使用WaitForNextPageLoadToFinish()或LoadProgressChanged事件在页面加载后运行 Javascript。

 

这就是找到标签名 h1并输出它的文本。

使用该插件是可以实现 Unity与网页的双向通信,只不过要对接完美,需要两边的开发者协商好通信消息以及格式。

从 Unity向 网页 发送消息是使用PostMessage()函数来实现。
发送消息的 C# 脚本

 

在网页端,通过对象?message事件监听消息的 Javascript

 
 

3D WebView 有一个内置的window.vuplex.postMessage() Javascript API,可用于将消息从 网页发送到 Unity。由于它内置在浏览器中,因此您无需在页面中包含任何第三方脚本即可使用它。以下为发消息示例脚本

 

在Unity端通过MessageEmitted 事件的监听来接收网页发送过来的消息。
Unity 中接收该消息脚本示例

 
 
 

通过click函数来实现

 

示例脚本

 

只不过normalizedPoint是采用标准化点而不是像素坐标,即Vector2? 每个元素的取值范围 0–1。

选择所有文本,具体取决于页面的焦点元素

 

将选定的文本复制到剪贴板

 

将选定的文本复制到剪贴板并将其删除

    以上就是本篇文章【Unity3d windows平台基于3D WebView for Windows and macOS (Web Browser)插件打开内嵌网页支持AR/VR功能实现】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/quote/5774.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站https://sicmodule.kub2b.com/mobile/,查看更多   
发表评论
0评