UE4入门学习3:GamePlay框架
- | - |
---|---|
文章 | 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框架相关推荐
- UE4入门学习4:C++编程介绍
- - 文章 UE4入门学习4:C++编程介绍 作者 游蓝海( http://blog.csdn.net/you_lan_hai ) UE4直接使用C++作为逻辑层语言,这样引擎层与逻辑层语言统一,不 ...
- UE4入门学习笔记——纪念学习虚幻引擎满一周年
UE4入门学习笔记 前言: 今天是正式学习ue4一周年.一年前的今天,我结束了PBR流程的学习,怀揣着对游戏制作的热爱,正式开始学习ue4,继续追寻儿时的那个大厂梦.谁也没想到,一年后的今天,我会在T ...
- UE4入门学习笔记(一)准备设计数据的优化处理
** 1.准备设计数据以实现最优性能 ** 1.1.DCC的基本创建原理以及流程 为了更好的将我们在DCC制作软件中的建模模型导入到虚幻引擎平台中,Epic官方提供了面向3ds max.SketchU ...
- UE4学习笔记:GamePlay框架与蓝图功能实现,开关门互动、鼠标、按键开门、按键升降电梯
前言: 目前是正式学习ue4第二周 个人觉得很重要的一点就是理解UE4 GamePlay框架.后续学习unity以及其他引擎,框架应该是需要最先了解的 我是先看了近2周谌嘉诚老师的教程,然后中途才了解 ...
- EasyUI框架入门学习
为什么80%的码农都做不了架构师?>>> 前言 新项目的开发前端技术打算采用EasyUI框架(基于EasyUI较为丰富的UI组件库),项目组长将前端EasyUI这块的任务分配给 ...
- Python入门学习指南--内附学习框架
Python入门学习指南 原文链接:https://blog.csdn.net/weixin_44558127/article/details/86527360 最近开始整理python的资料,博主建 ...
- SSM框架入门学习记录
SSM框架入门学习记录 //项目结构 在这里插入图片描述 在这里插入图片描述 包名多种多样,命名习惯问题. 流程:Controller(接受请求)-->Service(biz)(bl)(写业务函 ...
- 入门学习因果推断在智能营销/权益应用的通用框架
废话文学一下:入门学习因果推断三周,总算是入了个门- 就着智能权益方面的两个问题(给什么人发券?+ 发什么券?)简单总结一下两个问题的通用框架 (借一张哈罗顺风车的图,如上) 可以从很多已经落地工程化 ...
- 谈谈Gameplay,以及UE4的Gameplay框架
文章目录 前言 什么是Gameplay Character Camera Control 游戏脚本 介绍脚本语言 脚本系统 UE4 Gameplay框架 介绍重要框架类 Actor类 Componen ...
最新文章
- Symfony学习笔记
- 在读博士的第八年,她破解了量子计算领域最基本的问题之一
- node版本升级for ubuntu
- 派森编程软件python-派森Python
- C# —— 进程与线程的理解
- [MySQL基础]MySQL语法规范介绍
- 2012.2.9日晚亚马逊的一个错误链接截图
- 决策树(Decision Tree,DT)
- html显示pcd,PCD5043 Datasheet(数据表) 10 Page - NXP Semiconductors
- 向量、矩阵、张量知识
- SpringBoot中 pagehelper插件使用
- XP下安装装SQL2000企业版本
- 关于List.Sort想到的
- Ubuntu嵌入式开发环境配置问题集锦(不断更新)
- 微信H5支付 以及退款
- 智能制造解决方案举例 智能制造解决方案落地实例
- 【韩语图片文字识别】如何快速识别韩语图片文字,将文字变成电子档,进行翻译处理教程
- linux多核cpu 优化,Ubuntu是否针对多核CPU进行了优化?
- 1096:数字统计(信奥)
- “我数学太烂,但高考136分!”刷完上万道题后,我找到2个月多考58分的捷径…...