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