← Kembali ke blog

Hierarki Informasi HUD Mobile: Apa yang Ditampilkan saat Combat, Lobby, dan Modal

Visibilitas dan prioritas HUD per state game; kaitannya dengan Safe Area, layer floating text, dan stacking modal—tabel spesifikasi plus langkah Play dan acceptance perangkat.

Diterbitkan
  • game-ui-design
  • game-dev-ai
  • ui-to-engine
  • hud
  • mobile
  • unity
  • godot
  • cocos
  • vberai
  • 2026
Hierarki Informasi HUD Mobile: Apa yang Ditampilkan saat Combat, Lobby, dan Modal

Kegagalan HUD jarang berupa “kita lupa health bar”—melainkan terlalu banyak elemen berprioritas sama di satu layar: tab lobby saat combat, toko yang bisa di-tap di atas cinematic, atau HUD di bawahnya masih menangkap tap saat modal terbuka. Mock desain sering kali satu frame dan tidak pernah menandai “sembunyikan currency saat combat”—Anda butuh spesifikasi state × layer agar engineering bisa menetapkan visibilitas, pemblokiran input, dan urutan draw.

Di bawah ini memakai Unity UGUI (Prefab, Canvas.sortingOrder, raycast Graphic) sebagai istilah utama. Godot: CanvasLayer layer + Control mouse_filter; Cocos: urutan draw node + BlockInputEvents / blocker layar penuh—kriteria dan tabelnya sama. Detail Safe Area, floating text, dan pengurutan Canvas: Safe Area, floating damage numbers. Perangkat, semua locale, dan build Release: checklist pra-rilis item 1, 2, dan 5.

Kriteria gagal (salah satu saja = tidak lulus): selama alur modal / cinematic / pembayaran, HUD di bawahnya masih interaktif (kecuali spesifikasi menyatakan “setengah layar masih bisa dioperasikan”); saat combat, promo non-combat yang tidak bisa ditutup menghalangi area permainan; info yang sama ditampilkan dua kali (misalnya koin di top-bar plus UI koin besar saat combat) tanpa catatan produk; kontrol dari state sebelumnya masih tersisa (terlihat atau masih memblokir raycast); dengan locale stres multibahasa, layout minimal combat masih terpotong untuk teks panjang (DE/ES, dll.).


Tentukan state dulu, baru kontrol

State game (contoh)Tujuan HUDBiasanya tampilBiasanya disembunyikan / diturunkan
Lobby / homeNavigasi + resource + eventCurrency atas, tab bawah, pintu masuk eventSkill combat, crosshair
Combat / in-levelAksi + info bertahan hidupHealth, skill, pauseTab lobby, banner event layar penuh
Cinematic / CGTanpa input atau hanya skipTombol skipHampir semua HUD (atau hanya skip)
Modal (toko, pengaturan)Fokus pada dialogKontrol di dalam modalHUD di bawahnya raycast mati atau seluruh layer disembunyikan
Pembayaran / kepatuhanMenyelesaikan alurSyarat, konfirmasiOverlay promo dalam game

Sepakati enum state dengan desain + engineering (misalnya GameUIState.Lobby | Combat | Cinematic | Modal). Root UI berlangganan ke state machine (grup Prefab Unity / cabang scene Godot / prefab Cocos)—hindari SetActive / visible yang tersebar di setiap skrip tombol.

Lobby vs combat: tab dan pintu masuk event harus disembunyikan saat combat


Layer dan urutan sort (spesifikasi netral engine)

Dokumentasikan dari bawah ke atas (angka lebih tinggi = di depan):

LayerKontenInput
L0Latar belakang layar penuh / bleed UI sceneTidak ada
L1HUD combat (health, placeholder joystick)Ya
L2Floating text / tips combatTanpa raycast (floating damage numbers)
L3Toast sistem / marqueeBiasanya tidak ada
L4Modal / dialog layar penuhYa; memblokir tap L1–L3
L5Koneksi terputus, update paksaYa; memblokir semua

Unity: sortingOrder / beberapa Canvas; Godot: CanvasLayer layer; Cocos: urutan sibling di bawah satu Canvas atau Canvas berlapis + mask. Saat modal terbuka, naikkan L4 dan matikan raycast L1 / mouse_filter / BlockInput—bukan sekadar “digambar di atas tapi tap tetap lolos.”

Tumpukan L0–L5: floating text non-interaktif, modal memblokir HUD combat


Prioritas informasi (contoh combat)

Jika combat hanya bisa menyimpan N blok yang terbaca di layar kecil, batas default:

PrioritasBlokStrategi penurunan
P0Health / terkait kondisi gagalJangan disembunyikan
P0Pause / keluar combatJangan disembunyikan
P1Skill / aksi utamaGabungkan ke lebih sedikit tombol
P2Teks objektif singkatIkon + detail saat long-press
P3Currency, pintu masuk eventDisembunyikan saat combat secara default atau di menu pause
P3Pintu masuk chatCiutkan jadi ikon

Penurunan harus tetap terbaca di locale stres multibahasa (DE/ES, dll.)—bukan uji penyusutan khusus bahasa Inggris.

Combat P0–P3: sembunyikan currency/event secara default, pertahankan health dan pause


Acceptance (5 langkah)

  1. Daftar state — Dari alur utama, enumerasi transisi (masuk level, buka toko, CG, reconnect).
  2. Screenshot per state — Editor Play dan perangkat Release masing-masing (item pra-rilis 1 dan 5); verifikasi node dengan SetActive(false) / visible=false masih memblokir input.
  3. Spot-check modal — Dengan toko / pengaturan / pembayaran terbuka, tap pada tombol HUD sebelumnya harus tidak melakukan apa pun (raycast transparan layar penuh atau mask BlockInput).

Modal terbuka: salah (tap menembus tombol combat) vs benar (yang di bawah diblokir)

  1. Silang dengan Safe Area — Kontrol P0 combat berada di dalam inset aman (Safe Area).
  2. Commit aset berversi — Tabel state mengendalikan visibilitas (Unity ScriptableObject / Godot Resource / konfigurasi Cocos)—bukan penyembunyian sementara hanya di Scene.

Yang perlu ditambahkan desain

DeliverableTujuan
Wireframe per state (minimal Lobby / Combat / Modal)Engineering mengonfigurasi visibilitas
Daftar “boleh disembunyikan” combat di mockHindari menggambar setiap elemen di satu frame
Spesifikasi modal: latar diredupkan, tap-through diizinkan?Menetapkan kebijakan raycast
Z-order layer promo / eventSelaraskan dengan L4/L5

Desainer tidak perlu menulis state machine—tabel + anotasi mengurangi tebakan.


Routing perbaikan

GejalaKemungkinan penyebabTindakanPenanggung jawab
Masih bisa tap combat setelah dialogRaycast di bawahnya menyalaMatikan raycast Graphic pada layer modal / mask layar penuhEngineering
Event layar penuh saat combatTidak ada tabel stateSembunyikan P3 saat combat; persetujuan desainEngineering + desain
HUD tersisa setelah cinematicTidak ada hook state CinematicState machine menyembunyikan HUD secara seragamEngineering
Dua tampilan currencyBar lobby tidak dimatikan saat combatSembunyikan top bar saat Combat atau gabungkan sumber dataEngineering + desain
Locale panjang terpotong di layout minimal combatDE/ES tidak diujiJalur locale overflowDesain + engineering

FAQ

Dua Canvas untuk lobby dan combat?
Boleh—atau satu Canvas dengan grup. Yang penting adalah visibilitas state + raycast, bukan jumlah Canvas.

Toko setengah layar—apakah itu modal?
Ya. Spesifikasikan apakah bagian bawah bisa di-tap dan apakah logika combat dijeda.

Bertentangan dengan UX “less is more”?
Tabel hierarki adalah aturan produk, bukan estetika; P3 bisa dibuka kembali untuk event melalui flag state machine.

Bar overhead world-space di 3D?
Itu adalah info combat, dikelola bersama L1; Aturan sort world-space selaras dengan floating damage numbers dan Safe Area.

Panduan lain yang mungkin Anda suka