ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】〈Tips〉他人のブループリントと仲良くなるための便利機能まとめ

はじめに

今回は他人のブループリントの解析に便利なUE4の機能を紹介する記事です。

マケプレで購入したフレームワークを解析する場合でも同じ手法が使えるはずなので、ぜひ知識として身につけましょう!

f:id:namiton:20220218125327p:plain

※参考として無料アセットのAdvanceLocomotionSystemV4を使用しています。

UE4.26.2を使用しています。今後アップデートなどで表示が変わる可能性もあることをあらかじめご理解ください。

方法

手法1 実行状態からイジェクトして動いている機能を確認する

実行中にイジェクトボタンまたはF8キーで幽体離脱できます。

 

アウトライナウィンドウで操作していたキャラクターブループリントや生成されたアクターなどを確認しましょう。

f:id:namiton:20220218120914p:plain

 

白色の文字が元からあったアクターで

黄色い文字が実行時に生成されたアクターです。

f:id:namiton:20220218121155p:plain

 

 

手法2 アクターのシミュレートして遷移を追う

実行中に使用されたブループリントを見ると動作の遷移が追えます。

 

遷移を有効にするにはデバッグフィルターに分析対象を選択する必要があります。

f:id:namiton:20220218121547p:plain

 

オレンジ色でハイライトされます。

関数の中身も追えるので便利です。

f:id:namiton:20220218121725p:plain

特に複雑になりがちなアニメーションの遷移なども確認することができます。

f:id:namiton:20220218121951p:plain

 

手法3 参照ビューアを使用する

参照ビューアを使用すると対象のブループリントの依存を確認できます。

 

対象を右クリックして参照ビューアを選択します。

f:id:namiton:20220218122312p:plain

 

中央にブループリント対象本体がいて

左側に使用されている参照

右側が使用している参照です

f:id:namiton:20220218122403p:plain

これを使うことで使用しているインターフェースやマクロなども確認できます。

f:id:namiton:20220218122630p:plain



手法4 変数や関数のリファレンスを検索

ブループリント内の変数や関数を使用しているところを全検索できます。

例えばALS_AnimMan_CharacterBPの親クラスであるALS_Base_CharacterBPで

動いているかチェックする変数IsMovingの使用箇所を検索します。

f:id:namiton:20220218123235p:plain

 

すると結果検索のウィンドウに使用されている場所が一覧で表示され

ダブルクリックで参照先へ移動することも可能です。

f:id:namiton:20220218123313p:plain

またこのウィンドウの右上にある双眼鏡なアイコンをクリックすると

検索対象をプロジェクト全体に変更することができます。

f:id:namiton:20220218123452p:plain

この変数はこのブループリントでしか利用されていないようです。

f:id:namiton:20220218123605p:plain

小技

この機能はノードでも動作するので

PrintStringノードを適当な位置で出して

全体検索をかけるとすべてのPrintStringノードが検索できます。

場所がわからないノードを無理やり解析することもできるので地味に便利です。

f:id:namiton:20220218124145p:plain

f:id:namiton:20220218124201p:plain

 

手法5 ブレークポイントをはる

プログラマーに馴染み深いブレークポイントはブループリントでも同様な機能があります。

ブレークポイントはノードの呼び出し順番や遷移を確認するときに非常に便利です。

 

対象ノードを右クリックしてブレークポイントを追加できます。

f:id:namiton:20220218124455p:plain

 

実行すると上のタブのステップイン・ステップオーバー・ステップアウトなどのタブで操作することが可能です。

f:id:namiton:20220218124604p:plain

 

いかがでしょうか。

これらの機能を使えば他人のコードを理解する強い武器になるはずです。

皆さんも未来の自分や他人のために日頃のコメントをたくさんつけてあげてくださいね!

 

f:id:namiton:20220218125156p:plain