ue4 点击启动_UE4与Kbengine(Comblock)大型网络游戏开发(七)

本文介绍了UE4大型多人在线(MMO)游戏开发中关于登录注册功能的实现步骤,涉及服务器架构的探讨。首先讲解了KBE服务器进程的划分,如loginapp、cellapp等,解释了为何需要多个服务器进程。接着,逐步指导如何创建UE4 C++空项目,搭建登录注册UI的C++和蓝图文件结构。最后,预告将进行登录注册界面的制作和动态背景、UI复用等功能的实现。
摘要由CSDN通过智能技术生成

77f46e866adb94bf49116900fdad365a.png

hello,大家好。我们今天来进行UE4 MMo网络游戏开发的第七章之游戏登陆注册。本章包括三个功能 账户注册 账户登陆 模拟玩家登陆排队。

这里要注意下。我们凡是说的服务器都是指的服务器进程 而不是服务器的物理机器。
KBE分了loginapp cellapp baseapp等。其实这些都是服务器进程。那么要分这么多服务器呢?下面是KBE的架构:

bf96cc448576549400323f77bdc44b19.png

那么我们不禁思考 为什么要分这么多服务器?设想网络游戏发展初期,玩家的所有逻辑 比如登陆注册 场景跳转 装备强化 物品采集等等这一系列操作都由一个服务器来做,但是慢慢发现这一个服务器撑不住了,所以呢,又把登陆注册 抽出来形成 登陆注册服务器-loginserver 其他逻辑都由一个服务器叫centerserver 处理其他逻辑。玩家登陆经过loginserver,登陆成功后呢,又将玩家信息 转给我们的centerserver(涉及到服务器进程间通信)。慢慢的。到后来,又发现 逻辑量还是大,所以对mmo来说 又抽出了 针对场景的 场景服务器 sceneserver。慢慢的,发展出很多优秀的服务器架构。

那么对于KBEngine来说,是参考的BigWorld 服务器的架构,市面上有很多比较出名的mmo也是这个架构。分的服务器 看上图。通过名字 我们就知道,玩家登陆注册相关的肯定是loginapp服务器。由于登陆注册 涉及到写查数据库,所以还涉及到DBMgr服务器。

KBE官网链接:https://www.comblockengine.com/docs/1.0/overview/index/

现在我们创建一个UE4空项目用于搭建我们的登陆注册(我们不仅仅是研究KBE,还会做很多网游的常规功能比如动态登陆背景,动态提示,UI复用等等)

======本章和下章 搭建登陆注册框架 再下章对接服务器,目前只做功能 不会去在意客户端架构========

第一步:创建UE4 C++空项目:

8c476999dfc6973950e44119f7778692.png

第二步:关闭虚幻编辑器 只保留VS,并且注意 我们图中所框的地方:

3d7de984789cea8c92e2bc19cb034fac.png

这里有几种模式:凡是带Editor的 在你点击旁边的windows调试器的时候,就会进行编译,编译完成就会启动UE4编辑器。没有带的 只会进行编译 不会为你 启动编辑器。我们开发中的时候要选带Editor的。

然后呢 这里有几种模型,分别是Development 半发布模式。Debug 调试模式。Shiping 游戏发布模式。我们开发中的产品 选择Debug Game Editor。这样会为我们输出更多的调试信息,支持更多的调试操作。然后点击我们的windows 调试器 启动编译。

c911f592f9b73ef8318f30c85b638a8d.png

第三步:这是我们启动后的编辑器结构和vs文件夹结构:

76acdc5dc31c9250e8251696eb77b03b.png

351ddd631955d3c90423ea6ece5f08d5.png

第四步:创建文件夹 Blueprint 和Res。我们项目采用蓝图写基本逻辑(为了照顾大部分人),实际中建议采用Lua写逻辑:

83bf8123be22239ec07f554d9f3ca604.png

第五步:创建C++文件夹和文件,创建我们的登陆注册UI类:

22907f9b9a4fd67130b2884603d6518c.png

由于是UI类,首先我们需要创建一个顶级UI类,也就是说,我们所有的UI类 都是继承自这个类。那我们这个顶级UI类 叫mmo_Base_UI 继承自userWidget类(关于继承的好处这里就不多说了 简单的说就是公共的方法或者变量抽取到父类去 子类想要用 直接继承,想实现不同自己也可以重写)。

14436245f4fa31f135c481d4cc62663d.png

然后存放于这个文件夹下:

1db4b7e9577f647c59c8e79dc9571a70.png

点击创建类,然后就创建好了:

6f7c435afbdf06909bc2ccb2d949a93a.png

第六步:接下来创建我们的登陆注册界面的类,我们叫mmo_login_ui

349606e7549003d844a1bb18e01f5256.png

6690ffa8f352dee7563158584ed6b5d6.png

然后搜索 我们刚才的顶级父类mmo_Base_UI:

294700bf8a922a32ec409ffb4eee5904.png

a2aca98ca87f7a4908cb9fa746d05a20.png

然后点击创建,这样的话。我们登陆注册的Ui类 也就继承自这个类 并且创建出来了:

2a0cfda24c7b3e537ccb41fd09e682ae.png

b59319cff7aa21a499842cc99afd529d.png

第七步:创建mmo_login_ui c++类 对于的蓝图类:

新建文件夹存放我们所有的UMG:

b06780669fab54032039a4a5462509d2.png

然后再创建loginui文件夹 用来存放 所有跟登陆注册有关的UMG:

ab1db2179c009482b7ac5150ade7fe0d.png

创建UMG类 继承自 我们刚才创建的登陆注册C++类:

cb663ee8d186da9205523d3e5d616eb1.png

0b08b3e55634ced216f46192899c0310.png

1628f63f460bfc2d8171601caf070df1.png

到这里我们登陆注册的基本结构就搭建好了。下一节 开始完成登陆注册界面 并且加上动态背景 UI复用。

文章有什么错误请指出。哈哈 =。=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值