規範
文件夾
按「資產類型」與「功能」混合管理
最常見的做法是在根目錄下建立一個以專案名稱命名的文件夾(避免與外掛插件混淆),然後按照以下結構分類:
_ProjectName/(你的專案主文件夾)Animations/:存放動畫序列、Montage。通常會再細分Characters/。Blueprints/:存放角色、遊戲模式 (GameMode)、組件。Core/:核心架構邏輯。Interfaces/:藍圖介面。
Characters/:存放模型 (Skeletal Mesh) 與相關材質。Environment/:場景靜態模型 (Static Mesh)。Maps/:存放.umap地圖檔案。通常分Production/和Test/。Materials/:存放 Master Materials 與 Functions。Instances/:存放材質實例。
VFX/或Niagara/:特效文件。UI/:Widget Blueprints 與貼圖。
檔案命名
HDR_
M_
PHYS_
SM_
T_
OCIO_
Actor Component
AC_
Animation Blueprint
ABP_
Blueprint Interface
BI_
Blueprint
BP_
Curve Table
CT_
Data Table
DT_
Enum
E_
Structure
F_
Widget Blueprint
WBP_
Niagara Emitter
FXE_
Niagara System
FXS_
Niagara Function
FXF_
Rig
Rig_
Skeleton
SKEL_
Montages
AM_
Animation Sequence
AS_
Blend Space
BS_
NDisplay Configuration
NDC_
Level Sequence
LS_
Sequencer Edits
EDIT_
Media Source
MS_
Media Output
MO_
Media Player
MP_
Media Profile
MPR_
Other
SNAP_
管理變數名稱
1. 核心格式:大駝峰式命名 (PascalCase)
Unreal 不使用 小駝峰(camelCase)或底線(snake_case)。
規則: 每個單字的首字母都大寫,單字之間不加底線。
範例:
MaxHealth,CurrentWeapon,PlayerController。
2. 變數命名 (Variables)
除了使用大駝峰,針對不同類型的變數還有一些特定的小習慣:
布林值 (Booleans): * 習慣以
b作為前綴(在 C++ 中是強制,在藍圖中是好習慣)。名稱應代表「狀態」或「詢問」。
範例:
bIsDead,bCanJump,bHasKey。註:在藍圖面板中,
bIsDead會被自動美化顯示為 "Is Dead"(去掉了 b)。
數值/對象: 直接使用名詞。
範例:
WalkSpeed,TargetEnemy。
3. 函式/事件命名 (Functions / Events)
動詞開頭: 函式代表一個「動作」。
範例:
CalculateDamage,EquipWeapon,UpdateUI。
回傳詢問: 如果函式只是用來檢查某事並回傳布林值。
範例:
IsDead,HasEnoughMana。
4. 常見的命名禁忌 🚫
不要用底線連發: 除了前綴後面的那一個底線,中間不要用
Player_Health_Value(應改為PlayerHealthValue)。不要用數字開頭:
1stWeapon是錯誤的,請用Weapon01。避免縮寫: 除非是常見縮寫(如
UI,HUD,VR),否則CharHP不如CharacterHealth清楚。
管理變數
你可以透過以下幾種方式來組織你的變數:
1. 使用 Category(類別)屬性
這是最基本也最常用的方法。
操作方式:
點擊變數。
在右側的 Details(細節) 面板中,找到 Category 欄位。
你可以直接從下拉選單選擇現有的分類,或者直接輸入新的名稱(例如:
Combat、Movement)。
子分類(Sub-categories):
如果你想建立層級結構,可以使用直線符號
|。範例: 輸入
Stats|Health和Stats|Mana。效果: 變數列表會出現一個名為
Stats的大組,點開後裡面有Health和Mana子組。
2. 利用資料結構進行物理分類
如果某些變數總是「整組出現」,與其建立 10 個獨立變數,不如將它們打包:
Structure (結構體):
在 Content Browser 建立一個
User Defined Structure。將相關變數(如
CurrentHP,MaxHP,HealthRegen)全放進去。在藍圖中只需要建立一個該 Structure 類型的變數即可。這能大幅減少變數列表的長度。
3. 命名慣例的「視覺分類」
正如我們之前討論的命名規則,良好的前綴本身就是一種分類:
所有布林值都以
b開頭(bIsJumping)。所有組件引用以
Comp_開頭。這讓你即便不看分類,光看名字就能知道變數的性質。
4. 變數存取權限分類
在 Details 面板中,你還可以用以下方式區分變數的用途:
Instance Editable (小眼睛圖示): 打開後,該變數會出現在關卡編輯器的細節面板中,方便快速調整數值。
Private: 勾選後,該變數不會被子類(Child Blueprint)存取,這有助於隱藏內部邏輯變數,防止混亂。
💡 實戰建議:推薦的分類清單
你可以參考這套分類邏輯來整理你的角色藍圖:
Config:存放那些你需要在編輯器調整的參數(如
WalkSpeed、JumpHeight)。State:存放當前狀態布林值(如
bIsDead、bIsInCombat)。Internal:存放不需要被外部看見的計算用變數。
References:存放對其他 Actor 或 Component 的引用(如
TargetEnemy)。
Last updated