天天看點

UE4引擎架構

因為項目需要提供一些關于引擎的架構之類的東西,經過整理,完成下面的一些内容,沒有什麼邏輯性,僅僅為了搜集架構相關的圖檔,如果你們也剛好需要,請自取。

遊戲流程總覽

此文檔解釋啟用引擎和運作遊戲的過程。此處說明兩種主要路徑:編輯器路徑、standalone路徑。事件的一般順序為初始化引擎、建立并初始化 GameInstance、加載關卡,最後開始遊戲。然而在部分被調用函數的準确排序和函數被調用的位置方面,standalone模式和編輯器模式之間存在差異。以下流程圖展示兩個平行運作的路徑,它們在遊戲開始之前彙聚。

Standalone

在 Standalone 模式中(在編輯器外進行的遊戲使用該模式),引擎啟動和初始化之後将立即對進行遊戲所需的對象進行建立和初始化。諸如 GameInstance 之類的對象在引擎啟用之前被建立和初始化(與建立和初始化引擎不同)。引擎的啟動函數被調用後,将立即加載初始地圖。關卡建立适當的 Game Mode 和 GameState ,然後建立其他 Actor 後,遊戲程序便正式開始。

編輯器

編輯器模式由 Play In Editor 和 Simulate In Editor 使用,流程完全不同。引擎立即初始化并啟動,因為需要它運作編輯器,但諸如 GameInstance 之類對象的建立和初始化将被延遲,直到玩家按下按鈕啟動PIE或SIE會話。此外,關卡中的 Actor 将被複制,使遊戲中的變更不影響編輯器中的關卡,每個對象(包括 GameInstance)均有每個 PIE 執行個體的單獨副本。在 UWorld 類中遊戲程序開始時,編輯器路徑和standalone路徑再次結合。

流程圖:

UE4引擎架構
UE4引擎架構

Actor生命周期:

UE4引擎架構
UE4引擎架構

架構中類的關系

這個流程圖解釋了這些核心遊戲類之間的關系。一個遊戲由GameMode和GameState構成。加入遊戲的人類玩家同PlayerController相關聯。這些PlayerController允許玩家在遊戲中占有pawn,以便它們在遊戲中有實體表示。PlayerController也為玩家提供了輸入控制、平頭顯示資訊或HUD、及處理相機視圖的PlayerCameraManager。

UE4引擎架構
UE4引擎架構

使用 C++代碼進行遊戲性元素程式設計時,每個子產品會包含許多 C++類。

UE4引擎架構
UE4引擎架構

每個類定義新 Actor或對象的模闆。類頭檔案中聲明了類、類 函數 和類 屬性 。類還包含 結構體 這種有助于進行相關屬性組織和操作的資料結構。結構也可被自行定義。通過 接口 可以使不同的類應用額外的遊戲性行為。

在虛幻 4 中,通過整潔的元件繼承便能建立複合遊戲物體。

UE4引擎架構
UE4引擎架構