【必読】バグを減らすブループリント整理術!UE5で可読性UP
Tutorial Tutorial, UE, UE4, UE5, UE5 ブループリント整理, Unreal Engine コーディング規則, Unreal Engine 可読性, Unreal Engine 開発効率, UnrealEngine, アンリアルエンジン, イベントグラフ, ゲームプログラミング, ゲーム開発, チュートリアル, ブループリント最適化, ロジック構築, 可読性, 可読性の向上バグ製造機にならないために知っておくべき可読性とは?
UnrealEngineにおける可読性(Readability)とは、ブループリントやコードの見やすさ・理解しやすさのこと。つまり、可読性が高いと、バグを減らし、チーム開発の効率を向上させることができるということです。
実際にUnrealEngineを触ってみると特にブループリントでは、下記のようなことが起きやすいです。
✅ノードがゴチャゴチャしていて読みにくい
✅変数の意味が分かりにくい
✅関数が無駄に長い
つまり、これらを解決することで、スムーズな開発ができるようになります。
可読性を向上させるには!?
💡1.コメントを適切に記述する
・なぜこの処理が必要か?を説明する
・「何をしているか」はノードを見れば分かるので、処理の目的を書く
・大きな処理の塊ごとに「TODO」 「FIXME」などのマークをつける
※TODOやFIXMEはコードになり、今回説明ができないため割愛します
例1)

今回の例1では、コメント機能を使いダッシュ処理ということを、見ただけで分かるようにしました。
記事でも書いていますが、実際のところブループリントのノードを見れば、どんな処理を組んでいるのかは、作成者でなくとも読み解くことは可能です。
ですが、可読性を向上させると一目で分かるためより作業がやりやすくなります。
※コメントは「C」をイベントグラフで押すと作成することができます。
💡2.ノードの配置を整理する
・右から左へ流れるようにノードを配置
・「分岐」は縦に揃える(If系の処理がバラけないように)
・ワイヤーを極力交差させない(絡まると読みにくい
・「Reroute Node(経路ノード)」を使って整理
例)2


左のように、適当にノードを配置した状態で作業を行っていくと、処理がどんどん見えづらくなり、可読性が低下してしまいます。
なので、右の図のようにノードを整頓しながら作成していくことが大事になります。
例3)

適当に配置していくと結果、こんな感じで分かりづらくなるので、気を付けてくださいね。
💡3.意味のある変数・関数名をつける
・何のデータか分かるような名前にする
・変数名に「is」 「can」 「has」をつけると分かりやすい(IsRunning,CanJump)
・関数は動詞+名詞で命令(CalculateDamage,SpawnEnemy)
例4)

変数は特に、使用する回数が多い(他のイベントグラフでも利用することが多い)傾向にあると思います。
なので、きちんと整理していくことが必要になります。
つまり、適当に名前を付けたくなるときもあると思いますが、分かりやすい名称をつけるようにしましょう!
💡4.関数化(マクロ化)して処理を整理
・同じ処理を何度も書かない(関数orマクロにまとめる)
・1つの関数は1つの目的だけにする(処理を詰め込み過ぎない)
・イベントディスパッチャーで処理を分離
例5)

さきほども例で載せていた処理になります。
こちらの関数では、変数(Item)のStaticMeshを設定することによって、ブループリントクラスの見た目を変更することができる処理になります。
別の処理を付け加えていくのではなく、別に関数を追加して処理を作成しましょう。
関数1 | ReducePlayerHP |
関数2 | PlayDamageEffect |
関数3 | UpdateUI |
関数4 | PlaySoundEffect |
✅5.カテゴリを使う
・変数のカテゴリを整理

変数の詳細タブの中にある「カテゴリ」を利用します。
名称を各変数ごとに設定することによって
例6)

整理することができます。
今回は「Boolean」と「WBP」のカテゴリ名を設定してみました。
カテゴリ名の隣にある「▼」を押すことによって、折りたたむことができるので、今利用する変数だけを表示し、利用しない変数は非表示にしておくと作業効率が上がりますね!
まとめ
ゲーム開発では、チームメンバーが他人の作ったブループリントを理解する機会が多いそうです。
可読性が低いと「この処理何してるの?」と毎回確認することになり、時間効率が低下します。
可読性を向上させることで、「開発スピードが上がる」「バグが減る」「後からの修正が簡単になる」
こんな記事はどう?
各種SNS
▲YoutTube
- 【UE5】右クリックで銃を構える!ズームする「Aim機能」を完全解説!
- 【UE5】知らないと損!Toggle VisibilityでUI&オブジェクトを一瞬で制御する!【ゲーム開発】
- 【UE5】ブループリント関数を駆使して開発を加速!知っておくべき関数とは!?【ゲーム開発】
- 【必読】バグを減らすブループリント整理術!UE5で可読性UP
- 【UE5】モンスターハンターの切れ味ゲージを作ってみよう!【ゲーム開発】Part1
Blueprint Branch Branchノード Material Subtract Tutorial UE UE4 UE5 UE5 ウィジェット UE5 ブループリント UI UnrealEngine Unreal Engine UI Unreal Engine アンカー Unreal Engine ウィジェット Unreal Engine チュートリアル Unreal Engine ノード Unreal Engine レスポンシブUI Unreal Engine 構造体 WBP Widget おすすめノード アセット アンリアルエンジン ウィジェット ウィジェットブループリント ゲームUI ゲームプログラミング ゲーム制作 ゲーム開発 チュートリアル ノード ノード解説 ブループリント プログラミング マテリアル レスポンシブUI レベルアップ ロジック構築 ロジック解説 初心者 勉強 変数 条件分岐