UE4 GamePlay架构(入门)

游戏世界分解

自顶向下的对游戏世界进行分解


GameInstance

游戏一旦开始便产生了一个游戏实例(GameInstance)

他的生命随着游戏程序的开始而建立,随着游戏程序的结束而消亡。

用途:

1.在GameInstance中保存需要初始化的全局变量方便后续应用(全局变量使用请慎重,生命周期长占内存,会造成全局污染,强耦合,且不易管理)

2.编写关卡跳转逻辑


World

表示游戏世界,在可以类比现实世界,包含基本的物理规则与其他信息,世界中所有的对象都要遵循他。


Level

关卡是构成世界的重要部分,如果把World比作地球,可以把Level当做各个国家,所有的Level默认都要遵循World的基本规定,但也可以自定义的更改。

例如,国家规定公共场合不准吸烟,但有的小网吧为了生存则开放了吸烟规则。


Actor

在关卡中可以放置的任何对象都是Actor,在软件设计中,他是作为一种概念存在的,可以理解为一种抽象层次或一种标记或一种身份,由其派生的任何类都携带该身份,表示其可以被置放在场景中,可以被同一化的管理。

Actor虽然可以放置在场景中,但他不一定是可见的,也不一定具有大小,方向等空间信息。


Pawn

继承自Actor,中文翻译为“走卒”,即棋盘中的棋子,在游戏中表示可以被操控的对象,例如游戏世界里玩家控制的角色,那些被机器控制的NPC(非玩家角色)。

Character

继承自Pawn,是一种类人形的走卒,携带着骨骼模型(比如人体的骨架,人的所有动作都是基于骨骼的,不可能一个人的腿可以折叠八次),胶囊体(表示一个范围,用于物理、碰撞检测,例如子弹碰到敌人这件事上,毕竟直接用模型去检测碰撞,太消耗性能,可以用一个或多个盒子,胶囊,球体来表示可碰撞的范围,相对于精细化的模型,在可容忍的范围内,效率是极好的),可移动组件等等。


Controller

类似于MVC中的控制器,作为和“玩家Player”与“受控角色Pawn”之间交互的媒介,像一个路由,其应主要承载交互逻辑(如玩家命令的接受与分发、定义并执行其中的约束),而游戏角色的动作逻辑则交给Pawn去完成。

PlayController

玩家控制器,给玩家用的控制器,承载着用户的交互逻辑,用来控制玩家角色。

AIController

AI控制器,给机器人用的控制器,赋予其“智能”,如游戏中的怪物会追着主角跑。


Gamemode

关于游戏世界的一种数据结构,像是将常用的一些引用组织到一起形成的上下文,其包含

Defalutpawn 默认角色

HUD Class 用户界面

Player Controller玩家控制器

Game State 游戏状态(用于网络联机复制)

Player State 玩家状态(用于网络联机复制)

Spectator 旁观者类

...

每个Level都携带一个Gamemode

你可能感兴趣的:(UE4)