User ToolBox(UTB)とは?
User ToolBox(UTB)について
Unreal EngineのForumを毎日確認するのが日課になっています。
「User ToolBox(UTB)」という気になる機能がありました。
詳しい手順は以下のURLに書かれているので、「EUWを拡張できるのか?」という観点で触ってみることにしました。
UTBを有効にする
UTBを使用するために以下のPluginを有効にし、プロジェクトを再起動します。
5.3.1の段階でExperimental(実験的)扱いになります。
- UserToolboxBasicCommand (デフォルトのコマンドが含まれます)
- UserToolboxCode (フレームワークを含む)
Pluginsを開く
UserToolBoxで検索してPluginを有効にしプロジェクトを再起動する
Pluginを有効にすると「User Tool Box」の項目が増えます。
User ToolBox Tabを作成する
「User ToolBox Tab」を作成します。
名前は「UTBT_TabSample」に設定します。
「User ToolBox Tab」は「Windows -> User ToolBox -> DefaultUserToolBox」から表示できます。
Defaultでは「DefaultUserToolBox」になっていますが、「Tab Details」の「Name」で名前を変更できます。
Tabの中身を編集したい場合は以下の手順でエディタを開きます。
- ContentsBrowser内のAssetをダブルクリック
- 表示したTabの右上のアイコンをクリック
【サンプル機能】Execute ConsoleCommandを実行する
ScreenShotを撮影するコマンド「HighResShot」を実行できるボタンを作成します。
FullHD(1920x1080)でスクリーンショットを撮影するコマンドは以下になります。
HighResShot 1920x1080
Editorの下部にある「cmd」のテキストボックスにコマンドを入力するとスクリーンショットが撮影できます。
Sectionsに「Command」というセクションを追加します。
Renameは右クリックメニューから選択できます。
「Command List」から「Engine Command」をDrag&Dropして追加します。
「Command Details」で実行するコマンドを設定します。
UTBのタブにボタンが追加されます。
ボタンをクリックすると設定したコマンドが実行され、スクリーンショットが撮影されます。
PIE時にもコマンドを実行できます。
普段よく使用しているコマンドは登録しておくと便利です。
【サンプル機能】Editor Utility Widget(EUW)を表示する
UTBからEUWを表示するボタンを追加します。
表示できることを確認するためのEUWを作成する
UTBから表示するためのEUWを作成します。
表示したことを分かりやすくするためのTextウィジェットを配置します。
EUWを開くCommandを追加するための「User ToolBox Command Blueprint」を作成する
「User ToolBox Command Blueprint」を作成します。
名前を「UTBBP_OpenEUW」に設定します。
Functionから「Command」をOverrideします。
EUWを開く処理を実装します。
「Spawn and Register Tab」ノードの「In Blueprint」に接続する変数を追加します。
変数名を「EUW」に設定します。
変数を追加すると「User ToolBox Tab」側で設定できる項目として扱われます。
「Compile」ボタンをクリックします。
EUWを開くCommandを追加する
「UTBT_TabSample」を開きます。
EUWを表示するセクションを追加し、「Open EUW」にリネームします。
EUWを開くには「Command List」から作成した「User ToolBox Command Blueprint」の名前「UTBBP_OpenEUW」をDrag&Dropして追加します。
開きたいEUWのアセット名を「EUW」に追加します。
ボタンをクリックすると設定したEUWを開けます。
まとめ
EUWでもできることをより簡単に実装できるのが「User ToolBox」のようです。
- 用意されている機能があれば、EUWで実装しなくてもプロパティの設定で実行できる
- 自分好みのIDEを作れる
- コマンドをカスタマイズできる
デメリットは以下のことが挙げられます。
- まだ情報が世の中に存在しない
- パラメーターで値を動的に変えるならEUWの方がツールを作りやすい
EUWとUTBを組み合わせると強いツールが作れそうです。
Discussion