【UE5 多人联机教程】06-显示玩家名称

效果

可以看到玩家输入各自的名称,会显示到自己控制的角色头上。但是目前有一个BUG就是,当客户端加入游戏时会多创建一个服务端的角色。

步骤

1. 打开“BP_ThirdPersonCharacter”,添加一个控件组件,用于显示玩家名称

 作为网格体组件的子项

 在视口中将控件组件移动到玩家的头顶位置

空间一项选择屏幕,勾选以所需大小绘制

2. 新建一个控件蓝图,命名为“UMG_PlayerName”

 打开“UMG_PlayerName”,添加一个画布面板和一个文本控件

 选择所需

 文本块勾选大小到内容

勾选 是变量

在图表中新建一个函数,命名为“FUN_SetPlayerName”

在该函数中去设置文本块的文本内容,内容就是调用函数时传入的文本参数

3. 回到“BP_ThirdPersonCharacter”,Widget控件的控件类选择“UMG_PlayerName”

4.重新检查一下在两个关卡中是否使用的是两个游戏模式:

第一的关卡中的游戏模式是“GM_MainMenu”

 第二个关卡使用的游戏模式是“GM_Lobby”

5. 打开“UMG_MainMenu”,修改一点逻辑:当创建房间后,只需要打开新的关卡即可,"Listen"(监听)的意思是允许游戏作为一个主机创建会话,其他玩家可以加入这个会话。

 其他玩家加入成功后也不需要执行任何逻辑

6. 打开玩家控制器“PC_Lobby”,在事件开始运行时就执行函数“EVE_Spawn_Player”,将获取游戏实例的玩家名称作为函数“EVE_Spawn_Player”的输入。然后函数“EVE_Spawn_Player”将输入的“PlayerName”传给“BP_ThirdPersonCharacter”

7. 打开第三人称角色蓝图“BP_ThirdPersonCharacter”,在事件开始运行时就将自身的“PlayerName”变量作为控件蓝图“UMG_PlayerName”中的函数“Fun_SetPlayerName”的输入。

 此时运行游戏如文章开头所示。

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/131958734