UE4引擎架构

因为项目需要提供一些关于引擎的架构之类的东西,经过整理,完成下面的一些内容,没有什么逻辑性,仅仅为了搜集架构相关的图片,如果你们也刚好需要,请自取。

游戏流程总览

此文档解释启用引擎和运行游戏的过程。此处说明两种主要路径:编辑器路径、standalone路径。事件的一般顺序为初始化引擎、创建并初始化 GameInstance、加载关卡,最后开始游戏。然而在部分被调用函数的准确排序和函数被调用的位置方面,standalone模式和编辑器模式之间存在差异。以下流程图展示两个平行运行的路径,它们在游戏开始之前汇聚。

Standalone

Standalone 模式中(在编辑器外进行的游戏使用该模式),引擎启动和初始化之后将立即对进行游戏所需的对象进行创建和初始化。诸如 GameInstance 之类的对象在引擎启用之前被创建和初始化(与创建和初始化引擎不同)。引擎的启动函数被调用后,将立即加载初始地图。关卡创建适当的 Game Mode 和 GameState ,然后创建其他 Actor 后,游戏进程便正式开始。

编辑器

编辑器模式由 Play In Editor  Simulate In Editor 使用,流程完全不同。引擎立即初始化并启动,因为需要它运行编辑器,但诸如 GameInstance 之类对象的创建和初始化将被延迟,直到玩家按下按钮启动PIESIE会话。此外,关卡中的 Actor 将被复制,使游戏中的变更不影响编辑器中的关卡,每个对象(包括 GameInstance)均有每个 PIE 实例的单独副本。在 UWorld 类中游戏进程开始时,编辑器路径和standalone路径再次结合。

 

 

 

 

 

 

 

 

流程图:

 UE4引擎架构UE4引擎架构

 

 

 

Actor生命周期:

 UE4引擎架构UE4引擎架构

架构中类的关系

这个流程图解释了这些核心游戏类之间的关系。一个游戏由GameModeGameState构成。加入游戏的人类玩家同PlayerController相关联。这些PlayerController允许玩家在游戏中占有pawn,以便它们在游戏中有物理表示。PlayerController也为玩家提供了输入控制、平头显示信息或HUD及处理相机视图的PlayerCameraManager

 UE4引擎架构

 

 UE4引擎架构

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用 C++代码进行游戏性元素编程时,每个模块会包含许多 C++类。

UE4引擎架构UE4引擎架构

每个类定义新 Actor或对象的模板。类头文件中声明了类、类 函数 和类 属性 。类还包含 结构体 这种有助于进行相关属性组织和操作的数据结构。结构也可被自行定义。通过 接口 可以使不同的类应用额外的游戏性行为。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在虚幻 4 中,通过整洁的组件继承便能创建复合游戏物体。

 UE4引擎架构

 UE4引擎架构