📟
【UEFN】Verseでゲーム画面のHUDを削除する
やりたいこと
Verseで全てのプレイヤーの画面上からHUDを削除します
利用する装置
- switch
コードの全体
using { /Fortnite.com/Devices }
using { /Fortnite.com/UI }
using { /Verse.org/Simulation }
sample_01 := class(creative_device):
@editable
OnOffSwitch : switch_device = switch_device{}
# 削除するHUDのクラスをまとめた配列
HudElements : []hud_element_identifier = array{
creative_hud_identifier_all{},
hud_identifier_world_resource_wood{},
hud_identifier_world_resource_stone{},
hud_identifier_world_resource_metal{}
}
OnBegin<override>()<suspends>:void=
# switchがON時に<HudShow>が呼ばれます
OnOffSwitch.TurnedOnEvent.Subscribe(HudShow)
# switchがOFF時に<HudHide>が呼ばれます
OnOffSwitch.TurnedOffEvent.Subscribe(HudHide)
HudShow(PlayerAgent: agent) : void =
HudController : fort_hud_controller = GetPlayspace().GetHUDController()
# HUDの表示
HudController.ShowElements(HudElements)
HudHide(PlayerAgent: agent) : void =
HudController : fort_hud_controller = GetPlayspace().GetHUDController()
# HUDの非表示
HudController.HideElements(HudElements)
その他設定
UEFNからSwitchの登録をします。
結果
SwitchのON/OFFでHUDの表示非表示ができました。
- ONの場合
- OFFの場合
細かく設定したい方
No. | hud_element_identifier |
---|---|
① | player_hud_identifier_all |
② | creative_hud_identifier_shields |
③ | creative_hud_identifier_shield_numbers |
④ | creative_hud_identifier_health |
⑤ | creative_hud_identifier_health_numbers |
⑥ | creative_hud_identifier_player_inventory |
⑦ | creative_hud_identifier_build_menu |
⑧ | hud_identifier_world_resource_wood |
⑨ | hud_identifier_world_resource_stone |
⑩ | hud_identifier_world_resource_metal |
⑪ | creative_hud_identifier_mimimap |
⑫ | creative_hud_identifier_map_prompts |
⑬ | creative_hud_identifier_storm_timer |
HudElementsの配列に上記のHUDのクラスで非表示にしたいものを配列に追加すれば、細かく設定が可能です。
他にもHUDのクラスはたくさんあるので、気になる方は参考リンクを参照してみてください。
※creative_hud_identifier_allはcreative_hud_identifier_〇〇のクラス全てになるので、細かく設定したい場合は、除外してください。
最後に
VerseでHUDの表示・非表示設定を行う場合は、全てのプレイヤーに影響してしまいます。各々のプレイヤーに対してHUDの設定を行いたい場合は、HUD制御の仕掛けを利用してクラスやチームに対して細かい設定をすることで制御が可能です。
Twitter(X)でも情報発信していくのでフォローしてね~
参考リンク
- 利用した装置
Discussion