【UE4】多人联机教程(重点笔记)

本文详细介绍了如何通过Unity创建房间功能,包括使用第三人称角色模板工程、UMG控件蓝图实现创建和搜索房间,以及管理连接数和使用局域网。同时,展示了搜索结果的显示和多玩家选项的设置过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果

1. 创建房间、搜索房间功能

2. 根据指定IP和端口加入游戏

步骤

1. 新建一个第三人称角色模板工程

2. 创建一个空白关卡,这里命名为“InitMap”

3. 新建一个控件蓝图,这里命名为“UMG_ConnectMenu”

在关卡蓝图中显示该控件蓝图

打开“UMG_ConnectMenu”,添加如下控件

首先添加创建房间按钮的点击事件

        当该按钮点击时创建一个会话,其中,创建会话节点中的PublicConnections 参数可以帮助你控制服务端接受的客户端连接数量。当有新的客户端尝试连接到游戏会话时,如果游戏会话的当前连接数(已连接的客户端数量)小于 PublicConnections 参数指定的值,那么新的客户端连接会被接受,加入到游戏会话中。如果已经达到了 PublicConnections 指定的最大连接数,那么新的客户端连接将被拒绝。例如,如果你将 PublicConnections 参数设置为 4,表示你的游戏会话允许最多 4 个玩家同时连接。

        Use Lan参数表示是否使用局域网

 当勾选框状态变化时改变布尔变量“IsUseLAN”的值

创建房间后打开新关卡

此时运行,点击创建房间按钮,可以看到输出日志,服务器默认使用7777端口:

 继续添加搜索房间的点击事件:

其中,寻找会话节点的MaxResult引脚表示搜索结果数量上限,当寻找会话结果成功后,我们将Results返回值提升为变量,失败就打印失败信息。

我们准备将搜到的房间信息在如下区域显示:

4. 新建一个控件蓝图,这里命名为“UMG_SessionSlot”,用于展示房间信息

打开“UMG_SessionSlot”,添加如下控件:

 在图表中添加一个事件分发器

打开“InitInfo”,添加4个输入

在事件图表中设置文本控件内容

添加加入按钮点击事件

 变量“Search Result”类型为蓝图会话结果,勾选可编辑实例,生成时公开。

5. 回到控件蓝图“UMG_ConnectMenu”,继续完成搜索房间逻辑

 添加IP和Port输入框的change事件

 将输入的IP和port存储为文本类型变量

 添加进入按钮的点击事件

添加输入控制台命令和执行按钮点击事件

 6. 设置多玩家选项

 运行效果如文章开头所示。

好的,针对UE4多人联机时PlayController可能遇到的问题,我可以给出以下回答: 1. 多人联机时如何同步PlayController状态? 在多人联机游戏中,每个玩家的PlayController都需要与服务器同步。为了保持状态同步,您可以使用Replication或RPC功能,从而确保PlayController的状态在不同客户端之间同步。例如,您可以使用Unreal Engine提供的Replicated属性或Replicated函数,或使用RPC来调用服务器上的函数来同步PlayController状态。 2. 如何处理多个PlayController的输入? 在多人联机游戏中,如果多个玩家同时按下按键,则需要在服务器上处理它们的输入,以避免状态不同步的问题。为了处理这个问题,您可以使用Unreal Engine提供的Input Buffering功能。通过使用Input Buffering,您可以在玩家按下按键时捕捉输入,然后将其发送到服务器,服务器再处理输入,然后将其发送回客户端以确保同步。 3. 如何在多人联机游戏中处理PlayController的位置和旋转同步? 在多人联机游戏中,每个玩家的PlayController都需要在不同客户端之间同步位置和旋转。为了实现这个功能,您可以使用Unreal Engine提供的Replication功能。使用Replication,您可以将PlayController的位置和旋转同步到其他客户端,以确保所有玩家都看到相同的游戏状态。 希望这些回答能够帮助您解决UE4多人联机时PlayController可能遇到的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhichao_97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值