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的最终位置是从其根组件来的;组件也可以拥有子组件。

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去控制,与玩家进行互动。

GameFramework

参考

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


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

posted @ 2017-10-19 18:07  游蓝海2017  阅读(1188)  评论(0编辑  收藏  举报