妹でもわかるUnrealEngine4

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

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

Morepork Games製の便利なMacroセット

forums.unrealengine.com

「今日見つけたのはプラグインじゃなくて、マクロの形で便利なノードが使えるようになっているアセット。このアセットをプロジェクトのcontentsフォルダ以下のどこかに入れておくだけで使えるようになる。フォーラムに投稿された記事の、DOWNLOAD HEREという部分をクリックすると」

f:id:una_unagi:20170611225822p:plain

「こういう画面が出て来るので、Downloadというボタンを押せばダウンロードできる。もし別の位置にDownloadって書いてあるボタンがあったら詐欺広告なので押してはいけない」

妹「そういうのがあるからダウンロードは怖いんじゃよ」

「今のところこのサイトであやしい広告は見てないけど、念のため」

f:id:una_unagi:20170611230217p:plain

「この4つのファイル、用途ごとにわかれてるけど、とりあえず全部入れてしまう。そうするとブループリントの画面で必要なノードが出てくる」

f:id:una_unagi:20170611230303p:plain

「MPGというカテゴリ分けをしてあるから、元々あったノードなのかどうかわからなくなることを防げる」

妹「それでこれを入れるとどういうご利益があるの?」

「それがたくさんありすぎてよくわかってないのが多いんだけど、プラグインじゃなくてマクロだから、速度面やC++でしか出来ない機能とかはない。ただ書くのが簡単になるだけ。例えばTraceOnGroundノードあたりは用途もわかりやすい」

f:id:una_unagi:20170611230611p:plain
f:id:una_unagi:20170611230527p:plain

「LineTraceを使って地面との位置関係を調べる時、いちいちGetActorLocationせずにActorを指定するだけにして、でもActor自体にTraceが反応しないようにして、あと方向は真下に決まってるからいちいち設定しなくて済むようにしたい、という感じのマクロになってる。Actorじゃなく座標指定も出来たりとか、デバッグ表示用の仕込みとかもあるけど」

妹「それって自分でブループリント書くよりマクロ使った方がいいのかな?」

「何回も使うならマクロにした方がいいとは思う。どのプロジェクトでも使うならアセット化してコピー出来るようになってるといい。これを使っても、自分で作ってもいいんだけど。ただ自分で作ってるだと、そういう手があるということ自体思いつかない場合もあるから、中身を見ると勉強になると思う」

妹「UE4のバージョンアップしても使えるのかな?」

「基本的には普通のブループリントと同じで動くはずだけど、修正が必要になる可能性はある。その場合もプラグインと違って自力での対応はしやすい」