最近看教学,有个讲解UE4初始化顺序的,记录一下。
首先创建一个Actor,Character,GameInstance,GameMode,LevelScriptActor(关卡),PlayerController。
首先看一下actor的生命周期
Actor的头文件对于生成顺序注释是:
我们把actor蓝图直接拖入ue关卡中的话,应该会走从磁盘加载的流程。
已位于关卡中的 Actor 使用此路径,如 LoadMap 发生时、或 AddToWorld(从流关卡或子关卡)被调用时。
首先调用构造函数,包/关卡中的 Actor 从磁盘中进行加载。
PostLoad - 在序列化 Actor 从磁盘加载完成后被调用。
InitializeActorsForPlay
为未初始化的 Actor 执行 RouteActorInitialize(包含无缝行程携带)
PreInitializeComponents - 在 Actor 的组件上调用 InitializeComponent 之前进行调用
InitializeComponent - Actor 上定义的每个组件的创建辅助函数。
PostInitializeComponents - Actor 的组件初始化后调用
BeginPlay - 关卡开始后调用
然后在C++中,分别在构造函数,PostInitializeComp