LoginSignup
13
5

More than 3 years have passed since last update.

にわとりがよく使うBPノード整理術

Last updated at Posted at 2020-12-03

はじめに

本記事はBPをあまり使たことない人やUE4初心者(本物)の人を対象に
僕自身が普段BPを書く際に気を付けている事や便利だな~って思った事をまとめた物になります。

環境

UE4.25.4 で動作確認を行ってます。

本編

既存のノード関数化

すでにあるノードを範囲選択して右クリックから「Collapse to Function」を選択すると
選択しているノードが関数化されます。
Videotogif.gif

ちなみに引数にしたい変数ノードを選択しないで関数化すると勝手に引数にしてくれるのでめっちゃ便利です。
(intとかfloatならいいのですが、Actorとかユーザー定義のクラスだとめちゃんこ便利に感じます。
Videotogif (1).gif

Sequence

つづいてはSequenceノードです。
image.png

SequenceノードはThen0から始まり、Then1、Then2、Then3 と順番に処理をしていくノードなのですが便利な使い方が出来ます。

下記のような不正な値が帰ってきた時に特定の値(今回はZeroVector)を返す関数があるとします。
image.png

別にこれでも処理上は問題ないのですが、ここでまた不正値を返す条件が増えたときReturanNodeにまた繋がないといけなくなり、かなり手間です。

そこでこのように頭にSequenceノードを仕込んで、Then0の値取得が成功した時だけReturnNodeを呼ぶようにしてやれば
不正な引数が来た際にはThen1の方のReturnNodeが呼ばれるようになり、条件追加の際にも対応漏れなどが無くなります。

image.png

関数内で引数のGetNodeが呼べる

UE4の関数内なら引数をローカル変数としてSetしなくてもGetNodeを呼び出すことが出来ます。
短い関数ならそのままノードを伸ばせば済みますが、長い関数とかになってくるとかなり便利です。
image.png

ノードピンから変数追加(ローカルも

変数のノードピンを引っ張って離すと下記の画像のようなコンテキストメニューが表示されます。
引っ張っている型のローカル変数と変数がワンポチで作れてしまうのでめっちゃ便利です。

名前 用途
Promote to local Variable ローカル変数作成
Promote to Variable 変数作成

image.png

RerouteNode

皆大好きRerouteNodeです。
image.png

ちなみに僕はコンテキストメニューから「rero」って打って出してます。
image.png
BPのノードの整理とかによく使われているRerouteNodeですが、僕みたいなめんどくさがりな人には特に便利な使い方が出来ます。

このようにActorの情報をデバッグ表示で出していて、
image.png

別のActorの情報を見たいときまた三つ共ノードを繋げるのめんどいですよね?(一旦Ctrl+右ドラッグは忘れましょう
image.png

そんな時RerouteNodeを介して繋いでおけば、次に別のActorを確認したい時はマウス操作のみ&ワンスライドで変更することが出来ます。
image.png

最初は「Ctrl+右ドラッグ」でやっていたのですが、だんだん両手を使うのがめんどくさくなってきた結果これを多用するなりました。皆さんも是非!

コメント

下記のように選択した状態でCキーを押すとコメントが生成されます。
Videotogif (2).gif

BPの書き方や書いている状況によっては、他人が見るとぱっと見で何の処理をしているかわかりにくい時があると思います。
しかし、BPの処理を読み解くのに費やされる全体の時間はそれを読む人に比例して多くなっていきますし、その他人はもしかしたら一か月後の処理をさっぱり忘れた自分かもしれません。

少しでも読み解く時間を減らすためにも、ぱっと見で何をしているかが理解出来るように全体の処理を要約したコメントはもちろんのこと
コードを読んだ人が疑問に思うであろう事があらかじめ予測できる場合は、なぜその処理をしたか等をなるべくコメントを残すようにしましょう。

このコメントは設定によって内部のノードを一緒に移動させたり色を変えたりできるので是非有効活用してください。
Videotogif (4).gif
Videotogif (5).gif

番外編

FindInBluePrint

公式ドキュメント
https://docs.unrealengine.com/en-US/Engine/Blueprints/Search/index.html

BP上で「Ctrl+Shift-F」を押すとBPの全体検索が出来ます。
「ParentClass=Actor」と記載するとActorを親としているBPが検索出来たりめちゃんこ便利です。
もちろんユーザー定義クラスも検索出来ます。
image.png

コンテンツブラウザ上でリダイレクタを検索する方法

別記事で紹介しているので是非ご覧下さい
https://qiita.com/kamitani_08/private/13f58d100241a7a6fb03

おわり

以上となります。
BP初心者向けという事で誰かのなんかしらのいい感じな助けになれば幸いです。

明日はNiagara芸人でおなじみの Wataru さん!
なんとプロジェクトファイルもあるとの事で、全力で正座してお待ちしております!!!!!

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5