UE4 4.20 BlutilityとEditor Scriptingを試してみる その1
今回は「Unreal Stream Japan | UE4.20で入る新機能の一部をご紹介」
で紹介されていたEditor Scriptingについて
何回かに分けて書いていきます。
その2
その3
基本的なやり方は動画の方でも解説されていますが、
試した際にスクショを撮ったので、
こちらの方でもやっていきたいと思います。
準備
今回はUE4 4.20 Preview5を使用します。
空のプロジェクトを使用してプロジェクトを作成します。
作成しました。
まずは、Editor Scriptingに必要になるBlutilityを有効にします。
左上の編集からエディタの環境設定を開きます。
実験段階→Editor Utility Blueprints(Bluetility)にチェックを入れます。
アセットを作成する
コンテンツブラウザからブループリント→
ブループリントユーティリティを選択します。
ブループリントユーティリティを選択すると、
親クラスの選択画面が出てきます。
全てのクラスからAssetActionUtilityを選択します。
このようなアセットが作成されました。
アセットに処理を追加したいところですが、
まだこのアセットに何も処理を記述していないのでこのような画面が出てきます。
アセットを開くには、右クリックからブループリントの編集を選択します。
いつもの画面が開きました。
処理を追加する
簡単なCustom Eventを使用した処理を記述します。
処理はこれだけです。
Custom Eventを選択し、右側の詳細タブで
エディタで呼び出すにチェックを入れます。
コンパイルするとCustom Eventのマークが変わったと思います。
エディタから処理を呼び出す
何かしらのアセットを右クリックすると
Scripting Actionsというタブが追加されています。
この中に先程作成したCE_TestLogがあるので、クリックしてみす。
CE_TestLogに記述したPrintStringが呼び出されました。
また、BPU_AssetActionを一度閉じて、
ダブルクリックで開き直すとこのような画面が出てきます。
ここにあるボタンをクリックすると、先程右クリックから選択したものと
同じ効果を得られます。
また、クラスのデフォルトからAuto Run Default Actionにチェックを入れ、
関数のオーバーライドで呼び出したOn Default Action Checkedに
このような処理を記述することで、
アセットのダブルクリックからこの関数を呼び出すこともできます。
別のアセットを作成する
先程とは変わってActorActionUtilityを親にした、
ブループリントユーティリティを作成します。
こんな感じ。
こちらのアセットにはこのように処理を記述しました。
先程とほぼ同じです。
確認するには、
レベルに配置したアセットを右クリックするか、
アウトライナにあるアセットを右クリックしてください。
複数選択した際にも実行されました。
まとめ
Asset Action Utilityを親にした場合
・コンテンツブラウザのアセットを右クリックすることで、
CustomEventなどをエディタから呼び出せる
Actor Action Utilityを親にした場合
。レベルに配置したアセット、アウトライナにあるアセットを
右クリックすることで、Custom Eventなどをエディタから呼び出せる。