在使用UE4进行工作时,有时候会需要远程控制其它电脑修改作品,这时候就需要我们使用UE4中的Web远程控制系统了,下面为大家介绍Web远程控制系统入门知识吧!


准备


   ● Web远程控制服务器在port上侦听传入的HTTP请求8080,必须确保打开此端口以接受来自本地网络的流量。


   ● 需要有关如何从Web客户端向HTTP服务器端点发出带有JSON负载的请求的基本知识。


   ● 使用通过蓝图第三人称模板设置的项目,基本上相同的步骤适用于任何项目。但如果项目未使用与模板相同的天空设置,则发送请求中的特定对象路径和请求可能不起作用。


   ● 不要将UE4应用程序的主机名和端口打开到打开的Internet,这样做可能会使你的项目和计算机容易受到第三方的恶意攻击。


   ● 仅在局域网(LAN)或安全的虚拟专用网络(VPN)上使用Web远程控制系统。


建立项目


在开始发出Web远程控制请求之前,安装远程控制插件。


1、在虚幻编辑器中打开要用于Web远程控制的项目。


2、从主菜单中,选择“编辑”>“插件”以打开“插件”窗口。


3、在“插件”窗口中,在“消息”类别中找到“远程控制API”插件。选中其启用复选框。


UE4中的Web远程控制系统入门知识


4、单击“是”接受该插件处于Beta状态的警告。


5、单击立即重新启动以重新启动虚幻编辑器并重新打开您的项目。


UE4中的Web远程控制系统入门知识


6、在虚幻编辑器中重新打开项目后,即可开始启动Web远程控制服务器。


管理服务器


Web远程控制系统依赖于虚幻编辑器进程启动和管理的Web服务器。为了安全起见,只有在明确激活该服务器后,它才能运行。要控制服务器何时运行,需要使用一些简单的控制台命令:


UE4中的Web远程控制系统入门知识


现在,我们只需要在“编辑器”主窗口中启动服务器即可。


1、从主菜单中,选择“ 窗口”>“开发人员工具”>“输出日志”。


2、在Cmd栏中,输入console命令WebControl.StartServer。


UE4中的Web远程控制系统入门知识


3、将看到一条消息,指示服务器现在正在运行:


UE4中的Web远程控制系统入门知识


4、现在已经在运行服务器,你可以开始向服务器提供请求。


发送请求


建议从最简单的用例开始,以提出初始请求。


   ● 使用专用于测试API请求和响应的工具,例如Insomnia 或Postman。这样可以更容易确定要为请求正确构造JSON有效负载。如果你对Web远程控制端点的工作方式及其响应类型感到满意,然后继续将对这些端点的调用合并到Web应用程序中。


   ● 首先在与在编辑器中运行项目的同一台计算机上本地发出第一个请求。一旦知道可以正常工作,然后继续从连接到本地网络的其他计算机或设备上的客户端发出请求。


1、在Web客户端应用中,使用以下内容设置请求:


UE4中的Web远程控制系统入门知识


该请求要求RelativeRotation在关卡的主要定向光源(在World Outliner中名称为Light Source的Actor)上获取属性的当前值。


2、将消息作为PUT请求发送到以下端点:


http://localhost:8080/remote/object/property


3、在“输出日志”控制台中看到来自Web远程控制服务器的消息,表明它已接收并处理了请求以及返回的状态代码:


UE4中的Web远程控制系统入门知识


在Web客户端中看到一个响应正文,其中包含您请求的信息:


UE4中的Web远程控制系统入门知识


4、如果选择“ 光源 Actor”并在“ 详细信息”面板中查看,则会看到响应中的值与显示在其中的值匹配:


UE4中的Web远程控制系统入门知识


这说明了Web远程控制系统如何能够将对象(在本例中为Vector)分解为JSON值,以便与Web应用程序交换它们。


5、接下来将远程更改灯光的旋转。该属性在引擎源代码中定义为BlueprintReadOnly:


UE4中的Web远程控制系统入门知识


这意味着我们需要调用BlueprintCallable同一对象公开的函数来对其进行修改。您可以在Engine/Source/Runtime/Engine/Classes/Components/SceneComponent.h文件中找到此定义:


UE4中的Web远程控制系统入门知识


6、使用以下正文设置请求:


UE4中的Web远程控制系统入门知识


7、将消息作为PUT请求发送到以下端点:


http://localhost:8080/remote/object/call


看到“关卡”中定向光的角度现在已更改,从而将场景中的对象置于阴影中。如果现在返回并执行与上述步骤2中相同的请求,现在您将收到刚刚设置的更新值。


UE4中的Web远程控制系统入门知识


8、将远程调用另一个函数来更新天空,以便将太阳的新角度考虑在内。在这种情况下,调用BP_Sky_Sphere类中的Blueprint中定义的函数:


UE4中的Web远程控制系统入门知识


9、将此消息发送到与上述相同的端点:


UE4中的Web远程控制系统入门知识


在这种情况下,该函数不需要任何输入参数,因此我们可以parameters完全忽略该属性。


这时会在等级中看到天空变为夜晚:


UE4中的Web远程控制系统入门知识


按照上述步骤,我们可以从Web客户端获取有关正在运行的UE4项目中内容的信息。还可以了解如何通过从Web客户端发出执行在Editor环境中对象所公开的功能来远程更改Project内容的方法。

,Unreal Engine技巧,Unreal Engine教程