こんにちは、株式会社Leon Gameworksの遠藤です。先日 リリースされたUE5.8では、Editor Utilityの機能がさらに拡充されました。今回は、その中から実務で活用しやすい新機能をピックアップして紹介します。
0:動作環境
本記事はUE5.8.0を基に執筆しており、画面のスクリーンショットはエディタの言語設定を「英語」として撮影しています。
なお、本記事で作成するプロジェクト一式は、以下よりダウンロード可能です。
1:Editor Utility Dialog Widget クラスの追加
UE5.8では、Editor Utility Widgetを継承したEditor Utility Dialog Widgetクラスが追加されました。このクラスを利用することで、独立したダイアログ形式のUIを簡単に作成できます。
まずは、Editor Utility Dialog Widgetを継承したブループリントを作成します。
アセット作成時は、Blueprint ClassからEditor Utility Dialog Widgetを親クラスとして選択します。Editor Utility Widgetアセットとは作成方法が異なるため、間違えないよう注意してください。
通常の Editor Utility Widget と同じように、UIを構築します。
作成したダイアログは、他のEditor Utilityから[Show Modal Editor Utility Dialog]または[Show Editor Utility Dialog]を呼び出して表示します。各ノードでは、ダイアログのタイトルやサイズなどを引数で指定できます。
Editor Utility Dialog Widgetでは、関数をオーバーライドすることで、ダイアログ表示時やボタン押下時のイベントをフックできます。
また、[Close Dialog]を呼び出すことで、任意のタイミングでダイアログを閉じることができます。
2:ブループリントのグラフを取得できるノードの追加
UE5.8では、List Graphsノードが追加されました。これにより、ブループリントに含まれるグラフの一覧を取得できるようになりました。
取得したグラフに対しては、削除やリネームに加え、ノードの追加などの操作も行えます。
3:変数を操作できるノードの追加
UE5.8では、メンバ変数やローカル変数を取得・設定するためのノードが追加されました。
また、変数のレプリケーション値を取得、設定できるノードも追加されました。
4:マテリアルのノード一覧を取得できるノードの追加
UE5.8では、マテリアルおよびマテリアルファンクションに含まれるノードの一覧を取得できるノードが追加されました。
5:ワールド座標とスクリーン座標の相互変換ノードの追加
UE5.8では、ワールド座標とスクリーン座標を相互に変換するノードが追加されました。これにより、3D空間上の位置をスクリーン座標へ変換してUIと連携したり、スクリーン座標からワールド座標を算出してエディタツールの操作に利用したりできるようになりました。
6:ビューポートカメラを扱うノードの追加
UE5.8では、Level Editor Subsystemにビューポートカメラの情報を取得・操作するためのノードが追加されました。
なお、UE5.7以前にもUnreal Editor Subsystemには同等の機能としてSetLevelViewportCameraInfo()とGetLevelViewportCameraInfo()が用意されていましたが、UE5.8ではこれらの機能をブループリントからより利用しやすくなっています。
7:Skeleton のプレビューメッシュを扱うノードの追加
UE5.8では、Skeletonに設定されたプレビューメッシュを取得・設定するためのノードが追加されました。これにより、スケルトンごとのプレビューメッシュをEditor Utilityから操作できるようになり、アセット管理や自動化ツールの作成に活用できます。
8:モーフターゲットとスキンウェイトプロファイルを削除できるノードの追加
UE5.8では、モーフターゲットおよびスキンウェイトプロファイルを削除するためのノードが追加されました。削除内容をビューポート上の表示に反映する場合は、[In Rebuild Render Mesh]を有効にします。
9:まとめ
今回は、UE5.8で追加されたEditor Utility関連の新機能の中から、実務で活用しやすいものを中心に紹介しました。ここで取り上げた以外にも追加機能はありますが、特に他のアセットを操作するためのノードが多数追加された印象です。また、Unreal Pythonにも同様の関数が追加されているため、ぜひ活用してみてください。
本記事で作成したプロジェクト一式は、以下よりダウンロード可能です。
株式会社Leon Gameworks
●公式サイト
www.leon-game.co.jp
●X(Twitter)
@Leon_Gameworks
トンコツ(遠藤俊太)
●トンコツ開発ブログ
shuntaendo.hatenablog.com
●X(Twitter)
@tonkotsu3656
TEXT_トンコツ(Leon Gameworks)
EDIT_小村仁美 / Hitomi Komura(CGWORLD)、オムライス駆