凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 汎用マクロの作成(Blueprint Macro Library)

どこからでも呼び出せる汎用的なマクロを作る方法です。
結構悩んでいたのですが「Blueprint Macro Library」を使うことでできるみたいですね。
公式ドキュメントはここらへんを。

・ブループリント マクロ ライブラリ
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/UserGuide/Types/MacroLibrary/index.html

・マクロ ライブラリの使用方法
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/BP_HowTo/MacroLibraries/index.html

まずはアセットに「ブループリントマクロライブラリ」を追加します。
マクロライブラリ000

その際、どのクラスを継承するかを選ぶ必要があります。
マクロライブラリ004
使う場面場面で継承元を選択しましょう。
アクターの機能が必要じゃないなら「Object」クラスを選択する感じでしょうか。

ちなみに、「Object」クラスはDelayノードが使えないなどの制限があるので気を付けたほうがよさそうです。
alwei さんの書かれているこれが参考になります。

・UE4 Object継承のマクロライブラリーの中でDelayを使う方法
http://unrealengine.hatenablog.com/entry/2015/10/06/152115

Delayノードはとても便利なものですが、
これをマクロで利用するためには"Actor"を継承したクラスでなければなりません。
しかしマクロライブラリーを作成した際にどこからでも使用できるようにするためには
Object継承のマクロにしなくてはならず、この場合にはDelayノードを利用する事が出来ません。


といったところみたいです。結構注意が必要そうですね。

これでできたマクロライブラリに名前を付けます。割と何でもよさそうです。
機能ごとにファイルを作ったほうがよいのでそれにあった名前にしましょう。

ファイルができたらダブルクリックしてマクロをじゃんじゃん作りましょう。
マクロライブラリ001
こんな感じですね。

あとはいつもどおり他のブループリントから呼び出すだけです。
マクロライブラリ002

マクロは呼び出し元が「Self」になったり、継承元によってはLatentノードが使えたり、
親クラスの機能が使えたり、複数の実行ピンが使えたりします。
上記の用途がない場合は関数ライブラリを使ってあげたほうがよいかも知れません。

汎用的なマクロを作っておけばのちのちゲームの開発がしやすくなると思うので、
機能やカテゴリごとに、結構使うものは汎用マクロ化しておいたほうがよさそうですね。


スポンサーサイト

| UE4 | 15:00 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/185-a8a1e03c

TRACKBACK

PREV | PAGE-SELECT | NEXT