← Kembali ke blog

Nine-Slice UI Game dan Panel Skalabel: Penanda Figma / PSD dan QA Sliced di Engine

Panduan menandai border dan skala ekspor nine-slice di Figma/PSD, plus kriteria lulus/gagal Sliced Unity UGUI, StyleBox Godot, dan cap Cocos.

Diterbitkan
  • game-ui-design
  • game-dev-ai
  • ui-slicing
  • figma-to-unity
  • psd-to-unity
  • nine-slice
  • vberai
  • ai-studio
  • unity
  • godot
  • cocos
  • 2026
Nine-Slice UI Game dan Panel Skalabel: Penanda Figma / PSD dan QA Sliced di Engine

Saat panel diregangkan lebih lebar, sudut buram, tekstur tengah berulang, atau sudut oval biasanya berarti nine-slice (9-slice / cap inset) tidak ditentukan saat handoff, atau engine memakai skala Simple pada seluruh sprite. Menyesuaikan Image Type dan border di Unity Editor bisa menyelamatkan satu layar, tapi drop desain berikutnya akan menimpanya—jika border tidak cocok dengan skala ekspor, siklus rework terjadi.

Contoh di bawah berfokus pada Unity UGUI Image (Sliced / Tiled). Godot StyleBoxTexture dan nine-slice sprite Cocos memetakan ke ide yang sama, termasuk content padding. Anchor dan Safe Area: checklist engine + MCP item 6. Padding stretch-region dengan locale: locale overflow design check 7.

Checklist handoff desain item 6 mensyaratkan nine-slice / stretch region yang jelas. Posting ini membahas kapan harus slice, penanda Figma/PSD, acceptance tiga engine, dan jalur full-screen canvas, plus tabel perbaikan.

Kriteria gagal (salah satu = tidak lulus): seni sudut terdeformasi saat diregangkan; pengulangan atau seam tak diinginkan di stretch region; radius sudut berubah dengan ukuran panel; background skalabel ikut terskala bersama ikon/avatar tetap; skala ekspor tidak cocok dengan piksel border engine (celah 1px atau tepi lembut).


Kapan nine-slice diperlukan vs hard stretch dilarang

Jenis asetLakukanJangan
Bg dialog / panel pengaturanNine-slice + content paddingSatu sprite Simple full bleed
Container input / barNine-slice atau cap Kiri/Kanan + repeat tengahSquash tinggi tanpa aturan seni
Tombol utama (ukuran tetap)Sprite tetap atau nine-slice + lebar minimumTombol rounded lebar tak terbatas sebagai satu stretch
Ikon, avatar, frame skillUkuran tetap, tanpa nine-sliceGabung dengan bg panel jadi satu gambar stretch
Bg full-screen (tanpa kotak berbingkai)Gambar penuh atau strategi tile di specPakai ulang border panel pada full bleed

Aturan: Jika lebar atau tinggi berubah dengan resolusi, teks, atau konten list dan sudut harus tetap berbentuk → nine-slice atau ekuivalen engine. Kontrol ukuran tetap → sprite tetap + constraint layout.


Penanda handoff Figma / PSD (daftar centang)

#PeriksaStandar lulus
1Layer stretch terpisah dari dekor / ikon / teksBg panel reskin + slice; ikon tidak diskalakan dengan bg
2Border / cap inset dalam px (empat sisi)Cocok @1x atau skala ekspor tim di catatan pengiriman
3Skala ekspor tetap (@1x/@2x atau baseline 1080)Engineering tidak menebak matematika border
4Radius sudut di luar stretch region atau spec mengizinkan sudut non-stretchTidak ada lulus “sudut berubah jadi kapsul”
5Stretch region ramah tile atau solidRepeat tengah tanpa misalignment jelas
6Nama semantikmis. Panel_Shop_9s, Input_Field_9s
7Multi-state (normal / disabled) border samaInset cocok; hanya warna/skin berubah
8Slice PSD atau catatan ekspor Figma padding transparanJangan hitung shadow di border kecuali spec menyatakan
9Kirim dengan handoff item 5 button statesJangan tambal state yang hilang dengan seni 9s yang salah
10Reskin event hanya ubah seni, border tidak berubahLihat spec reskin

Figma: taruh cap inset di dokumen komponen saat memakai resizable frame atau plugin slice. PSD: selaraskan slice dengan PSD ke Unity dalam 5 menit.


Tiga engine: komponen dan acceptance

ItemUnity UGUIGodot 4 ControlCocos UI
KomponenImage → Sliced / TiledStyleBoxTexture (patch margin)Sprite nine-slice / Sliced
Sumber borderSprite Editor Border (L/T/R/B px)content_margin / patchCap insets (LTRB)
Area kontenRectTransform + padding anakMarginContainer + ThemeWidget / layout padding
Gagal tipikalSalah pakai Simple; border skala salahPatch vs ukuran tekstur tidak cocokRotasi atlas merusak inset
LulusPada lebar 150% / 200%: sudut tajam, tengah bersihSama; preview Theme cocok dengan PlaySama; spot-check perangkat pada list panjang

Acceptance Unity Editor (petakan ke engine lain):

  1. Set Prefab Image ke Sliced dengan border sesuai desain.
  2. Geser RectTransform panel ke lebar desain min dan maks.
  3. Bandingkan sudut, tepi, dan tengah dengan tangkapan Figma/PSD.
  4. Jika mode Play OK → satu pass perangkat per checklist pra-rilis.

Konsep full-screen: pemisahan canvas dan ekspor ulang

Dengan seni full-screen PNG atau AI saja, border tidak bisa disimpulkan. Jalur: VberAI Studio (AI Studio, ≠ Google AI Studio) pemisahan in-place → tandai panel skalabel → ekspor Prefab (deterministik, bukan YAML LLM).

LangkahAksiAcceptance
1Full screen di canvas; pisahkan Panel_* dan ikon tetapHierarki bernama
2Konfirmasi niat 9-slice panel di canvas atau sebelum eksporPemilik inset didokumentasikan
3Ekspor Prefab Unity / Godot / CocosQA Sliced per tabel di atas
4Setelah reskin / locale, ekspor ulang seluruh treeJika spec border tidak berubah, inset tidak berubah

Figma/PSD berlapis: utamakan Figma → Unity atau PSD ke UGUI, lalu tweak border minor di engine—hindari ekspor ulang 20 PNG lepas tiap event.


Routing perbaikan

GejalaKemungkinan penyebabAksiPemilik
Sudut buramSkala Simple pada seluruh gambarSliced + border benar; desain tambah tanda insetEngineering + Design
Seam tengah / blok berulanginset meleset 1–2px; skala tidak cocokCocokkan px desain; reimport spriteEngineering
Sudut meregang ovalSeni tidak boleh nine-sliceUkuran tetap atau seni sudut baruDesign
Border berubah setelah reskinUkuran seni baru atau paddingKunci ukuran canvas di spec reskin; QA ulang setelah reskinDesign
Bg baris list terdeformasiBg baris diregangkan seperti panel penuh9s khusus baris atau tinggi tetapDesign
Gagal hanya di resolusi tertentuSkala non-integer Canvas ScalerChecklist engine Anchor/ScalerEngineering

Aturan: Jika border ≠ desain → perbaiki penanda atau sumber sprite dulu, lalu Prefab. Perbaikan hanya di Inspector tanpa memperbarui pengiriman → hilang pada ekspor berikutnya.


vs handoff “hanya paket PNG”

PendekatanCocokTidak cocok
Ekspor manual + engineering mengisi borderSedikit panel, demoReskin sering, banyak layar
Figma/PSD + ekspor terstruktur VberAI StudioMulti-layar, multi-engine, eventMenggantikan tanda inset dan QA
Sliced sementara di engineHotfix satu layarJangka panjang tanpa sumber desain

Direkomendasikan: tanda inset desain → ekspor Prefab terstruktur → Unity Editor Sliced pada dua lebar → MCP untuk logika. Raycast dan binding: checklist engine + MCP.


Pertanyaan umum

Bisakah panel rounded memakai nine-slice?
Ya, tapi inset harus berada di tepi stretch lurus; sudut tetap di tile sudut non-stretch. Jika radius sudut tumbuh dengan ukuran panel → gagal; perbaiki seni atau batasi ukuran maks.

Apakah shadow dihitung di border?
Spec produk yang menentukan. Jika shadow tidak meregang, pisahkan layer atau tandai inset pada rect solid tanpa outer glow.

Tiled vs Sliced?
Sliced untuk panel berbingkai; Tiled (atau seni tengah ramah tile) untuk tekstur tengah berulang. Tulis di spec—jangan biarkan engineering menebak.

Slice terpisah untuk Godot / Cocos?
Satu semantik inset; ganti target ekspor via ekspor multi-engine canvas dan verifikasi patch/cap per tabel.

Apakah VberAI Studio otomatis mengisi border?
Tergantung ekspor dan aset; acceptance selalu Sliced/StyleBox engine. Tanpa inset di desain → engineering set border di Editor dan catat di spec.

Apakah VberAI Studio sama dengan Google AI Studio?
Tidak. Lihat perbandingan.

Panduan lain yang mungkin Anda suka

ChinaJoy 2026: Catatan dari Booth VberAI di Hall W5

VberAI di ChinaJoy 2026 (Shanghai New International Expo Centre, Hall W5): pengunjung dan pengambil keputusan, brosur habis di hari pertama, minat kuat dari klien Rusia, pembicaraan dengan perusahaan aset 3D Korea, dan bulan depan generasi aset 3D game dengan kemungkinan integrasi pipeline.

  • ChinaJoy
  • VberAI
  • AI Studio
  • 3D assets
Baca selengkapnya