- -
文章 UE4入门学习3:GamePlay框架
作者 游蓝海( http://blog.csdn.net/you_lan_hai )

UE4为游戏开发提供了一套基础的框架,在这套框架的基础上,我们可以快速的构建出我们的游戏雏形。本文结合官方文档《游戏架构快速指南》,来分析一下UE4的这套游戏框架。

Actor

什么是Actor

Actor是UE4里最基础的场景元素,他类似与Unity3D里的GameObject,或者是Cocos2d-x的Node。Actor本身只是一个容器,没有任何可视化的属性,甚至连位置属性也没有。但是Actor可以拥有若干个可视化的组件(Component)来表示其外观,Actor也可以拥有子Actor。

什么是组件

组件需要挂在Actor身上使用,可以理解为人身上的挂件;组件可以有位置属性,Actor的最终位置是从其根组件来的;组件也可以拥有子组件。

人物

UE4提供了很多内置的Actor,便于游戏开发。

Pawn

Pawn是可以被控制的物体,也就是拥有Controller。可以认为Pawn是生物的基类。

Character

Character是人形的Actor,默认拥有一个用于碰撞的胶囊体组件(CapsuleComponent)和运动相关的组件(CharacterMoveMentComponent),并具有一些动画相关的功能。可以认为是人性动物的基类。

控制器

控制器用于控制Pawn的行为,一般分为AIController和PlayerController。控制器也是从Actor派生的,因此也可以加入到场景中。

PlayerController

玩家控制器。是Pawn和控制其的玩家之间的桥梁,PlayerController代表了人类玩家的意愿。

AIController

用于控制NPC的控制器,决定了NPC如何与玩家互动。

显示

HUD

平头显示信息,也就是我们常说的UI。显示玩家的名字,血条,得分等信息。

相机

每个PlayerConroller都有一个PlayerCameraManager,代表了玩家的视角。

游戏规则和状态

GameMode

游戏模式。处理游戏的规则,只存在与服务器端,因此客户端相关的逻辑不能存放在GameMode中。

GameState

游戏状态。记录游戏的数据,比如当前游戏的进度,世界任务的完成状态等,会自动同步到各个客户端。

PlayerState

玩家状态。记录玩家个人的数据,比如名字分数等,会自动同步到各个客户端。

总结

GamePlay框架使用了MVC架构,其中Pawn是视图,PlayerState是数据模型,PlayerController是控制器。

一个游戏由游戏规则(GameMode)和游戏状态组成(GameState);玩家在游戏里的化身是Pawn,玩家通过PlayerConroller控制着自己的化身,通过PlayerCameraManager观察世界,PlayerState记录了玩家的数据,HUD显示了这些状态;NPC则由AIConroller去控制,与玩家进行互动。

参考

1.游戏架构快速指南 https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/QuickReference/index.html

本系列文章会和我的个人公众号同步更新,感兴趣的朋友可以关注下我的公众号:游戏引擎学习。扫下面的二维码加关注:

转载于:https://www.cnblogs.com/ygxsk/p/7693965.html

UE4入门学习3:GamePlay框架相关推荐

  1. UE4入门学习4:C++编程介绍

    - - 文章 UE4入门学习4:C++编程介绍 作者 游蓝海( http://blog.csdn.net/you_lan_hai ) UE4直接使用C++作为逻辑层语言,这样引擎层与逻辑层语言统一,不 ...

  2. UE4入门学习笔记——纪念学习虚幻引擎满一周年

    UE4入门学习笔记 前言: 今天是正式学习ue4一周年.一年前的今天,我结束了PBR流程的学习,怀揣着对游戏制作的热爱,正式开始学习ue4,继续追寻儿时的那个大厂梦.谁也没想到,一年后的今天,我会在T ...

  3. UE4入门学习笔记(一)准备设计数据的优化处理

    ** 1.准备设计数据以实现最优性能 ** 1.1.DCC的基本创建原理以及流程 为了更好的将我们在DCC制作软件中的建模模型导入到虚幻引擎平台中,Epic官方提供了面向3ds max.SketchU ...

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

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

  5. EasyUI框架入门学习

    为什么80%的码农都做不了架构师?>>>    前言 新项目的开发前端技术打算采用EasyUI框架(基于EasyUI较为丰富的UI组件库),项目组长将前端EasyUI这块的任务分配给 ...

  6. Python入门学习指南--内附学习框架

    Python入门学习指南 原文链接:https://blog.csdn.net/weixin_44558127/article/details/86527360 最近开始整理python的资料,博主建 ...

  7. SSM框架入门学习记录

    SSM框架入门学习记录 //项目结构 在这里插入图片描述 在这里插入图片描述 包名多种多样,命名习惯问题. 流程:Controller(接受请求)-->Service(biz)(bl)(写业务函 ...

  8. 入门学习因果推断在智能营销/权益应用的通用框架

    废话文学一下:入门学习因果推断三周,总算是入了个门- 就着智能权益方面的两个问题(给什么人发券?+ 发什么券?)简单总结一下两个问题的通用框架 (借一张哈罗顺风车的图,如上) 可以从很多已经落地工程化 ...

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

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

最新文章

  1. Symfony学习笔记
  2. 在读博士的第八年,她破解了量子计算领域最基本的问题之一
  3. node版本升级for ubuntu
  4. 派森编程软件python-派森Python
  5. C# —— 进程与线程的理解
  6. [MySQL基础]MySQL语法规范介绍
  7. 2012.2.9日晚亚马逊的一个错误链接截图
  8. 决策树(Decision Tree,DT)
  9. html显示pcd,PCD5043 Datasheet(数据表) 10 Page - NXP Semiconductors
  10. 向量、矩阵、张量知识
  11. SpringBoot中 pagehelper插件使用
  12. XP下安装装SQL2000企业版本
  13. 关于List.Sort想到的
  14. Ubuntu嵌入式开发环境配置问题集锦(不断更新)
  15. 微信H5支付 以及退款
  16. 智能制造解决方案举例 智能制造解决方案落地实例
  17. 【韩语图片文字识别】如何快速识别韩语图片文字,将文字变成电子档,进行翻译处理教程
  18. linux多核cpu 优化,Ubuntu是否针对多核CPU进行了优化?
  19. 1096:数字统计(信奥)
  20. “我数学太烂,但高考136分!”刷完上万道题后,我找到2个月多考58分的捷径…...

热门文章

  1. html自动刷新 idea_IDEA设置热部署
  2. 手动删除oracle 归档文件,Oracle手动删除归档日志厚,出现ORA-19571错误
  3. c5.0 java_机器学习-AdaBoosting及其Java实现
  4. 二十五、长短时记忆神经网络
  5. 八、朴素贝叶斯中文分类实战
  6. 监督学习——通用线性模型
  7. 马赛克,克星,真来了!
  8. 用 python 制作高逼格的数学动画
  9. 求你了,别再用 print 调试代码了
  10. 瞧瞧,这样的『函数』才叫 Pythonic