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

步骤

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

命名为“GM_Lobby”

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

 

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

 命名为“GS_Lobby”

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

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

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

5. 打开关卡“Lobby”

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

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

 7. 打开游戏模式“GM_Lobby”

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 “PlayerID”就用时间表示

 控制生成的Pawn

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/9162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

达闼面试(部分)(未完全解析)

grpc怎么解决负载均衡问题? Answer by newBing : gRPC提供了多种负载均衡策略,包括轮询、随机、最少连接数等。gRPC客户端可以使用这些策略来选择要连接的服务器。 k8s环境下部署grpc的几种方案 : 在k8s环境中,可以选择headless service,或者…

Spring Alibaba Sentinel实现集群限流demo

1.背景 1.什么是单机限流? 小伙伴们或许遇到过下图这样的限流配置 又或者是这样的Nacos动态配置限流规则: 以上这些是什么限流?没错,就是单机限流,那么单机限流有什么弊端呢? 假设我们集群部署3台机器&a…

Vue过度与动画

Test.vue:元素外面包一层transition&#xff0c;展示的时候就默认调用style里面的v-enter-action和v-leave-action执行进入和退出效果&#xff0c;appear上来默认展示动画效果 <template><div><button click"isShow !isShow">显示/隐藏</butto…

如何高效地查询IP归属地

高效识别IP归属地是网络安全领域中的一项重要工作。准确地识别IP的归属地不仅可以帮助网络管理员追踪和定位潜在的网络攻击者&#xff0c;还可以用于网络流量分析、地理定位服务等方面。 以下将介绍几种高效识别IP归属地的方法。 使用IP归属地数据库 IP归属地数据库是一种存储…

FileNotFoundException:xxx(系统找不到指定的路径)

目录 前言 背景 解决方法 错误示例 前言 这次是有个两年前的项目吧&#xff0c;不知道为什么无法启动了。中间迭代了多个版本&#xff0c;现在另一个同事接手了&#xff0c;领导让看一下。因为时间间隔过长&#xff0c;问题处理比较费劲。其中有的是配置问题&#xff0c;比…

学习笔记21 list

一、概述 有两种不同的方法来实现List接口。ArrayList类使用基于连续内存分配的实现&#xff0c;而LinkedList实现基于linked allocation。 list接口提供了一些方法&#xff1a; 二、The ArrayList and LinkedList Classes 1.构造方法 这两个类有相似的构造方法&#xff1a…

Spring Security OAuth2.0 - 学习笔记

一、OAuth基本概念 1、什么是OAuth2.0 OAuth2.0是一个开放标准&#xff0c;允许用户授权第三方应用程序访问他们存储在另外的服务提供者上的信息&#xff0c;而不需要将用户和密码提供给第三方应用或分享数据的所有内容。 2、四种认证方式 1&#xff09;授权码模式 2&#x…

kotlin高阶函数

kotlin高阶函数 函数式API:一个函数的入参数为Lambda表达式的函数就是函数式api 例子: public inline fun <T> Iterable<T>.filter(predicate: (T) -> Boolean): List<T> {return filterTo(ArrayList<T>(), predicate) }上面这段函数: 首先这个函…

SciencePub学术 | 物联网类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 物联网类重点SCIE&EI征稿中&#xff01;信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 物联网类重点SCIE&EI 【期刊简介】IF&#xff1a;7.5-8.0&#xff0c;JCR1区&#xff0c;中科院1/2区TOP&#xff1b; 【出版社…

速度优化:重新认识速度优化

作者&#xff1a;helson赵子健 应用的速度优化是我们使用最频繁&#xff0c;也是应用最重要的优化之一&#xff0c;它包括启动速度优化&#xff0c;页面打开速度优化&#xff0c;功能或业务执行速度优化等等&#xff0c;能够直接提升应用的用户体验。因此&#xff0c;只要是 An…

uniapp 中 的progress加载进度条 的使用,在 页面显示数据加载的进度条,使用户的使用体验效果更好

学习目标&#xff1a; 学习目标如下&#xff1a; 例如&#xff1a; uniapp 中 的progress加载进度条 的使用&#xff0c;在 页面显示数据加载的进度条&#xff0c;使用户的使用体验效果更好 学习内容&#xff1a; 学习内容如下所示&#xff1a; 相关属性的说明 进度条的显…

[ELK安装篇]:基于Docker虚拟容器化(主要LogStash)

文章目录 一&#xff1a;前置准备-(参考之前博客)&#xff1a;1.1&#xff1a;准备Elasticsearch和Kibana环境&#xff1a;1.1.1&#xff1a;地址&#xff1a;https://blog.csdn.net/Abraxs/article/details/128517777 二&#xff1a;Docker安装LogStash(数据收集引擎&#xff…

【C#】医学实验室云LIS检验信息系统源码 采用B/S架构

基于B/S架构的医学实验室云LIS检验信息系统&#xff0c;整个系统的运行基于WEB层面&#xff0c;只需要在对应的工作台安装一个浏览器软件有外网即可访问&#xff0c;技术架构&#xff1a;Asp.NET CORE 3.1 MVC SQLserver Redis等。 一、系统概况 本系统是将各种生化、免疫、…

【MySQL】内置函数

目录 一、日期函数 1、获得年月日 2、获得时分秒 3、获得时间戳 4、在日期的基础上加日期 5、在日期的基础上减去时间 6、计算两个日期之间相差多少天 7、案例 二、字符串函数 1、获取emp表的ename列的字符集 2、要求显示exam_result表中的信息 3、求学生表中学生姓…

【Git】git仓库完整迁移

代码仓库&#xff0c;在公司有两个团队在做&#xff0c;并且gitlab所在环境不互通。有一个团队做的时间久一点&#xff0c;另一个团队想要用并做一些定制。就需要将代码转移到另一个gitlab管理。 参考&#xff1a;【Git】git仓库完整迁移&#xff08;代码&#xff0c;分支&…

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信…

el-table 表格头部合并

<el-table v-loading"listLoading" :key"tableKey" :data"list" stripe border fit highlight-current-rowstyle"width: 100%;" size"mini"><el-table-column label"第一行" align"center">…

免费的音频转换器带你突破音频格式束缚

曾经有一个名叫吴欢的音乐爱好者&#xff0c;他热爱收集各种音频文件&#xff0c;从经典的老歌到新潮的流行曲&#xff0c;样样都不放过。然而&#xff0c;他遇到了一个令人头疼的问题&#xff1a;因为音频格式的不同&#xff0c;他无法将一些珍贵的音乐记录转化为文字形式。他…

面试题 汇总

一、 七层模型和五层模型以及对应的作用 二、 TCP和UDP的区别 UDPTCP是否连接无连接面向连接是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信传输方式面向报文面向字节…

01 Excel常用高频快捷键汇总

目录 一、简介二、快捷键介绍2.1 常用基本快捷键1 复制&#xff1a;CtrlC2 粘贴&#xff1a;CtrlV3 剪切&#xff1a;CtrlX4 撤销&#xff1a;CtrlZ5 全选&#xff1a;CtrlA 2.2 常用高级快捷键1 单元格内强制换行&#xff1a;AltEnter2 批量输入相同的内容&#xff1a;CtrlEnt…