関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2017.12.26UE4UE/ UMG
こんにちは、新米えんじにゃーの遠藤です。
UMGで追加できるすべてのWidgetはVisibilityというプロパティーを保有しています。
Widgetを表示/非表示する時によく用いられるプロパティーですが、[Visible, Collapsed, Hidden, Hit Test Invisible, Self Hit Test Invisible]と表示/非表示以外の項目もあり挙動も分かりづらいため今回書いていきます。
表示されます。
Visibilityのデフォルトの設定です。Visibility設定の中で唯一、マウスクリックやマウスオーバーなどのイベント通知がされます。
表示されません。
Google先生曰く「折りたたまれた」らしいのですが、HorizontalBoxやVerticalBoxなどのパネルWidget内でレイアウトを組んだ場合、Collapsed状態のWidgetは無視されます。
また、WidgetであってもUMGであってもCollapsed状態の場合、Tick処理は実行されません。
非表示になっているだけなので存在はしていて、Get Child AtノードなどでWidgetの参照は取れます。
表示されません。
Collapsedとは違って非表示になるだけであって、レイアウトに反映されます。「う」の部分がCollapsedの時と違ってスペースが空いています。
また、Tick処理は実行されませんがBind処理は実行されます。
表示されます。
デザインとしてのみ表示され、イベント通知はできません。
表示されます。
パネルWidgetのデフォルトの設定です。
基本的にはHit Test Invisibleと同じ設定ですがHit Test Invisibleと違い、子Widgetに設定が適応されません。”ボタンA”が”Self Hit Test Invisible”であったとしてもその子Widgetの”ボタンB”が”Visible”であればボタンBのイベントは通知されます。
基本的に表示はVisible、非表示はCollapsedが良いと思います。デザインとして使う”Image”や”Text Block”などはSelf Hit Test Invisibleを使うのが良いと思います。
UMGはボトルネックになりやすいので表示はしていないのに裏では無駄な処理が実行され続けていたなど起こらないように用途に応じて正しいVisibility設定を使いましょう~。