関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2019.02.06UE4UE/ UMG
執筆バージョン: Unreal Engine 4.21 |
こんにちは。今回はUMGの機能にある、NamedSlotというWidgetについて触れていこうかと思います。
NamedSlotの解説を公式のドキュメントからひっぱってくると・・・
”このウェジェットでは、ユーザー ウィジェットのための外部スロットをエクスポーズすることができます。ユーザー ウィジェットには、他のウィジェットを入れることが可能であり、カスタム ウィジェット機能を作成するのに便利です。”
察しの言い方はこれでわかるのかもしれませんが、私は文章だけでは???といった感じでした。
簡単に図説すると・・・
①NamedSlotは後でWidgetを1つ差し込める箱です
②NamedSlotを配置すると、初期設定の文字が書かれているだけです
③このユーザーウィジェットを、他のウィジェットで配置すると、スロットが出現します
④このスロットにウィジェットを配置すると、初期設定のテキストが配置したもので上書きされます
NamedSlot自体の使い方は基本的には以上ですが、この1つだけ差し込めるスロットは、
Overlayで複数のウィジェットを包んだり、さらにユーザーウィジェットを差し込むことが可能です
汎用的に使用するウィンドウなどに使うと便利そうです。
この機能をつかって次のようなフキダシUIを作ってみました。
このフキダシ本体のWidgetはとてもシンプルです。NamedSlotと背景の黒、Windowの枠しかありません。
上記の記事と同じ方法で、いわゆる9スライス、太さが変化しない枠を作成します。
後は下の図のように、配置したユーザーウィジェットのNamedSlotに、WidgetSwitcherを使用して中身を切り替えているだけです。
後は中身は好きに作ったユーザーウィジェットを差し込めばOK!
気を付けるとするならば、ユーザーウィジェットの余白を考えておかないと、枠と近くなりすぎる事でしょうか。
工夫すればいろんな使い方が見つかるかもしれませんし、汎用的なUIを使いまわせるのは時間の節約にもなりそうですね!