手把手教你如何请求控制http(函数调用我们可以请求参数)

尊敬的读者们,您好。

感谢您在百忙之中抽出时间阅读这篇文章。
本文旨在探讨如何操控虚幻引擎 4(Unreal Engine 4,以下简称UE4)及它的最新版本UE5。
UE4凭借强大的功能和丰富的资源库,广泛应用于各种领域,例如虚拟现实(VR)、数字城市、大数据展示系统等等。
为了让UE4更加易于操作和交互,我们有必要研究一系列便捷的操纵方式。
下面,就让我们一起来探讨其中的几种吧。
首先,UE4支持许多种输入设备,包括鼠标、键盘、触摸屏、VR头盔、眼球追踪设备等等。
每种方式各具特点,适用于不同的场景。
例如,对于虚拟现实场景中的人机交互,眼球追踪设备就是一种非常理想的工具。
其次,我们可以利用C/S架构,连接服务器,或者利用http请求,自行实现软件交互与连接。
这种方式的优点在于,用户只需调节指定的服务器,就能轻松完成操作,并且整合起来相当便利。
此外,UE4还有一款完善的插件——Control API,它提供了UE4与web双向通信的功能。
然而,这个插件也有一些局限性:一是它需要对需控制的对象做一定程度的手动设置;二是在打包编译之后,常会出现一些问题;三则是必须了解并掌握控制指令的API以及指令的JSON格式要求;四则是我们更倾向于那种只需要编写一些代码,即可调用相应函数的解决方案。
但是,如果我们愿意投入一部分精力,完全可以仿照该插件的思路,自定义一款属于自己的插件。
那么,如何才能有效地实现UE4与Web端之间的沟通呢?我们可以从两个方面入手:一是在外部搭建HTTP服务器,用于处理与UE4间的通讯;二是在内置的UE4中,启动一个服务器,通过函数指针/代理、回调等技术进行交流。
想要简单快速地动起来,我们建议选择第二个方案。
在UE4中,包含诸如HttpServer这样的诸多组件,我们可以通过创建插件,再在Build.cs文件中进行引用,从而顺利地利用这些组件。
当我们配置HttpServer的时候,不仅需要设定路由,而且路径应设置为/call_funcion,端口应设为1024;你还可以在同一个路由上使用多个动词方式,比如GET、POST,同时,借助Lambda模块的功能实现这一切。
接着,只需要编译程序,并启动运行,我们便可以借助Postman及时调试。
当然了,要想调用核心技能还得对C++函数有所了解哦。

对于参数的解析、使用代理实现技能调用,乃至如何实际调用函数等问题,都是需要重点关注的地方。
针对上述提到的HttpServer话题,我们已做到了详尽阐释,接下来便是如何调用函数这一关键步骤。
为了实现精确无误的调用,我们可以尝试采用内存拷贝和地址偏移等手段,精确定位不同的参数成员,并且能够灵活应对多参数的情况,甚至还能轻松实现多返回值的处理。
以实际举例来说明,如果我们想要执行某个函数,需要按照特定的规则(例如,要执行某函数,需按照如下方式向/call_function接口发出请求:{ "function":"{function_name}", "Param_key1":"{param_value1}", "Param_key2":"{param_value2}", })去发送请求。
当我们成功地收集到函数信息后,会继续识别这个方法的名称和相关参数,并根据识别出来的名称直接执行相应的方法。
这里还值得一提的一点,那就是我们在执行完这个过程后,一定记得在位于config文件夹中的DefaultEngine.ini配置文件里添加一行:[HTTPServer.Listeners] DefaultBindAddress="0.0.0.0",否则我们恐怕无法利用除127.0.0.1之外的IP对这个服务器进行访问啦。
除此之外,针对不同参数和元素的解析和处理问题,我们也不再需要逐一编制相应的方法处理,因为我们可以参考使用元组结构或可变参数模板这些更为快捷高效的方法。
按照个人经验来看,元组结构既能满足我们的需求,又能缩减开发成本,是个不错的选择。
借由上述内容,我们对
手把手教你如何请求控制http(函数调用我们可以请求参数)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息