BLOGブログ

2019.02.06UE4/UMG

[UE4]UMGのNamedSlotWidgetを使ってみよう

執筆バージョン: Unreal Engine 4.21

 

こんにちは。今回はUMGの機能にある、NamedSlotというWidgetについて触れていこうかと思います。

NamedSlotの解説を公式のドキュメントからひっぱってくると・・・

”このウェジェットでは、ユーザー ウィジェットのための外部スロットをエクスポーズすることができます。ユーザー ウィジェットには、他のウィジェットを入れることが可能であり、カスタム ウィジェット機能を作成するのに便利です。”

察しの言い方はこれでわかるのかもしれませんが、私は文章だけでは???といった感じでした。

簡単に図説すると・・・

 

①NamedSlotは後でWidgetを1つ差し込める箱です

②NamedSlotを配置すると、初期設定の文字が書かれているだけです

③このユーザーウィジェットを、他のウィジェットで配置すると、スロットが出現します

④このスロットにウィジェットを配置すると、初期設定のテキストが配置したもので上書きされます

 

NamedSlot自体の使い方は基本的には以上ですが、この1つだけ差し込めるスロットは、

Overlayで複数のウィジェットを包んだり、さらにユーザーウィジェットを差し込むことが可能です

汎用的に使用するウィンドウなどに使うと便利そうです。

 

この機能をつかって次のようなフキダシUIを作ってみました。

 

このフキダシ本体のWidgetはとてもシンプルです。NamedSlotと背景の黒、Windowの枠しかありません。

[UE4] 枠線の太さはそのままで拡大縮小できるUIの作り方

上記の記事と同じ方法で、いわゆる9スライス、太さが変化しない枠を作成します。

 

後は下の図のように、配置したユーザーウィジェットのNamedSlotに、WidgetSwitcherを使用して中身を切り替えているだけです。

後は中身は好きに作ったユーザーウィジェットを差し込めばOK!

気を付けるとするならば、ユーザーウィジェットの余白を考えておかないと、枠と近くなりすぎる事でしょうか。

工夫すればいろんな使い方が見つかるかもしれませんし、汎用的なUIを使いまわせるのは時間の節約にもなりそうですね!