【UE4】GamePlay框架简介(蓝图)

GamePlay框架简介

如果不知道GamePlay框架,基本上无法使用虚幻引擎

定义

框架(Framework)是一个框子**(约束性),也是一个架子(支撑性)**。是一个基本概念上的结构,用于去解决或者处理复杂的问题。

框架这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面,而后者是从目的方面给出定义。

设计者的规则

虚幻引擎的设计希望开发人员在使用引擎之前是准备好了的!并且有充足的能力去理解游戏设计意图。在此之上为我们提供了一套开发规则,我们称之为游戏框架(GamePlay框架)。虚幻设计者为我们抽象出了多种角色,在开发过程中我们需要沿着设计者给定的身份进行游戏设定编写。这虽然约束了我们的设计,但是在一定程度上加强了开发的稳定性

我们需要认知虚幻为我们抽象出的角色:游戏模式(GameMode),游戏状态(GameState),玩家(DefaulePawn),玩家状态(PlayerState),玩家操控器(PlayerConroller),用户界面(HUD)

抽象的角色,在游戏中扮演不同的身份,从事不同的工作任务。

Game Mode

GameMode和GameState主要负责游戏中的相关信息。GM主要负责管理游戏的规则。这些规则包括:

1、出现的玩家和观众数量,以及允许的玩家和观众最大数量。

2、玩家进入游戏的方式,可包含选择出生地点和其他生成/重生行为的规则。

3、游戏是否可以暂停,以及如何处理游戏暂停。

4、关卡之间的过渡,包括游戏是否以动画模式开场。

GM的主要任务就是构建和实现游戏的规则,并将游戏中的其他角色进行注册:例如默认的玩家,HUD类,玩家操控器,观众类,GameState类,PlayState类

游戏规则及获胜条件这样的内容。它仅存在于服务器上。它一般在游戏过程中不会有太多数据台变,并且它一定不应该具有客户端需要的临时数据。

Game State

GameState主要负责游戏中共享信息(公共数据)的记录,游戏的信息可以通过GameState进行存储和同步。包括:

1、游戏已运行的时间(包括本地玩家加入前的运行时间)

2、每个个体玩家加入游戏的时间和玩家的当前状态

3、当前GameMode的基类

4、游戏是否已开始

例如,FPS游戏中的积分版。

GameState是虚幻中为我们进行游戏信息记录的载体。包括像关联玩家的列表、分数、象棋游戏中的象棋位置或者在开放世界中已经完成的任务列表。GameState存在于服务器和所有客户端上,可以自由地进行复制来保持同步。

Default Pawn

默认玩家,不管任何游戏,都应当存在一个默认的玩家,这是肯定的!即使是最开放的游戏,也需要存在一个上帝视角进行游戏的指令发布。在虚幻中默认玩家扮演的就是这个角色。

注意:只有继承在Pawn的对象才能成为默认玩家。

默认玩家需要通过控制器进行控制,它们可以轻松地接受输入,并且可以执行各种各样的类似于玩家的动作。

Player Controller

控制器,是负责管理玩家的Actor类型对象。主要目的是将真是玩家的意愿进行收集,最后汇总转投给虚拟角色。这个过程就是游戏中的玩家交互过程。

这个是连接真实玩家和你控制的虚拟玩家的桥梁。

PlayerController(玩家控制器)是Pawn和控制它的人类玩家间的接口。PlayerController本质上代表了人类玩家的意愿。

例如,人类玩家在键盘上按下W,则PlayerController将会把这一信息传递给Default Pawn

PlayerController还有一个兄弟,叫AIController。PlayerController是用来控制DefaultPawn的,而AIController用来控制NPC,怪物等非玩家Pawn的。

Player State

PlayerState是游戏中的一个参与者的状态,比如人类玩家或者模拟人类玩家的机器人。作为游戏一部分存在的非人类玩家AI没有PlayerState。PlayerState中适合包含的示例数据有:玩家姓名、分数、像多人在线竞技场这样的比赛中的级别、或在夺旗模式游戏中玩家当前是否正在占领旗帜。所有玩家的PlayerStates在所有机器上都存在(和PlayerControllers不同),并且可以自由地进行复制来保持同步。

这个是保存真实数据的,不是皮囊数据。

我们需要搞清楚一个概念,玩家数据和玩家操控角色数据是两个不同的数据点。

HUD

HUD是一种“平头显示信息”,或者说是二维的屏幕显示信息,在很多游戏中都很常见。想一下生命值、弹药量、枪支十字准线等。每个PlayerController一般都具有一些这样的信息。

显示信息”,或者说是二维的屏幕显示信息,在很多游戏中都很常见。想一下生命值、弹药量、枪支十字准线等。每个PlayerController一般都具有一些这样的信息。

HUD是我们用来进行简单UI绘制的入口,一般我们在游戏开发中均更换为UMG为用户界面开发主要手段。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、本课程是一个干货课程,主要讲解如何封装服务器底层,使用Tcp/ip长连接,IDE使用vs2019 c++开发以及使用c++11的一些标准,跨平台windows和linux,服务器性能高效,单服务器压力测试上万无压力,服务器框架是经历过上线产品的验证,框架简单明了,不熟悉底层封装的人,半个小时就能完全掌握服务器框架上手写业务逻辑。2、本课程是一个底层服务器框架教程,主要是教会学员在windows或linux下如何封装一个高效的,避免踩坑的商业级框架,服务器底层使用初始化即开辟内存的技术,使用内存池,服务器运行期间内存不会溢出,非常稳定,同时服务器使用自定义哈希hashContainer,在处理新的连接,新的数据,新的封包,以及解包,发包,粘包的过程,哈希容器性能非常高效,增、删、查、改永远不会随着连接人数的上升而降低性能,增、删、查、改的复杂度永远都是恒定的O(1)。3、服务器底层封装没有使用任何第三方网络库以及任何第三方插件,自由度非常的高,出了任何BUG,你都有办法去修改,查找问题也非常方便,在windows下使用iocp,linux下使用epoll.4、讲解c++纯客户端,主要用于服务器之间通信,也就是说你想搭建多层结构的服务器,服务器与服务器之间使用socket通信。还可以使用c++客户端做压力测试,开辟多线程连接服务器,教程提供了压力测试,学员可以自己做压力测试服务器性能。5、赠送ue4和unity3d通信底层框架以及多人交互demo,登录,注册,玩家离开,同步主要是教会学员服务器与客户端如何交互。6、赠送c++连接mysql数据库框架demo,登录,注册,玩家离开数据持久化.7、服务器教程使用自定义通信协议,同时也支持protobuf,选择权在开发者自己手里,想用什么协议都可以,自由度高。8、服务器教程使用手动敲代码逐句讲解的方式开展教学课程。非喜勿喷,谢谢大家。9、服务器教程提供源码,大家可以在平台提供的地址下载或者联系我,服务器使用c++11部分标准,std::thread,条件变量,线程锁,智能指针等,需要学员具备一定c++知识,购买前请慎重考虑。
UE4中的Gameplay框架是一个强大的工具集,用于开发和实现游戏玩法和用户交互。该框架提供了许多功能和组件,以帮助游戏开发者快速构建出丰富、流畅的游戏体验。 UE4Gameplay框架主要由以下几个方面组成: 1.输入系统:该系统可以处理各种输入设备的操作,如鼠标、键盘和游戏手柄。开发者可以轻松地设置和管理输入映射和按键绑定。此外,还提供了鼠标和手柄的即时响应和移动方向控制功能,使玩家能够自由操作游戏中的角色。 2.角色控制器:角色控制器是游戏玩家在游戏中扮演的角色,他们的控制是通过输入系统和蓝图来实现的。游戏玩家可以移动角色、执行动作、攻击敌人等。角色还可以通过动画系统实现自然的运动和交互。 3.人工智能:UE4Gameplay框架提供了内置的人工智能系统,可以对NPC和敌人进行编程控制。开发者可以设置敌人的行为模式、路径寻找和攻击策略,让游戏中的敌人具有更真实和智能的表现。 4.物理模拟:UE4Gameplay框架使用了物理引擎来实现真实的物理模拟效果,比如碰撞、重力和刚体运动等。这使开发者能够创建更真实和具有交互性的游戏世界,使玩家可以与环境进行互动。 总之,UE4Gameplay框架提供了强大而灵活的工具,帮助开发者轻松地构建出丰富多样的游戏玩法和用户交互。无论是开发动作冒险游戏、射击游戏还是角色扮演游戏,该框架都能满足开发者的需求,并带来令人惊叹的游戏体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Chaser_Hc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值