1. 本體:每個項目都有一個與之對應的 .uproject
文件。.uproject
文件是你創建、打開或保存項目必須用到的文件。
2. 基本元素 Actor:Actor是虛幻引擎中使用的一個編程類,用於定義一個具有三維位置、旋轉度及縮放比例數據的對象。無論該對象是一個光源、網格物體還是一個角色。類似Unity的GameObject。
GameObject 屬於 C# 類,並且無法直接擴展。在虛幻 4 中,Actor 屬於 C++ 類,而且允許你通過繼承來拓展和自定義。
Actor的父類是Object,擁有一些基本功能,比如 反射 和 序列化。當我們需要定義一個新的類但又並非 Actor 的時候會使用它。
Actor的子類:
-
Pawn - Actor 的一種類型,用於表現一個可供控制的游戲對象,比如玩家操控的角色。玩家或者 AI 通常通過 Controller 來控制並移動 Pawn。
-
Character - 一種特殊類型的 Pawn,用於雙足類型的角色,並具備一些復雜的功能。
-
Controller - 占有並控制一個 Pawn。通過將 Pawn 和 Controller 的分離,我們可以編寫 AI Controller,用於控制 Pawn,並且和玩家控制 Pawn 采用相同的接口。
-
Player Controller - 一個更為特殊的 Controller,用於從玩家的手柄、觸控板、鼠標/鍵盤獲得輸入信息,並將這些信息驅動玩家所控制的 Pawn 或者 Character 的行為。
3. 藍圖(Blueprint):藍圖的用法也是通過定義在引擎中的面向對象的類或者對象。
4. 測試:通過"在編輯器中運行"(PIE)這一模式在編輯器中直接獲取實時反饋, 甚至還能通過"在編輯器中模擬"(Simulate In Editor)這一模式在運行時檢查並操控游戲對象。
5. 熱更新(Hot Reload)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------為Unity用戶准備的虛幻4指南-----------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 項目和文件
最重要的就是 Content 子目錄和 Source 子目錄。每個項目都有一個 Content 文件夾。它類似於 Unity 項目的 Asset 目錄。
Content文件夾存儲所有導入資源以及項目合並內容,
存儲文件類型:.uasset 資源 .umap 地圖
可被導入資源類型:
3D模型 | .fbx .obj |
紋理/圖像 | .bmp .jepg .pcx .png .psd .tga .hdr |
字體 | .otf .ttf |
音頻 | .wav |
視頻 | .wmv |
PhysX | .apb .apx |
其他 | .csv |
源文件在Source目錄,包括 C++ 源文件(.cpp)和頭文件(.h),以及一些編譯用的腳本(.Build.cs,.Target.cs)。不過,如果項目只包含藍圖,則項目中沒有 Source 目錄
Saved文件夾:
2. 場景
在unity里是Scene,在UE4里是Map file。
3. 設置
Project Settings一致,unity里的玩家設置在UE4里叫平台設置。
4. 預制體/藍圖
unity里的預制體,在UE4里是創建一個帶有組件的 Actor,然后選中它並點擊 藍圖 / 添加腳本(Blueprint / Add Script) 按鈕(位於 細節 面板中)。
5. 生命周期函數
unity里的Start Update Destory,在UE4里對應如圖:
在UE4中,組件也有生命周期函數:
6. Gameplay
虛幻在頂層提供了叫做 Gameplay 框架 的機制。是一個C++/藍圖類集合,用於管理游戲規則、用戶輸入、攝像機、HUD。
6.1 GameMode類
用途:設置游戲規則、存儲其他定義核心功能的類
項目里可以有多個GameMode,但默認游戲模式只有一個,它是每個關卡中使用的GameMode,除非在關卡編輯器 -> 世界設置 -> Game Mode Override 覆蓋。
GameMode的子類:
- DefaultPawn
- HUD
- PlayerController
- Spectator
- ReplaySpectator
- PlayerState
- GameState
6.2 Controller類
用途:一個Controller類控制一個pawn。
- PlayerController:管理玩家輸入來控制Pawn。也可以設置光標顯示、鼠標單擊響應時間。
- AIController
6.3 Pawn
定義:指玩家的化身。
6.4 Character
6.5 HUD類 (Head Up Display平視顯示)
用途:繪制2D界面內容
工具:UMG (Unreal Motion Graphics)
C++ 中有些類以 "A" 開頭,而其他一些類以 "U" 開頭。前綴 "A" 代表它是 Actor 的子類,而前綴 "U" 代表它是 Object 的子類。還有其他一些前綴,比如 "F" 通常表示一個簡單的數據結構類,或者其他非 Uboject 類。
7. 單位距離
Unity的單位距離是1米,UE4是1厘米。
8. 坐標系
都是左手坐標系,但在虛幻 4 中,X 的正方向是"前",Y 的正方向是"右",Z 的正方向是"上"。