はじめに
この記事はUnreal Engine (UE) Advent Calendar 2022の25日目の記事になります。
お仕事でEditorUtilityWidgetを使用する事が増えてきたので、自分の復習もかねて記事に残しておこうと思います。
今までツール制作を行った事がなかったので、苦手意識みたいなものが少なからずありましたが、実際に触ってみると凄くユーザーライクで組み込みも非常に簡単でかつ短時間で終わるため、開発には非常に強力なツールだと思いました。
検証環境
Unreal Engine 5.1
EditorUtilityWidgetについて
PIEを実行しなくてもエディター上で動作するUI要素を簡単に追加する事が出来ます。
UnrealMotionGraphics(UMG)をベースにしている事もあり、WidgetやBlueprintsを触った事がある人なら非プログラマでも簡単に拡張する事が出来ます。
詳しくは公式リファレンスをご参照ください。
参考サイト
〇 こちらのロジカルビートさんのブログが初心者ライクで非常にわかりやすいです。
https://logicalbeat.jp/blog/5236/
〇 ぶっちゃけキンアジさんのブログを見るとだいたいの内容が理解できると思います。
https://kinnaji.com/tag/editorutilitywidget/
〇 少し凝った事を画像付きで解説されているのでオススメです。
https://anapurna.co.jp/ue4/641/
EditorUtilityWidgetの生成
右クリックからメニューを開き、「エディターユーティリティ → エディターユーティリティウィジェット」を選択
作成したEditorUtilityWidgetを右クリックし「エディターユーティリティウィジェットを実行」を選択
コンテンツブラウザ上で選択しているStatticMeshの取得
EditorUtilityWidgetにTextを追加
「Get Selected Assets」を使用する事でコンテンツブラウザ上で選択しているアセットを取得する事が出来ます。
ボタンが押されたタイミングで選択しているAssetを取得
配列で取得できるため複数選択にも対応しています。この辺りは各自良い感じにしてください。
今回はボタンを押したら選択しているStaticMeshを取得できるようにしておきます。
後は取得したAssetを元に名前を表示させるなど、取得したアセットの情報をEditorUtilityWidgetに表示させてあげましょう
取得したStaticMeshを元にMaterilを変更したり、一部パラメータを書き換えたりとアセット編集を行う事が出来ます。
EditorUtilityWidgetでパラメータを変更し、セーブ → チェックアウトを自動化
選択したStaticMeshを適当にMaterialを書き換えてみる
画像のようにチェックアウトからセーブを一連の流れで実装する事が出来ます。
※ ソースコントロールに接続しておく必要があります。
今年のふりかえり
今年はツール年というぐらいに色々なツールを作ってきました。
EditorUtilityWidgetを使用する事も多く、今年はよりUnreal Engineを学ぶ事が出来たかなと思います。
ぜひ来年もよろしくお願いいたします。