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

文章描述了在游戏开发中遇到的一个问题,即客户端加入时会错误地创建额外的服务端角色。通过一系列步骤,包括在第三人物角色蓝图中添加控件显示玩家名字,创建UMG控件蓝图,调整游戏模式和逻辑,特别是玩家控制器和第三人称角色蓝图中的事件处理,来解决这个问题。最终,确保玩家名称正确显示且游戏状态正常。

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

效果

可以看到玩家输入各自的名称,会显示到自己控制的角色头上。但是目前有一个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”的输入。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zhichao_97

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

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

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

打赏作者

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

抵扣说明:

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

余额充值