読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

UE4.11新機能 構造体のピンを省略出来る

「4.11の新機能で、構造体のピンの要らないやつ、詳細パネルから設定して省略出来るっていうのがあって、早速試してみてるんだけど……」

妹「それはいいやつでは? 2DゲームだとVectorのY軸が要らないこととかあるから、それが省略できるとスッキリしそう」

「……Vectorだと効かないみたい」

妹「えー。それが一番要るやつじゃん」

f:id:una_unagi:20160403204428p:plain

「省略出来る条件を調べていたところ」

・Make(を作成)ノードか、Break(を解除)ノードのどちらかであること
・構造体がVector、Rotator、Transformではないこと
・変数として作った場合に初期値を設定できる構造体であること

「この3点の条件を満たしてないといけないことがわかった」

妹「なんでVector駄目なの? Rotarionも駄目? 要るやつばっかりじゃん……」

「たぶん内部的には構造体扱いになってない。使用頻度が高いし、変数の種類を選ぶ欄でも特別扱いになってる。それで構造体用の新機能が効いてない感じ。今後のアップデートで改良されるといいんだけど」

f:id:una_unagi:20160403204437p:plain

妹「初期値を設定できるというのは?」

「自分で作った構造体は問題ないんだけど、例えばHitイベントで使うHitResult構造体。これは変数を作ったり、ピンをつないだりは出来るんだけど、値の設定が出来ない。C++側でしか生成できない構造体。こういう特殊な構造体がいくつかあるんだけど、これも対象外になってる。Makeは元々出来ないわけだからいいんだけど、Breakの時にも使えないのは残念」

妹「そのMakeとBreakしか使えないってのも気になるんだけど」

「詳細パネルで設定するから、色んな変数とか混ざってるノードでやるとわけがわからなくなるんだと思う。Breakノードの場合でも、右側の出力ピンは設定できるけど、左側の入力ピンを分割しても設定出来ない」

妹「なんだか色々制限ありすぎて、使いどころがなさそうかも」

「Breakノードの有用性は増したと思う。今まではどっちにしろピンでゴチャゴチャするということ、ノードが1つで済むようにピンを分割するやり方を使ってたけど、あえてBreakノードを追加してピンの数が減らすという考え方も出来るようになった。どっちが見た目スッキリするかで選べる。あとは適用範囲がもっと増えれば言うことなし」