UE Web Remote Control

前言

       最近在研究UE自启WEB服务和网页通信以此来通过网页与UE进行数据交互,这样最好的方式就是可以摒弃掉整个繁琐的通信连接流程如TCP UDP,但是找到的一些方法都不是很适用,尤其是WEBUI这个插件它只适合内嵌到UE本身才能完成交互,但是用WebSocket进行交互的话还需要额外创建一个服务让其网页与UE在交互的过程有一个桥梁,这就违背了我们的初衷,之前就了解到UE 有一个Remote Control它可以自启一个服务生成一个网页端来控制UE中提前预设好的一些功能,本着试试的态度看了一遍UE的WEB API发现能用但是很繁琐,想要简单一点的话还需要额外添加一个RemoteControlWebInterface插件让其进行交互,如果你只是对与官方的控制端网页想进行优化的话,那么接下来的过程很实用了,但是想自由的实际操作一些功能我还是建议自己开发一下,这也是我记录完操作过程后要进军的事情了,话不多说,接下来就是整个通信请求过程。

过程

插件准备
  • 在你创建好的UE工程中在Edit ->Plugins中找到RemoteControlAPI和RemoteControlWebInterface插件然后进行勾选启用后重启项目
  • 重启后可在Edit ->ProjectSettings->Plugins中找到Remote Control这显示的30010就是我们的WebAPI的服务端口
  • 随后我们先开启我们的WEB服务,有两种方式进行调用一种是直接在UE CMD运行窗口中一种是在蓝图中,我建议我们使用蓝图这样可以很方便的在我们工程中尽显使用了,这样我们在项目启动后开启我们的WEB服务,点键盘1的时候关闭服务和项目
    WebControl.StartServer
    WebControl.StopServer
    WebControl.EnableServerOnStartup
RemoteControl
  • 我们先在UE中创建一个Actor,然后随便的创建两个自定义事件,后面做一个不一样的打印
  • 在UEContent文件夹下我们创建一个自己的文件夹然后鼠标右键选择Miscellaneous在后面选择RemoteControlPreset对其进行创建,名称根据自己的想法添加就行。
  • 双击我们刚才创建RemoteControlPreset,点击Expose下拉在ActorFunction中找到我们刚才创建的蓝图找到那两个自定义事件,每次只能添加一个所以还需要再操作一次
  • 添加好我们的两个自定义事件后,为了方便自己能记住每个事件的具体作用我们可以进行重命名,修改完保存一下运行项目即可,接下来我们就模拟下网页的实际请求。
HTTP WEB API
  • 现在已经将我们的WEB服务启动了,接下来我建议准备一个HTTP协议测试工具如Postman可以很方便的进行测试,首先第一个api我们先看下Remote中都有哪些请求,这是一个GET请求,可以直接网页中打开,其中的Path就是api地址,Verb是我们请求类型,Description是这个api一个详细的介绍,大家根据自己的需求详细的看下里面解释的还是很清晰的。
    http://localhost:30010/remote/info
  • 在获取到所有的api的前提下,我们现在获取我们创建的RemoteControlPreset,remote/presets是获取我们工程下preset列表,有几个获取几个,获取到我们的preset后解析Json然后将我们的名称存下来,因为我们接下来要通过找到刚才添加的两个自定义事件。
    http://localhost:30010/remote/presets
  • /remote/preset/:preset是获取我们的preset下所有内容的接口,这样我们就可以获取到我们的刚才创建的preset下的两个自定义事件了。里面数据目前我们的只用到DisplayName,剩下的Path这些数据细节开发会用到
    http://localhost:30010/remote/preset/Demo
  • 现在我们对测试一这个自定义事件进行测试触发,我们需要再preset后面添加一个function,因为所有的事件和函数都继承与UFunction,只不过具体类型的二进制命令不一致,这块内容大家可以了解下迭代器和反射系统,这不细说,我们进行调用,这里的调用是PUT了而且需要再请求过程时添加请求体。
    HTTP请求链接
    http://localhost:30010/remote/preset/Demo/function/测试一请求体(Raw-->Json)
    {"Parameters": {"InText": "Hello, World"},"GenerateTransaction": true
    }
  • 这样呢就完成我们的对其Remote WEB API简单的使用,也可以根据自己的需求设计合适的前端UI了,对于修改和添加的一些内容请大家看下官方的api介绍
  • UE 官方remote-control-apiicon-default.png?t=N7T8https://docs.unrealengine.com/5.3/en-US/remote-control-api-http-reference-for-unreal-engine/
  • UE 官方HTTP APIicon-default.png?t=N7T8https://docs.unrealengine.com/5.3/en-US/remote-control-preset-api-http-reference-for-unreal-engine/

结束语

      这种使用方法 对于一些介绍类型项目还是比较实用的,可以通过Pad或者手机就可以直接控制,但是对于一些定制化内容,我建议还是研究下底层内容自己深入开发一下UE web服务因为Remote是官方提供的一个使用模版,肯定还是有一些限制的自由度不够,希望上面的内容对大家有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/181733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode(37)矩阵置零【矩阵】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 73. 矩阵置零 1.题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]…

仓储货架生产厂家|拥有编码器+激光传感器的海格里斯HEGERLS料箱式四向穿梭车

随着高新科技的迅猛发展,仓储物流行业已慢慢朝着无人化、自动化、智能化、密集化方向快速发展,用户的需求量也随之日益提升。在众多仓储物流设备中,四向穿梭车越来越得到各大中小企业所青睐和投入使用。四向穿梭车不但具有良好的可延性与适配…

2022年土地出让数据,超多字段,附数据可视化

分享一个土地出让数据,详细信息如下: 数据名称: 2022年土地出让数据 数据格式: Shp、excel 数据时间: 2022年 数据几何类型: 点 数据坐标系: WGS84坐标系 数据来源:网络公开数据 部分字段如下: 如需获取可搜“吧唧数…

【面试心经】——上海广升智能科技有限公司

介绍 本文记录的是2018.5月份应聘上海广升linux 开发岗位的经历。 福利待遇: BOSS 岗位薪资:15K ~25K。 每月一天带薪病假或事假。 国家规定外有额外4天年假。 每年两次旅游,上半年国外,下半年国内。 每年两次调薪机会&…

Ultipa参加国际科学会议KGSWC2023

近日,领先的国际科学会议 KGSWC 2023,在西班牙萨拉戈萨大学召开,Ultipa Graph参加。 KGSWC2023是第五届伊比利亚-美洲会议和第四届印度-美洲知识图谱与语义网大会的联合论坛。自2019年成立以来,KGSWC一直是一个重要的学术活动&am…

测试工程师核心软技能「情绪管理」

大家好呀,我是楼仔。 我之前经常提到一句话:大多数时候所谓的“技术之玻璃天花板”,其实只是缺乏软技能而已。 所以粉丝朋友们,我们除了需要关注技术,更需要注重软技能的提高。 关于软技能相关的文章,之…

婚恋小程序APP一站式开发搭建丨幸福全方位婚恋一线牵丨相亲交友婚恋小程序使用手册丨实名认证丨语音交友丨源码交付,支持二开丨同城交友

1: 如何在相亲交友婚恋小程序寻找属于自己的幸福 打开相亲交友婚恋小程序, 在首页遇到自己喜欢的人, 点击详情, 然后点击喜欢, 如果对方也喜欢你, 互相喜欢成功, 可以在缘分页看到对方的微信, 添…

基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…

Android Studio Giraffe-2022.3.1-Patch-3安装注意事项

准备工作: android studio下载地址:https://developer.android.google.cn/studio/releases?hlzh-cn gradle下载地址:https://services.gradle.org/distributions/ 比较稳定的网络环境(比较android studio相关的依赖需要从谷歌那边…

Redis集群模式

Redis集群主要有三种模式 主从复制模式(Master-Slave)、哨兵模式(Sentinel)和Cluster模式 主从复制模式:适用于数据备份和读写分离场景,配置简单,但在主节点故障时需要手动切换。哨兵模式&…

Google分析中的基础概念

当提到Google分析时,我们通常指的是一种用于跟踪和分析网站和应用程序数据的工具。在使用Google分析之前,了解其基础概念对于正确配置和有效使用该工具非常重要。 1、帐户(Account):帐户是Google分析中的最高层级。一…

【网络安全】-安全常见术语介绍

文章目录 介绍1. 防火墙(Firewall)定义通俗解释 2. 恶意软件(Malware)定义通俗解释 3. 加密(Encryption)定义通俗解释 4. 多因素认证(Multi-Factor Authentication,MFA)定…

WordPress 外链跳转插件

WordPress 外链跳转插件是本站开发的一款WordPress插件,能对文中外链添加一层过滤,有效防止追踪,以及提醒用户。 类似于知乎、CSDN打开其他链接的提示。 后台可以设置白名单 学习资料源代码:百度网盘 密码:123

【飞桨星河社区五周年线下工坊-杭州站】

? 欢迎大家参加杭州极客工坊,深入了解大模型前沿技术和创新应用,一站式体验AI原生应用开发? 精彩议程敬请期待~ ? 时间:2023年12月3日 14:00-17:30 ? 地点:杭州西湖区花蒋路3号西溪润泽园度假酒店 ? 主题&#xf…

2021年1月12日 Go生态洞察:探索Go中泛型的提议

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

拼多多刷新Q3财报纪录,大涨18%股价直逼阿里

当多数人只关心拼多多速度的时候,拼多多却把步伐走的逐渐扎实。 11月28日,拼多多发布截至9月30日的2023年第三季度业绩报告。根据财报,拼多多第三季度收入达到了688.4亿元人民币,同比增长了93.9%。实现美国通用会计准则口径净利润…

全国高校走进深算院:共话国产数据库产教融合生态建设

近日,由教育部高等学校计算机类专业教学指导委员会、全国高等学校计算机教育研究会主办,清华大学出版社、深圳市信息技术应用创新联盟承办的“2023全国高校走进信创企业研学活动”顺利举办。来自全国各地30余家高校的近80位院校领导、教师代表走进了深圳…

【leetcode】64. 最小路径和

题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5,1],[4,2,1]] 输出&…

通过测试驱动开发(TDD)的方式开发Web项目

最近在看一本书《Test-Driven Development with Python》,里面非常详细的介绍了如何一步一步通过测试驱动开发(TDD)的方式开发Web项目。刚好这本书中使用了我之前所了解的一些技术,Django、selenium、unittest等。所以,读下来受益匪浅。 我相…

C#图像处理OpenCV开发指南(CVStar,03)——基于.NET 6的图像处理桌面程序开发实践第一步

1 Visual Studio 2022 开发基于.NET 6的OpenCV桌面程序 1.1 为什么选择.NET 6开发桌面应用? 选择 .NET 6(最早称为 .NET Core)而非 Frameworks.NET 的理由是:(1)跨平台;已经支持Windows,Linux…