← Kembali ke blog

Safe Area UI Game dan QA Perangkat: Urutan Debug dan Perbaikan Prefab

Saat Editor Unity terlihat baik tapi notch memotong HUD atau tap meleset: klasifikasi kegagalan, debug Canvas Scaler dan Screen.safeArea, perbaiki Prefab vs ekspor ulang Studio.

Diterbitkan
  • game-ui-design
  • game-dev-ai
  • ui-to-engine
  • safe-area
  • unity
  • godot
  • cocos
  • vberai
  • qa
  • 2026
Safe Area UI Game dan QA Perangkat: Urutan Debug dan Perbaikan Prefab

Laporan paling umum: Tampilan Game view terlihat baik, tetapi di ponsel tinggi HUD berada di bawah notch, atau tombol tampak bisa di-tap tetapi hit meleset. Safe Area bukan sekadar “geser Anchor”—ini adalah kebijakan root Canvas, background full-bleed vs konten inset, dan apakah safeArea runtime sesuai dengan channel.

kelas kegagalan, urutan debug Unity UGUI, aturan perbaikan Prefab, dan catatan channel/mini-game. Item handoff desain 7 tanda safe-zone dirangkum di bagian “apa yang harus disediakan desain”; item pra-rilis 1 cakupan perangkat diperluas di sini—bukan pengulangan dari checklist engine + MCP Raycast / Play pertama.

Godot / Cocos: Petakan ke DisplayServer.get_display_safe_area() / widget SafeArea engine; urutan langkah sama dengan Unity di bawah.

Kriteria gagal (salah satu = tidak lulus): UI utama yang dapat dibaca atau tombol wajib berada di bawah oklusi sistem (notch, home indicator, sudut membulat); offset visual vs hit yang jelas; Editor hanya 16:9 tanpa aspek target di perangkat; perilaku Safe Area Dev vs Release berbeda tanpa spesifikasi.


Klasifikasikan dulu: clip, offset, atau background saja

GejalaTersangka pertamaTindakan engineering
Clip visual (teks/ikon di notch)Konten tidak inset; root diperlakukan sebagai layar penuhPeriksa safeArea vs rect konten
Offset tap (tampak benar, meleset)Mode skala Canvas, beberapa Canvas, kamera tidak cocokRaycast EventSystem + renderMode Canvas
Background terpotong, tombol OKBg full-bleed sesuai desain, konten insetBukan kegagalan jika spesifikasi mengizinkan
Salah setelah rotasiTidak ada listener untuk orientasi / perubahan safeAreaHitung ulang inset saat rotasi
Hanya build satu channelSDK mengubah safeArea atau resolusiSmoke build tersebut; jangan hanya mengandalkan Android generik

Notch clip vs correct safe inset

Visual button vs hit area offset


Unity UGUI: urutan debug yang disarankan (6 langkah)

1. Kunci reproduksi

Catat perangkat, OS, Dev/Release, orientasi, resolusi Game view. Item pra-rilis 5: jalankan HUD utama di Dev dan Release.

2. Log safeArea dan resolusi referensi

Setelah UI utama dimuat, log:

  • Screen.width / Screen.height
  • Screen.safeArea
  • Display.cutouts (Android 11+ jika digunakan)

Baca: safeArea lebih kecil dari layar → konten perlu inset. Di Editor safeArea sering sama dengan layar penuh → bukan pengganti perangkat.

3. Root Canvas dan Canvas Scaler

PeriksaKesalahan umumArah perbaikan
Render Mode rootCampuran Screen Space / Camera UI → offset raySatu mode untuk UI
Canvas ScalerResolusi referensi ≠ baseline portrait proyekCocokkan checklist engine item 1
Match width/heightAspek panjang skala salah; widget tepi bergeserSepakati Match dengan desain/produksi; perbaiki Prefab bukan hanya Scene
Urutan sortir Canvas gandaHit menuju layer salahSelaraskan sortingOrder dan target raycast

4. Layer: background full-bleed vs konten aman

Hierarki Prefab yang disarankan:

Canvas
├── Background_FullBleed   (anchor penuh, boleh masuk notch, tanpa input)
└── SafeRoot               (komponen Safe Area atau padding yang digerakkan safeArea)
    ├── HUD_Content
    └── Popups

Background_FullBleed and SafeRoot hierarchy

Gunakan Safe Area Unity (atau kode proyek yang mengatur offsetMin/Max dari Screen.safeArea). Jangan regangkan tombol interaktif ke layar penuh tanpa inset.

Ekspor Studio dengan satu layer datar: lihat nine-slice / ekspor ulang terstruktur dan canvas → Prefab.

5. Spot-check tap perangkat

3–5 tombol kritis pada alur utama; bandingkan pusat visual dengan jari. Offset hanya pada satu popup → periksa Canvas bersarang atau Scaler ganda.

6. Commit Prefab di repo

Kriteria lulus berada di Prefab berversi, bukan override Scene uji (item pra-rilis 6). Setelah perubahan Anchor, jalankan smoke locale overflow pada bahasa stres.


Channel / mini-game

SkenarioCatatan
Aplikasi nativeScreen.safeArea + perangkat nyata
Beberapa mini-game / quick appsafeArea / systemInfo kontainer ≠ simulasi Editor
Cutout Androidcutout vs safeArea bisa berbeda
PC / decksafeArea sering layar penuh

Pola: ISafeAreaProvider (atau setara); suntikkan per platform—hindari #if di Prefab HUD.


Routing perbaikan

GejalaKemungkinan penyebabTindakanPemilik
Clip perangkat, Editor OKTidak ada SafeRoot / driver safeAreaLayer Prefab + Safe Area; uji ulang perangkatEngineering
Background OK, tombol terpotongTombol di bawah layer bleedPindahkan ke SafeRoot; ekspor ulang layer StudioEngineering + Design
Offset tapMulti Canvas / kamera UI / Scaler bersarangGabungkan Canvas atau satukan kamera raycastEngineering
Pergeseran saat resolusi berubahHanya anchor tetapPerbaiki anchor; item engine 6Engineering
Desain tidak punya safe frameItem handoff 7 hilangDesain menambahkan referensi notch/home; ekspor ulangDesign
Ekspor Studio datarBG + HUD tidak dipisahPemisahan in-place lalu ekspor ulangEngineering + Design

Apa yang disediakan desain

PengirimanPenggunaan engineering
Resolusi target + referensi aman (notch / home bar)Reference Resolution dan ekspektasi inset
Layer full-bleed vs HUD yang dinamaiPrefab Background_* / SafeRoot
Tab tepi di dalam area aman atau bleed yang disengajaStrategi Anchor

Desainer tidak perlu menulis skrip—tanda yang jelas mengurangi tebakan inset px.


Pertanyaan umum

Apakah resolusi iPhone Game view cukup?
Hanya smoke Dev; rilis memerlukan perangkat target (item pra-rilis 1). safeArea Editor sering berbeda.

Komponen Safe Area vs offset manual?
Pilihan tim; manual harus menyegarkan saat safeArea/orientasi berubah—hindari logika duplikat.

Perbaiki clip hanya dengan Canvas Scaler?
Scaler menskalakan; inset terpisah. Clip adalah rect konten; Scaler adalah skala global.

Bisakah MCP/Cursor membantu?
Bagus untuk rename Prefab, melampirkan Safe Area, smoke Play—angka tetap dari log perangkat. Checklist engine + MCP.

Safe Area plus locale overflow?
Perbaiki tata letak SafeRoot dulu, lalu locale stres—inset menyusutkan lebar.

VberAI Studio vs Google AI Studio?
Tidak. Lihat perbandingan.

Panduan lain yang mungkin Anda suka