【UE5 多人联机教程】05-生成玩家

步骤

1. 新建一个游戏模式基础

【UE5 多人联机教程】05-生成玩家_第1张图片

命名为“GM_Lobby”

【UE5 多人联机教程】05-生成玩家_第2张图片

2. 新建一个玩家控制器,命名为“PC_Lobby”

 【UE5 多人联机教程】05-生成玩家_第3张图片

 3. 新建一个游戏状态基础

【UE5 多人联机教程】05-生成玩家_第4张图片

 命名为“GS_Lobby”

【UE5 多人联机教程】05-生成玩家_第5张图片

 重新设置游戏模式重载、玩家控制器类、游戏状态类

【UE5 多人联机教程】05-生成玩家_第6张图片

 4. 新建一个控件蓝图,命名为“UMG_Lobby”

【UE5 多人联机教程】05-生成玩家_第7张图片

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

【UE5 多人联机教程】05-生成玩家_第8张图片

5. 打开关卡“Lobby”

【UE5 多人联机教程】05-生成玩家_第9张图片

 6. 打开关卡“Lobby”的关卡蓝图添加如下节点,将控件蓝图进行显示

【UE5 多人联机教程】05-生成玩家_第10张图片

 此时运行可以看到控件蓝图已经可以正常显示:

【UE5 多人联机教程】05-生成玩家_第11张图片

 7. 打开游戏模式“GM_Lobby”

新建一个数组,命名为“PC_List”,用于存放所有玩家控制器

【UE5 多人联机教程】05-生成玩家_第12张图片

 在事件图表中添加如下节点,表示当有玩家加入时,就把它的玩家控制器加入数组“PC_List”

【UE5 多人联机教程】05-生成玩家_第13张图片

 继续添加如下节点,当玩家登出时从数组“PC_List”中删除相应的玩家控制器。

【UE5 多人联机教程】05-生成玩家_第14张图片

 8. 打开“UMG_MainMenu”,添加一个可编辑文本

【UE5 多人联机教程】05-生成玩家_第15张图片

 设置可编辑文本的填充值、提示文本、字体尺寸等

【UE5 多人联机教程】05-生成玩家_第16张图片

 9. 打开游戏实例“GI_Main”,添加一个文本类型的变量

【UE5 多人联机教程】05-生成玩家_第17张图片

10. 回到“UMG_MainMenu”,找到开始游戏的点击事件

【UE5 多人联机教程】05-生成玩家_第18张图片

 在点击“开始游戏”按钮后,判断可编辑文本内容是否为空,如果为空就打印提示信息,否则就切换显示的控件,并设置游戏实例中的文本变量“PlayerName”的值。

【UE5 多人联机教程】05-生成玩家_第19张图片

 11. 打开玩家控制器“PC_Lobby”,添加一个自定义事件,命名为“EVE_Spawn_Player”表示生成玩家的事件。

【UE5 多人联机教程】05-生成玩家_第20张图片

 12. 打开第三人称角色模板蓝图“BP_ThirdPersonCharacter”,添加一个文本类型变量,命名为“PlayerName”

【UE5 多人联机教程】05-生成玩家_第21张图片

 复制选择“RepNotify”,这样每当变量“PlayerName”发生变化时,就会调用函数“OnRep_PlayerName”

【UE5 多人联机教程】05-生成玩家_第22张图片

 

勾选可编辑实例、生成时公开

【UE5 多人联机教程】05-生成玩家_第23张图片

再添加一个字符串类型的变量,命名为“PlayerID” 

【UE5 多人联机教程】05-生成玩家_第24张图片

 勾选可编辑实例、生成时公开,复制选择“Replicated”

【UE5 多人联机教程】05-生成玩家_第25张图片

 13. 回到玩家控制器“PC_Lobby”中,在自定义事件“EVE_Spawn_Player”的细节面板中,复制选择“在服务器上运行”,勾选可靠函数。

【UE5 多人联机教程】05-生成玩家_第26张图片

 “EVE_Spawn_Player”逻辑如下,首先获取玩家出生点的transform,然后生成“BP_ThirdPersonCharacter”

【UE5 多人联机教程】05-生成玩家_第27张图片

 “EVE_Spawn_Player”添加一个输入,命名为“PlayerName”

【UE5 多人联机教程】05-生成玩家_第28张图片

 连接到“从类生成Actor”节点的引脚上

【UE5 多人联机教程】05-生成玩家_第29张图片

 “PlayerID”就用时间表示

【UE5 多人联机教程】05-生成玩家_第30张图片

 控制生成的Pawn

【UE5 多人联机教程】05-生成玩家_第31张图片

 当事件开始运行时,获取游戏实例,转为我们自定的游戏实例后,获取存储的变量“PlayerName”作为“EVE_Spawn_Player”方法的参数的值

【UE5 多人联机教程】05-生成玩家_第32张图片

 

你可能感兴趣的:(虚幻5,ue5,游戏)