4.23こんにちは、エンジニアの山中です。今回は具体的な使用例を交えて、改めてRerouteノードについてご紹介しようと思います。ブル―プリントを使用して開発している方向けの内容となります。◆Rerouteノードとは?おさらいです。公式ドキュメントは以下の通りです。「接続の再ルーティング」の項目になります。公式では、「延長コード」みたいなニュアンスで使用することでグラフが視覚的に分かりやすくなるよー、といった説明をしています。一例として、スプラインがノードに隠れているような箇所を、Rerouteノードを使用することで見やすくなるようにしています。RerouteノードはOutputピンや実行ピンに対して使用することができます。◆Rerouteノードの出し方1スプラインをダブルクリック既にグラフ上に配置されているスプラインを整理する際に使用することが多い方法です。※日本語表記だと「Rerouteノードを追加」これからスプラインを作成する際に使用することが多い方法です。小ネタですが、キーボードで「rer」と打ち込んだ段階で当該項目がフォーカスされます。Node...」を選択とりあえずRerouteノードだけ追加しておきたい際に使用する方法です。この場合は型が指定されていない為、灰色で作成されるのですがデフォルトのグラフの色と区別が付きづらい為、ご注意ください。4Rerouteノード専用のショートカットキーを登録Engineのiniファイルにショートカットキーとして登録することで、3の方法をより簡略化する方法です。R」を押しながらグラフをクリックすることでRerouteノードが追加されるように設定を行っています。Alt=false)↑追加するコード設定後の確認箇所は上記画像の通り。冒頭の公式の例でもあったような使用方法となります。基本的には以下の2点に注意すると良いかと思います。・スプラインとノードが極力重ならないように・複数スプラインが極力交差しないように一見してスプラインの流れが見づらいグラフもRerouteノードを使用すればこの通り!注意点としては、見た目に関して凝れば凝るほど時間を消費してしまう為、トライ&エラーを目的として組む場合に最終的に無駄になってしまうこともあるということです。ある程度実装が進んできたり、他人が見る機会が増えるタイミングで整理を行うと効果を発揮するかと思います。複数スプラインの接続状況の安全性を確保できるというメリットがあります。関数のOutputピンから直接複数スプラインを伸ばしていますここで、使用する関数を別のものに置き換えようと、関数を削除すると・・・?スプラインが消滅してしまいました・・・。これではどこに対してOutputの数値を使用していたか分からなくなってしまいます。スプラインをRerouteノードでまとめておくと、引っ張ってくる元の存在を意識することなくピンの情報を使用することができます。Outputピンと使用箇所の間にちょっとした計算を入れたい場合もあらかじめまとめておくと挿入しやすい!特定の関数にだけ乗算結果が適用されないといったことも発生しません。おくような使い方もできます。◆蛇足Rerouteノードには値のキャッシュ機能は無い為、Pure関数のOutputピンから繋がっていた場合、接続先の数だけ関数の処理が実行されてしまいます。処理負荷に直結する処理等に関しては別途対応を行いましょう。上記の場合、Pure関数内のとても重そうな処理が複数回実行されてしまいます。NonPure関数へ変更する他、一時変数にキャッシュしておくといった方法も有効かと思います。様々なメリットがあることを知っていただけたと思います。可読性の向上に関してはRerouteノードの有無以外にも様々なテクニックが存在するかと思います。