BlueprintプロジェクトをC ++に移動する現実的な境界
ロジックはC ++、WidgetデザインはWBPに保つ
本ブログ作成文は、講義を目指して製作されました。 また、作成された文章の情報も間違っている可能性がありますので、ご注意ください。
BlueprintプロジェクトをC ++に移動すると、すべて.uassetを取り除くことを目指して握りやすい。 しかし、ゲームロジックとUIレイアウトは移動するコストが異なる。
C++に移動するのに良い部分
- 保存と読み込みルール
- 戦闘と移動検証
- データ処理と共通関数
- Delegate 接続
- Subsystemとフレームワーククラス
- 複数のブループリントからコピーされたロジック
ProjectDTでは、正解処理後の付随効果UDTUISubsystem::ProcessSolvedProblem()に集めた。 ProjectTBでは、購入、装着、配置検証をC++関数が担当する。
WBPに残すほうがいい部分
- ウィジェットツリーの配置
- デザイナーが頻繁に変更するサイズと色
- Widget Animation
- 画像やフォントなどの表現資産
- レベルに配置した視覚要素
この部分までC ++に移動するにはWidgetTreeをコードにするか、Slateを書く必要があります。 可能はあるが、修正速度とデザイナーの作業性が大きく異なる。
PublicとPrivateフォルダを整理する
ProjectDTは外部に公開するHeaderをPublic、実装CPPPrivateに再配置した。
Source/ProjectDT/
├─ Public/
│ ├─ System/
│ └─ Investigate/
└─ Private/
├─ System/
└─ Investigate/
モジュール外で使用する契約だけをPublicに置くと、Include関係が明らかになる。 内部実装用Headerまで無条件Publicに置く必要はない。
Blueprint から C++ への移動は全部でなければ専務ではない。 ルールと状態はC ++で集まり、WBPはデザインシェルで維持する境界がほとんどのプロジェクトで現実的である。