← SEARCHABLE ARCHIVE
Unreal Engine · 2026-07-16

將 Blueprint 專案遷移到 C++ 的現實邊界

將邏輯保留在 C++ 中,將小部件設計保留在 WBP 中

INTERACTIVE READING MODE →

該部落格上撰寫的文章是出於教學目的而創建的。 另外,文章中的資訊可能不正確,請謹慎。

將藍圖專案移至 C++ 時,所有.uasset設定消除目標很容易。 然而,行動遊戲邏輯和UI佈局的成本是不同的。

適合遷移到 C++ 的部分

  • 儲存和載入規則
  • 戰鬥和動作驗證
  • 資料處理及常用功能
  • 代理連接
  • 子系統和框架類
  • 從多個藍圖複製的邏輯

在ProjectDT中,副作用是在處理正確答案後執行的。UDTUISubsystem::ProcessSolvedProblem()集。 在ProjectTB中,C++函數負責購買、安裝和部署驗證。

部分最好留給 WBP

  • 小部件樹佈局
  • 設計師經常更改尺寸和顏色
  • Widget Animation
  • 圖像和字體等表達資產
  • 放置在關卡中的視覺元素

將此部分轉移到 C++WidgetTree您需要將其編寫為程式碼或編寫 Slate。 有可能,但是修改的速度和設計者的可操作性會有很大差異。

組織公共和私人文件夾

ProjectDT 建立一個向外部公開的標頭。Public,實現cppPrivate搬遷至

Source/ProjectDT/
├─ Public/
│  ├─ System/
│  └─ Investigate/
└─ Private/
   ├─ System/
   └─ Investigate/

如果只將模組外使用的合約放在Public中,Include關係就變得清晰起來。 無需在 Public 中保留內部實作的標頭。

從 Blueprint 遷移到 C++ 並不是全部或全部。 對於大多數專案來說,在 C++ 中收集的規則和狀態的邊界以及作為設計外殼維護的 WBP 是現實的。