Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 ブループリントノードの色について

今までありそうでなかったのが、このブループリントノードが示す色についての説明です。わかってしまうとなんでもないものなんですが、これが最初は結構苦戦するところなのかもしれません。

というわけで改めて、ブループリントノードの色についてを解説します。

f:id:alwei:20150105223455j:plain

 ノードの分類

大きくノードをわけると以下の3つに分類されます。

  • イベント系ノード
  • 関数・マクロ系ノード
  • 変数系ノード

基本的にそれぞれのノードの色は決まっているのですが、例外もありますので、注意してください。

わかりやすいところか紹介していきます。

イベント系ノード

一番わかりやすいのがこのイベント系ノードです。イベントノードはあらゆるノードのスタート地点となるノードで色もと固定されています。

最も目につく色でかつスタート地点となるノードなので、とても重要です。

とりあえず赤色のノードがあった場合はそこがスタート地点と思っていいでしょう。

f:id:alwei:20150105231116j:plain

関数・マクロ系ノード

次に重要なのが関数やマクロ系ノードです。

まず関数は通常の関数とPure関数の2種類が存在しています。通常の関数は主にに設定されていて、Pure関数の場合はです。そもそも通常の関数はいいとして、Pure関数とはなんぞや?と思いますので、説明しておきます。

通常の関数は入力ピンと出力ピンがあり、ターゲットが持つ値を関数内部で変更することが許容されます。

逆にPure関数は入力ピンも出力ピンも存在せず、関数自体が必ず何かしらの値を返します。※厳密には返さないことも可能だが、それでは関数自体の存在価値がない。

そしてPure関数はターゲットが持つ値を変更したりすることができません。C++的に言えば、const関数と言えばわかりやすいかもしれません。もしくはGetterですね。

最後にマクロですが、これは用途としては関数と同じようなものですが、扱いは別物として扱われます。マクロ自体はグレーのノードとなります。関数やマクロの違いは以下の記事を参考にしてください。

UE4 ブループリントのグラフタイプについて

f:id:alwei:20150105233326j:plain

変数系ノード

変数系ノードは一番色の数が多いです。なぜなら変数タイプにより色が違うからです。単純なところでは、Bool型だと赤茶、String型だとVector型だと黄色、みたいな具合です。

f:id:alwei:20150105233911j:plain

更に構造体ノードだと、Objectノードだと水色、Classノードはといった具合です。

f:id:alwei:20150105234442j:plain

構造体自体は一般的な変数などを束ねることができるノードです。

ただし、構造体ノードはVector、Rotator、Transformなど一部例外で別の色を持っているものもありますので、注意してください。

Objectはアクターなどを作成すると定義されるノードです。アクターの実体を使用する場合はObjectノードを呼び出すことになります。

Classノードは実体を持たないObjectです。レベル上に存在しない場合でも使用可能ですが、当然実体が存在しないので、直接何かを動かしたりすることはできません。

例外系ノード

実はこの他にも色々と例外がありますので紹介しておきます。

まず、Objectをキャストし、別のObjectへと変換するキャストノード。色は青緑。実際には関数のように動作するので、あまり意識する必要はありません。

次にタイムラインノード。これはノード自体が特別扱いになっており、色も黄色になっています。

最後に色を持たないノードたち。これは数学式ノードや『int -> string』の変換ノードなどがそれにあたります。少し特殊ですが、扱いそのものは難しくありません。

f:id:alwei:20150105235602j:plain

 

以上のように様々な色のノードがありますが、実際に意識する必要があるのは、上記3つの種類に大きく別れているという程度のことです。また例外も一部存在していますので、あまり色がそれだからと深く考えすぎない方がいいでしょう。