ue5.2 数字孪生(11)——Web_UI插件网页通信

Web_UI插件下载安装:

Ue链接Web:

  • 在项目中启用插件并重启项目;
  • 创建基于Web的用户界面Umg_Web;
    添加Web_Interface网页控件,提升为变量并设置不透明度;
  • 在玩家控制器中创建Umg_Web控件并添加到视口;
    获取控件中的Web_Interface变量绑定On Interface 事件;
    加载网页;
  • 测试用的网页代码:
    <html>
    <head>
    
    <!--网页编码方式-->
    <meta charset="UTF-8">
    
    <!--前端和Ue通信-->
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"> </script>
    
    <!--Ue和前端通信JS代码-->
    <script>
        "object" != typeof ue && (ue = {}), uuidv4 = function () { return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, function (t) { return (t ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> t / 4).toString(16) }) }, ue5 = function (r) { return "object" != typeof ue.interface || "function" != typeof ue.interface.broadcast ? (ue.interface = {}, function (t, e, n, o) { var u, i; "string" == typeof t && ("function" == typeof e && (o = n, n = e, e = null), u = [t, "", r(n, o)], void 0 !== e && (u[1] = e), i = encodeURIComponent(JSON.stringify(u)), "object" == typeof history && "function" == typeof history.pushState ? (history.pushState({}, "", "#" + i), history.pushState({}, "", "#" + encodeURIComponent("[]"))) : (document.location.hash = i, document.location.hash = encodeURIComponent("[]"))) }) : (i = ue.interface, ue.interface = {}, function (t, e, n, o) { var u; "string" == typeof t && ("function" == typeof e && (o = n, n = e, e = null), u = r(n, o), void 0 !== e ? i.broadcast(t, JSON.stringify(e), u) : i.broadcast(t, "", u)) }); var i }(function (t, e) { if ("function" != typeof t) return ""; var n = uuidv4(); return ue.interface[n] = t, setTimeout(function () { delete ue.interface[n] }, 1e3 * Math.max(1, parseInt(e) || 0)), n });
    </script>
    
    
    <!--前端To UE-->
    <script>
        //前端传数据给UE     接口事件:fun01
        function callUEFunc() {
    
            ue5("fun01", "雷猴啊");
        }
    </script>
    
    <!-- UE to前端 -->
    <script>
        //显示游戏帧率
        ue.interface.Show_Fps = function (fps) {
            $("#fpsMeter").text(fps.toFixed(2)+"FPS");
        };
    
        //显示命中Actor
         ue.interface.Click_Actor = function (str) {
            $("#fa").text("被点击的物体名称:"+str);
        };
    </script>
    </head>
    
    <body>
    <button id="button" onclick="callUEFunc()">Web To UE</button>
    <br/>-------------------------------<br/>
    <p id="fpsMeter">00  FPS</p>
    <p id="fa">被点击的物体名称:</p>
    </body>
    </html>
  • Ue接收网页消息:
  • Ue发消息给网页:
  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
UE WebUI插件是一种基于UE(Unreal Engine)引擎的Web用户界面插件。UE引擎是一款强大的游戏开发引擎,而WebUI插件则为开发人员提供了一种将Web技术和UE引擎结合起来的方式,以实现在游戏中构建交互式和可自定义的用户界面。 UE WebUI插件具有以下特点和功能: 1. 基于Web技术:UE WebUI插件利用Web技术(如HTML、CSS和JavaScript)来创建用户界面,使开发人员可以使用熟悉的前端技术进行开发。这种基于Web的开发方式使得开发人员可以更快地构建和调整用户界面。 2. 可自定义的界面:UE WebUI插件允许开发人员根据游戏需求自定义用户界面的外观和行为。开发人员可以使用CSS和JavaScript来定制样式和动态交互。这种灵活性使得开发人员能够创建独特且符合游戏风格的用户界面。 3. 支持数据交换:UE WebUI插件支持与游戏内的其他系统进行数据交换。开发人员可以使用JavaScript来实现与游戏逻辑的交互,以实现实时数据更新和响应。这种数据交换能够使用户界面和游戏内部的状态保持同步。 4. 跨平台支持:由于UE WebUI插件基于Web技术,因此可以在多个平台上进行部署和运行。无论是在PC上、掌机上还是移动设备上,都可以通过Web浏览器来访问和使用用户界面。 总之,UE WebUI插件是一种强大的工具,能够帮助开发人员在UE引擎中创建交互式和可自定义的用户界面。通过使用Web技术,开发人员可以更快地构建界面,定制样式和交互,并与游戏内部进行数据交换。这为游戏开发带来了更多的灵活性和创造力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值