概要
Widget表示のON/OFFを一括で切り替えるためのコンソールコマンドが最近追加されました。これは以下のリンクのUE5.0Mainのリポジトリには入っておりUE4.27には入っていません。
このコンソールコマンドを利用することで、以下のように画面上に表示しているWidgetをON/OFFを切り替えることができます。
説明
以下のコマンドが用意されており、各キャンバス/スロットの表示を0=非表示, 1=表示で切り替えることができます。
Slate.GameLayer.PlayerCanvasVisible
Slate.GameLayer.ViewportSlotVisible
Slate.GameLayer.DebugCanvasVisible
Slate.GameLayer.AllCanvasesVisible
以下のコマンドでは、画面全体を示すビューポートに追加されたウィジェットの表示を一括でオフにします。
Slate.GameLayer.ViewportSlotVisible 0
このコマンドは、スレートのルートにビューポートの子に位置する「GameLayerManager」と呼ばれる上位レイヤーで処理を行い、GameLayerManagerが所有する上位のCanvasやSlotを制御することによって、一括での表示切替を実現します。各階層に関しては以下のようにWidgetReflectorで確認すると可視化できます。
関連するコマンドとスレートオブジェクトの関連は以下の通りです。
Slate.GameLayer.PlayerCanvasVisible
上記図の①に該当する、プレイヤー毎のレイヤーCanvasのON/OFFを切り替えます。
AddToPlayerScreenで追加したWidgetの表示に関連します。
Slate.GameLayer.ViewportSlotVisible
上記図の②に該当する、ビューポート全体のSlotのON/OFFを切り替えます。
AddToViewportで追加したWidgetの表示に関連します。
Slate.GameLayer.DebugCanvasVisible
上記図の③に該当する、デバッグCanvasのON/OFFを切り替えます。
コンソールコマンドを入力する際のデバッグ表示に関連します。
Slate.GameLayer.AllCanvasesVisible
上記の3点を一括して制御する時に使用します。
これらのコンソールコマンドを利用するとデバッグがはかどるかと思いますのでご活用ください。