UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB)

这篇具有很好参考价值的文章主要介绍了UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、UE4显示Echart图表

二、UE调用JS(修改Echart图表数据)

三、JS调用UE(UE4中打印js传递过来的数据)


一、UE4显示Echart图表

步骤:

1.下载WEBUI插件

我的UE编辑器版本是4.24.3对应版本的插件下载地址是

webui 插件:链接:https://pan.baidu.com/s/1vaZiqre8K2GEueVJOtZ2fA?pwd=xsby 
提取码:xsby 

下载后解压放到Plugins文件夹中

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 2.在Echart上下载一个例子

我下载的例子的链接:

Examples - Apache ECharts

点击下载示例

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

3.下载的HTML文件放到Content 或其子文件夹内:

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

4. 修改该HTML代码:

<!--
	此示例下载自 https://echarts.apache.org/examples/zh/editor.html?c=bar-background
-->
<!DOCTYPE html>
<html lang="zh-CN" style="height: 100%">
<head>
  <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
  <div id="container" style="height: 100%"></div>

  
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts@5.4.0/dist/echarts.min.js"></script>
  <!-- Uncomment this line if you want to dataTool extension
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts@5.4.0/dist/extension/dataTool.min.js"></script>
  -->
  <!-- Uncomment this line if you want to use gl extension
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts-gl@2/dist/echarts-gl.min.js"></script>
  -->
  <!-- Uncomment this line if you want to echarts-stat extension
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts-stat@latest/dist/ecStat.min.js"></script>
  -->
  <!-- Uncomment this line if you want to use map
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts@4.9.0/map/js/china.js"></script>
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts@4.9.0/map/js/world.js"></script>
  -->
  <!-- Uncomment these two lines if you want to use bmap extension
  <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=YOUR_API_KEY"></script>
  <script type="text/javascript" src="https://fastly.jsdelivr.net/npm/echarts@5.4.0/dist/extension/bmap.min.js"></script>
  -->

  <script type="text/javascript">
    "object"!=typeof ue||"object"!=typeof ue.interface?("object"!=typeof ue&&(ue={}),ue.interface={},ue.interface.broadcast=function(e,t){if("string"==typeof e){var o=[e,""];void 0!==t&&(o[1]=t);var n=encodeURIComponent(JSON.stringify(o));"object"==typeof history&&"function"==typeof history.pushState?(history.pushState({},"","#"+n),history.pushState({},"","#"+encodeURIComponent("[]"))):(document.location.hash=n,document.location.hash=encodeURIComponent("[]"))}}):function(e){ue.interface={},ue.interface.broadcast=function(t,o){"string"==typeof t&&(void 0!==o?e.broadcast(t,JSON.stringify(o)):e.broadcast(t,""))}}(ue.interface),(window.ue4=ue.interface.broadcast);

    var dom = document.getElementById('container');
    var myChart = echarts.init(dom, null, {
      renderer: 'canvas',
      useDirtyRect: false
    });
    var app = {};
    
    var option;

    option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};

    if (option && typeof option === 'object') {
      myChart.setOption(option);
    }

    ue.interface.ue2js = function(ueData){
      var jsonObj = JSON.parse(ueData);
      myChart.setOption(jsonObj);
    };

    window.addEventListener('resize', myChart.resize);
  </script>
</body>
</html>

5.创建一个控件蓝图

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

6.打开控件蓝图,将Webinterface拖入

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis 命名为WebUI

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

7.点击 图表

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 8.在图表中,调用WEBUI的LoadFile函数

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 如果用的是网址,可以用LoadURL节点

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 9.Diectory参数选择/Content,File填入你的HTML文件在Content文件夹中的相对路径

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

10.到关卡蓝图中,把刚才做好的控件蓝图放到窗口中

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

此时运行游戏,可以看到Echart柱状图

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

柱状图显示出来后下一步是修改柱状图的数据

二、UE调用JS(修改Echart图表数据)

11.回到控件蓝图,添加一个按钮

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 再添加一个文本,命名为调用JS

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 12.进入控件蓝图的图表

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

选中按钮,添加一个按钮点击事件

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 在点击事件中,添加WebUI的Call函数

 UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 Call函数的两个参数分别应该填函数名和函数的参数

函数名就是js代码中的ue2js,是在interface后自定义的

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 填好后,节点如下:

 UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 改变数据都为100:

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 运行后,点击按钮将可以改变echart数据

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

此时,UE调用js的功能实现了,接下来要实现js调用UE的功能

三、JS调用UE(UE4中打印js传递过来的数据)

13.WebUI是用事件分发器做的,我们先绑定WebUI的Interface事件

在控件蓝图中添加如下标注区域的部分 

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 可以看到自定义事件有Name(函数名)和Data(参数)两个参数

这里使用切换名称节点来区分不同事件

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 现在开始在js中添加调用UE的代码

(由于该echart没有按钮,这里将UE的代码写到了UE调用js的函数里了)

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 ue4函数中有三个参数,分别是函数名(必填项),函数的参数,还有函数的回调。这里只填了函数名和函数的参数,函数的参数可以是字符串或json对象。

写好js后,把切换名称节点的引脚名改成js传递的函数名

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 然后打印一下传递过来的值

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 运行游戏,点击按钮,可以看到视口打印了js传出来的字符串“hello”

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

上面完成了js向UE传递字符串,接下来再测试一下js传递json对象

将js代码改为如下:

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 在UE中将Data转为对象:

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

利用get string提取键对应的值

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

取出des对应的字符串并打印(如果值是数组类型,可以用Get List节点取出键对应的值,其它以此类推)

 UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

 运行结果:

UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB),arcgis

原教学视频地址:

Echarts图表_WebUI_JS和UE交互文章来源地址https://www.toymoban.com/news/detail-841886.html

到了这里,关于UE5.1 利用WEBUI插件完成UE与JS的交互 (UE5.1嵌入WEB)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UE5】交互式展厅数字博物馆交互是开发实战课程

    长久以来,我们总是不断被初学者问到类似这样的问题:如何从头到尾做一个交互式程序开发项目?本套课程尝试对这个问题进行解答。 课程介绍视频如下 【UE5】数字展厅交互式开发全流程 【谁适合学习这门课】 本套课程面向初学者,满足学习需求包括但不仅限于以下:

    2024年01月18日
    浏览(51)
  • 【虚幻引擎】UE4/UE5插件

    Blank:空白插件,可以从头开始自己定义想要的插件风格和内容,用此模板创建的插件不会有注册或者菜单输入。 BlueprintLibrary:创建一个含有蓝图函数库的插件,此模板函数都是静态全局函数,可以在蓝图中直接调用。 ContentOnly:创建一个只包含内容的空白文件 Editor Toolba

    2024年02月05日
    浏览(75)
  • UE5 运行时捕捉外部窗口并嵌入到主窗口

    UE5 运行时捕捉外部窗口并嵌入到主窗口的一种方法 创建一个Slate类用于生成一个窗口 创建一个Actor类,用于调用Slate类中的方法

    2024年02月11日
    浏览(29)
  • 【UE5】CallCustomEvent插件的使用文档

    该插件是一款可以帮助你调用任意的蓝图自定义事件 使用该插件调用自定义事件时,你不需要实现获取对方类的引用 比如我在A类里创建了一个名叫“MyPrint”的自定义事件 因为该节点有三个参数,所以我们在B类中调用三个参数的CallCustomEvent节点   然后在B类中按顺序填入参

    2024年02月16日
    浏览(40)
  • UE5 - Polycam扫描文件导入插件

    Polycam是利用Gaussian Splatting进行3D重建的3D扫描相关软件,其对应有UE引擎的插件(Plugin_XV3dGS)可以把相关格式的文件导入到引擎; 首先Polycam的官网为:My Captures | Polycam 可以下载各种用户扫描文件; 插件下载的地址为:Free Unreal Engine 5 Gaussian Splatting Plugin | Radiance Fields 插件的

    2024年01月24日
    浏览(37)
  • UE5引擎编辑器插件开发归档

    下面是自己在学习编辑器界面开发学习内容的总结,有错误的地方希望大家指出,谢谢~ 学习的教程为:https://www.bilibili.com/video/BV1M84y1K7m4 新添加一个编辑器的插件,修改插件的设定,\\\"Type\\\": 从 Runtime改为Editor,\\\"LoadingPhase\\\": \\\"Default\\\"改为PreDefault 此处参考文档: https://blog.csdn.net/p

    2024年02月08日
    浏览(45)
  • UE5.1.1C++从0开始(4.虚幻的接口以及交互功能)

    这一个章节对于第一次接触虚幻的人来说可以说是最绕的一个点,因为老师突然给你塞了很多的概念,对于这一块的学习,我个人的推荐是:先把蓝图搞明白了,再对应到C++的代码中,不然一定会被整的晕头转向。还是,有不懂的点就来问我。 主要有几个大点: 接口 自定义

    2024年02月04日
    浏览(42)
  • [UE][UE5]找资源的网站、好用的插件、找3D模型的网站

    欢迎大家指正!也希望大家多多关注我! 2023.1.13更新 2024.1.17更新 本来现在这种程度的详细说明应该是22年刚发表的时候就附上来的,但是当时有点懒,没附上,详细程度先就这样吧,有啥我之后有时间瞅见了再补充 以下网址免费!有的需要科学上网。 符合我心意的一般是这

    2023年04月16日
    浏览(44)
  • 【虚幻引擎UE】UE4/UE5 GIS辅助类插件推荐及使用介绍

    此插件将虚幻引擎连接到Speckle,允许从Speckle接收版本化的3D数据,可以实现Revit、Rhino、Blender、Sketchup、Unity、虚幻引擎、AutoCAD等之间的完全互操作协作。 这是一个涵盖了在展厅、工业产品或其他3D场景中导航的许多可能性的系统。在窗口、触摸屏、手机和Html5上。 只需快速

    2024年02月07日
    浏览(103)
  • 【虚幻引擎UE】UE4/UE5 功能性插件推荐及使用介绍 1

    实现POST/GET基本方法,并支持HEAD带信息。 使用案例:【虚幻引擎UE】UE5 三种模式调用API详解(案例基于免费Varest插件) 能够快速实现打开对话框获取数据的导入、导出路径。 某月限免插件,比较方便的地图插件,可以改改样式直接用。 http下载数据到指定路径 按空格可以切

    2023年04月11日
    浏览(108)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包