文章目录

  • GamePlay框架简介
    • 定义
    • 设计者的规则
      • Game Mode
      • Game State
      • Default Pawn
      • Player Controller
      • Player State
      • HUD

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为用户界面开发主要手段。

【UE4】GamePlay框架简介(蓝图)相关推荐

  1. UE4学习笔记:GamePlay框架与蓝图功能实现,开关门互动、鼠标、按键开门、按键升降电梯

    前言: 目前是正式学习ue4第二周 个人觉得很重要的一点就是理解UE4 GamePlay框架.后续学习unity以及其他引擎,框架应该是需要最先了解的 我是先看了近2周谌嘉诚老师的教程,然后中途才了解 ...

  2. UE4 Gameplay框架浅析笔记

    GameMode 游戏模式,不同关卡可以应用不同的游戏模式 Pawn 棋子,非人形角色. Character是人形角色,有移动组件. HUD UI管理器,管理UI生命周期 PlayerControll ...

  3. 谈谈Gameplay,以及UE4的Gameplay框架

    文章目录 前言 什么是Gameplay Character Camera Control 游戏脚本 介绍脚本语言 脚本系统 UE4 Gameplay框架 介绍重要框架类 Actor类 Componen ...

  4. 【UE4】GamePlay框架应用(蓝图)

    文章目录 GamePlay框架应用 1.为关卡设置GameMode ①为当前关卡设置GameMode ②为该项目的所有关卡设置GameMode 2.切换相机视角 3.在事件图表中使用GameMode中 ...

  5. UE4入门学习3:GamePlay框架

    - - 文章 UE4入门学习3:GamePlay框架 作者 游蓝海( http://blog.csdn.net/you_lan_hai ) UE4为游戏开发提供了一套基础的框架,在这套框架的基础上,我 ...

  6. UE4:浅谈什么是GamePlay框架

    世界大纲那里的gamemode下面的选项就可以看成是一个gameplay框架的具体体现 首先是GameMod,它是指游戏模式,一个游戏可能有多个模式,比如一个关卡是一个模式,一个游戏大厅来说又是一个模 ...

  7. ue4的GamePlay框架

    创世记 UE创世,万物皆UObject,接着有Actor. UObject: 起初,UE创世,有感于天地间C++原始之气一片混沌虚无,便撷取凝实一团C++之气,降下无边魔力,洒下秩序之光,便为这个世界 ...

  8. UE5 Gameplay 框架拆解

    应前辈要求,开始看UE5中关于Gameplay中两个新的特性--Game Feature和Modular Gameplay. 然而我现在连Fortnite的Gameplay Ability系统还没有摸 ...

  9. UE4 GamePlay架构

    UE4 GamePlay架构 前言 GamePlay架构_1_Actor和Component GamePlay架构_2_Level和World GamePlay架构_3_GameInstance Ga ...

最新文章

  1. java的内省有用么_JAVA中的内省使用
  2. 系统集成资质培训 - 标准系列 -软件文档管理指南
  3. python3读取csv和xlsx文件
  4. 前端学习(3144):react-hello-react之对比新旧周期
  5. reactor模型_Reactor模式以及Netty中的应用
  6. 今天的成功的滋味 企业即时通讯
  7. 【jQuery Demo】jQuery打造动态下滑菜单
  8. linux 域名怎么平台,linux平台搭建DNS域名服务与常用配置
  9. Kubernetes持久化方案(PV、PVC、StorageClass)
  10. Nugine: Rust 性能调优
  11. 解决WPS文档不加载金格office360签章的问题
  12. Android Studio数据库增删改查。
  13. Sublime Text 一键删除空白行的方法
  14. 阿里云商标注册流程步骤-阿里云商标自助注册申请步骤...
  15. ResHacker使用小解
  16. MySQL 临时目录
  17. JAVA表示姓名和对应的出生日期
  18. linux 查看ko符号表,linux modprobe命令参数及用法详解--linux加载模块命令
  19. 成功申请美国研究生的10大潜规则
  20. 两大图灵奖得主力作:计算机架构的新黄金时代

热门文章

  1. 单片机数码管显示程序c语言,基于STC89C52单片机的动态数码管显示C语言程序
  2. 2016年上半年信息系统监理师考试感想
  3. feather初体验
  4. kali 改root_linux切换到root用户,kali怎么切换root身份运行
  5. 粒子系统-烟花效果的实现
  6. android视频播放框架Vitamio
  7. [记录] 基于STC89C52RC的贪吃蛇三色游戏机设计(内含点阵驱动、数码管驱动详解)
  8. go语言宕机(panic)——程序终止运行
  9. OCP 11G 051题库解析汇总链接
  10. 移动端微信浏览器调试工具整理eruda,微信x5调试工具无法使用,推荐新工具eruda、vconsole和debugxweb