位置: IT常识 - 正文

UE4 利用WEBUI插件完成UE与JS的交互 (UE4嵌入WEB)(ue4安装插件)

编辑:rootadmin
UE4 利用WEBUI插件完成UE与JS的交互 (UE4嵌入WEB)

推荐整理分享UE4 利用WEBUI插件完成UE与JS的交互 (UE4嵌入WEB)(ue4安装插件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ue4浏览器插件,ue4 web browser,ue4浏览器插件,ue4做ui的插件,ue4water插件,ue4web端,ue4 web browser,ue4water插件,内容如对您有帮助,希望把文章链接给更多的朋友!

目录

一、UE4显示Echart图表

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

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


一、UE4显示Echart图表

步骤:

1.下载WEBUI插件

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

链接:https://pan.baidu.com/s/1dSkXK84f68ZcD03kz8OBSA?pwd=et9z  提取码:et9z

其它版本网盘下载地址:

4.26:https://cowtransfer.com/s/5be173e137ae4a 4.27:https://cowtransfer.com/s/8cb6a0761faf45 5.0:https://cowtransfer.com/s/86830831c83a45

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

 2.在Echart上下载一个例子

我下载的例子的链接:

Examples - Apache ECharts

点击下载示例

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

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.创建一个控件蓝图

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

 命名为WebUI

7.点击 图表

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

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

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

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

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

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

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

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

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

 12.进入控件蓝图的图表

UE4 利用WEBUI插件完成UE与JS的交互 (UE4嵌入WEB)(ue4安装插件)

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

 

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

 

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

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

 填好后,节点如下:

 

 改变数据都为100:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

将js代码改为如下:

 在UE中将Data转为对象:

利用get string提取键对应的值

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

 

 运行结果:

原教学视频地址:

Echarts图表_WebUI_JS和UE交互

本文链接地址:https://www.jiuchutong.com/zhishi/277925.html 转载请保留说明!

上一篇:Win10修改hosts文件无法保存的解决方法(不用更改权限)(win10修改hosts文件权限)

下一篇:DCSHelper.exe是什么进程 DCSHelper.exe程序进程介绍(dcs是什么文件夹可以删除吗)

  • 苹果键盘怎么切换中文(苹果键盘怎么切换中英文)

    苹果键盘怎么切换中文(苹果键盘怎么切换中英文)

  • 小米演示机模式怎么解除的(小米演示机模式怎么解除代码)

    小米演示机模式怎么解除的(小米演示机模式怎么解除代码)

  • 华为荣耀10手机音量小怎么办(华为荣耀10手机壳)

    华为荣耀10手机音量小怎么办(华为荣耀10手机壳)

  • 淘宝一月一号有活动吗(淘宝一月一号有优惠吗)

    淘宝一月一号有活动吗(淘宝一月一号有优惠吗)

  • 荣耀30青春版什么时候上市(荣耀30青春版什么时候升级鸿蒙3.0)

    荣耀30青春版什么时候上市(荣耀30青春版什么时候升级鸿蒙3.0)

  • 华为5g手机可以用4g卡吗(华为5g手机可以用5g网络吗)

    华为5g手机可以用4g卡吗(华为5g手机可以用5g网络吗)

  • 笔记本摄像头可以调整角度吗(笔记本摄像头可以面捕吗)

    笔记本摄像头可以调整角度吗(笔记本摄像头可以面捕吗)

  • loudness功放上什么意思(loudness 功放)

    loudness功放上什么意思(loudness 功放)

  • x与xs的区别(x和xs的区别外观)

    x与xs的区别(x和xs的区别外观)

  • 电脑桌面黑色是怎么回事(电脑桌面黑色是怎么回事,设置不了)

    电脑桌面黑色是怎么回事(电脑桌面黑色是怎么回事,设置不了)

  • qq动态背景怎么设置(qq动态背景怎么设置永久)

    qq动态背景怎么设置(qq动态背景怎么设置永久)

  • h在word中有什么用(hwword)

    h在word中有什么用(hwword)

  • dp75sdi是第几代(亚马逊dp75sdi是第几代)

    dp75sdi是第几代(亚马逊dp75sdi是第几代)

  • 为什么手机声音开到最大也很小(为什么手机声音键失灵)

    为什么手机声音开到最大也很小(为什么手机声音键失灵)

  • 交易关闭是付款了吗(交易关闭是付款了还是没付款)

    交易关闭是付款了吗(交易关闭是付款了还是没付款)

  • 苹果手机怎么设置指纹(苹果手机怎么设置陌生号码拦截)

    苹果手机怎么设置指纹(苹果手机怎么设置陌生号码拦截)

  • 华为荣耀8怎么分屏(华为荣耀8怎么关闭运行程序)

    华为荣耀8怎么分屏(华为荣耀8怎么关闭运行程序)

  • 客户开发票税率怎么算

    客户开发票税率怎么算

  • boss直聘被锁定了怎么处理(boss直聘被锁定多久解封)

    boss直聘被锁定了怎么处理(boss直聘被锁定多久解封)

  • 快手极速版苹果手机怎么下载不了(快手极速版苹果版怎么没有赚钱)

    快手极速版苹果手机怎么下载不了(快手极速版苹果版怎么没有赚钱)

  • 怎样换输入法(怎样换输入法界面)

    怎样换输入法(怎样换输入法界面)

  • 小米手机怎么打开蓝牙音频LDAC(小米手机怎么打开定位)

    小米手机怎么打开蓝牙音频LDAC(小米手机怎么打开定位)

  • 快手怎么解除历史违规(快手解除关注怎么操作)

    快手怎么解除历史违规(快手解除关注怎么操作)

  • airpods和airpods2的区别(airpods和2区别)

    airpods和airpods2的区别(airpods和2区别)

  • 材料用于非应税项目
  • 服务型公司要交多少税
  • 甲乙公司与银行之间的往来如何记账
  • 小规模纳税人购入和销售的增值税
  • 中山哪家企业招聘残疾人
  • 购入固定资产入账
  • 一般纳税人有免征增值税吗
  • 防雨棚设计规范
  • 收到员工归还借款属于现金流量表
  • 逾期缴纳车辆购置税后情况说明怎么写
  • 加建工程部分结算款如何做会计分录呢?
  • 利润总额递延所得税
  • 财产租赁所得个人所得税计算方法2020
  • 2019年收入不足6万如何退税
  • 加班误餐费应该怎么走账?
  • 法院执行款可以开发票吗
  • 发工资时忘记扣个税了怎么做账
  • 造价咨询暂定级能接业务吗
  • 去年收入少做了怎么调账
  • macos usb启动
  • php解析xml文件
  • win10无法运行软件怎么回事
  • linux中添加用户和组的操作
  • dev beta 发布预览
  • 民间非营利组织会计账务处理
  • 转让股权企业所得税怎么计算
  • linux网络接口状态命令
  • 用php做一个表格
  • php流程引擎
  • PHP:imagepsencodefont()的用法_GD库图像处理函数
  • 西班牙的藏红花好不好
  • 暂估增值税可以抵扣吗
  • 计提投资者利润
  • php中统计单词个数
  • 钢琴块小游戏在线玩
  • wordpress使用教程
  • php中array用法
  • 社保缴费基数是怎么确定的
  • 增值税发票有什么用途和作用
  • 增值税进项加计抵减账务处理
  • 爬虫技术是做什么的
  • 企业合并属于非企业吗
  • 独立核算的分公司注销时账面怎么处理
  • 采购的技术服务费会计分录
  • 个体对公账户是什么意思
  • d级企业预缴增值税如何申报
  • 资金结存属于资产科目吗
  • mysql数据库注入
  • 按利润总额的10%怎么算
  • 广告费的税费分录
  • 报废产品账务的处理方法
  • 积分购物骗局
  • 工会的会费收入是什么
  • 未开票确认收入账务处理
  • 会计调整以前年度遗留问题查不出来说明怎么写
  • 什么是固定资产清理
  • 公司怎么变更公司名称
  • 分页式存储管理中页的大小是可以不相等的
  • sql server常用
  • windows跳转列表是什么
  • windosxp无法启动
  • linux常用命令详解
  • 金山卫士电脑版
  • rapimgr.exe - rapimgr进程是什么文件.有哪些作用
  • mac系统简介
  • linux做raid10
  • linux 内存文件夹
  • django orm left join
  • Extjs ajax同步请求时post方式参数发送方式
  • python批量下载文件
  • python代码50行
  • mac的命令
  • JavaScript中的math.pi
  • JavaScript中setUTCFullYear()方法的使用简介
  • js二分法排序递归
  • Android系统启动负载均衡
  • python怎么理解
  • 税务人员廉洁自律承诺书
  • 医疗保险在手机上交不上是怎么回事
  • 河北省电子税务局手机登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设