Cara Mengimpor Lembar Sprite ke Unity

Memasukkan PNG ke proyek Unity hanya memerlukan satu detik. Membuatnya dirender sebagai sprite tajam, berskala benar, dan terpotong benar memerlukan sekitar enam pengaturan, yang kebanyakan secara bawaan salah untuk pekerjaan 2D. Berikut fungsi masing-masing, cara memotong lembar dalam Sprite Editor, dan kapan lebih cepat memotong lembar sebelum masuk Unity.

Mulai dengan Texture Type

Pilih PNG yang diimpor dalam jendela Project dan lihat Inspector. Menu pertama adalah Texture Type, dan nilai bawaannya adalah Default — yang merupakan jalur tekstur 3D. Ubah menjadi Sprite (2D and UI).

Bukan kosmetik. Mengubah alur impor yang berjalan, menampilkan opsi sprite di bawah, dan memberi tahu Unity untuk membuat Sprite aset, bukan Texture2D. Tanpanya, SpriteRenderer tidak memiliki sesuatu untuk diterima dan tombol Sprite Editor tetap abu-abu. Jika proyek dibuat dari templat 2D, tekstur baru sudah menggunakan Sprite secara default, jadi periksa sebelum mencari pengaturannya.

Ingat untuk menekan Terapkan di bagian bawah Inspector. Unity tidak menyimpan pengaturan impor tekstur sampai Anda melakukannya, dan perubahan diam-diam kembali jika Anda memilih aset lain terlebih dahulu. Hampir semua orang pernah terjebak hal ini setidaknya sekali.

Sprite Mode: Single atau Multiple

Sprite Mode menentukan apakah file berisi satu sprite atau banyak.

  • Single — seluruh gambar adalah satu sprite. Gunakan untuk bingkai individu yang sudah dipotong menjadi file terpisah, latar belakang, dan gambar UI.
  • Multiple — gambar berisi beberapa sprite, dan Anda akan menentukan persegi panjangnya di Sprite Editor. Gunakan untuk sheet sungguhan yang ingin disimpan sebagai satu file.
  • Poligon — menghasilkan mesh khusus, bukan quad. Jarang diperlukan untuk sprite sheet; terutama untuk mengurangi overdraw pada sprite besar yang sebagian besar transparan.

Multiple adalah mode yang sering dipilih secara refleks, tetapi perlu dipertimbangkan. Mempertahankan satu lembar berarti satu tekstur, satu batch draw call, dan satu aset dikelola. Membagi menjadi PNG terpisah berarti pengaturan animasi lebih sederhana, pengeditan per bingkai lebih mudah, dan tidak bergantung pada tebakan batas sel Unity. Keduanya sah; faktor penentu biasanya apakah lembar memiliki kisi andal.

Pemotongan dalam Sprite Editor

Dengan Sprite Mode diatur ke Multiple, klik Sprite Editor. Jika tombolnya sama sekali tidak ada, paket 2D Sprite belum terpasang — tambahkan melalui Window → Package Manager. Di dalam editor, Potong menu tarik-turun di kiri atas menawarkan tiga jenis.

Otomatis

Unity memindai tekstur untuk menemukan kumpulan piksel tidak transparan dan menggambar persegi panjang di sekeliling masing-masing. Pada sheet bersih dengan celah transparan dan sprite yang terpisah jelas, ini bekerja baik hanya dengan satu klik. Kegagalannya dapat diperkirakan dalam tiga kasus: sprite yang bersentuhan atau tumpang-tindih digabung menjadi satu persegi panjang; karakter dengan bagian terpisah (senjata melayang, bayangan terpisah) dibagi menjadi beberapa bagian; dan sheet dengan latar tidak transparan menghasilkan tepat satu persegi panjang yang mencakup semuanya, karena seluruh gambar opak.

Bagian Method menu tarik-turun di sebelahnya penting saat memotong ulang. Delete Existing menghapus koreksi manual Anda; Smart berusaha mempertahankan persegi panjang yang telah disesuaikan; Safe hanya menambah yang baru. Gunakan Smart atau Safe setelah melakukan koreksi manual.

Lembar sprite empat kali empat seorang penjaga hutan bertudung hijau dengan busur, dengan keenam belas pose berukuran konsisten dan celah merata di antaranya, pada latar transparan
Lembar yang cukup teratur untuk jenis pemotongan kisi di bawah. Ukuran sprite konsisten, celah merata, latar transparan — kondisi yang diasumsikan Grid By Cell Size dan otomatis diberikan oleh ekspor dari alat.

Kisi Berdasarkan Ukuran Sel

Anda memberikan lebar dan tinggi piksel, lalu Unity meletakkan kisi di atas tekstur. Ini pilihan tepat ketika ukuran sel diketahui — misalnya sheet 512×512 berisi tile 64×64. Kolom Offset dan Padding menangani sheet dengan margin di tepi atau jarak antar sel. Atur sekali dan setiap sel tepat pada tempatnya, karena sheet hasil alat memang berupa kisi.

Kisi Berdasarkan Jumlah Sel

Gagasan sama, tetapi Anda memberikan jumlah kolom dan baris lalu Unity membaginya. Praktis ketika tahu lembar 4×4 tetapi belum menghitung. Hati-hati pada tekstur yang dimensinya tidak terbagi rata: 1024 dibagi 3 adalah 341.33, dan pembulatan muncul sebagai sedikit sprite tetangga selebar satu piksel pada satu tepi setiap sel.

Pivot lebih penting daripada kelihatannya. Setiap jenis pemotongan memiliki menu Pivot. Untuk karakter yang berdiri di tanah, Bottom biasanya benar — menjaga kaki tetap berpijak ketika tinggi bingkai berbeda. Untuk proyektil dan efek, Center. Anda juga dapat mengatur Custom dan memasukkan koordinat ternormalisasi. Kesalahan ini merupakan penyebab paling umum animasi tampak naik-turun atau bergeser.

Pixels Per Unit dan makna sebenarnya

Pixels Per Unit (PPU) adalah rasio konversi antara piksel tekstur dan unit dunia Unity. Nilai bawaannya 100, yang berarti sprite berukuran 100×100 piksel menempati tepat satu unit dunia persegi pada skala 1.

Satuan dunia Unity bersifat abstrak, tetapi fisika, ukuran kamera, dan kecepatan gerak semuanya dinyatakan dalam satuan itu, sehingga angka yang Anda pilih menentukan skala seluruh game. Dua konvensi umum:

  • PPU = ukuran ubin sprite Anda. Jika ubin berukuran 16×16 piksel, atur PPU menjadi 16 dan satu ubin sama dengan satu unit dunia. Tilemap sejajar pada koordinat bilangan bulat, dan gravitasi −9.81 memiliki makna yang kurang lebih fisik.
  • PPU = 100 untuk semuanya. Lebih sederhana jika karya beresolusi tinggi dan Anda tidak memakai gerakan berbasis ubin.

Yang penting konsistensi. Sprite diimpor dengan PPU berbeda tampak pada skala berbeda relatif satu sama lain, dan solusi umum — menyesuaikan skala Transform objek individual — menyembunyikan masalah sambil membuat collider, fisika, dan penggunaan ulang prefab lebih sulit dipahami. Atur PPU benar saat impor.

Filter Mode dan kompresi untuk seni piksel

Dua pengaturan menentukan apakah pixel art Anda terlihat seperti pixel art atau seperti sapuan kabur.

Filter Mode secara default menggunakan Bilinear, yang melakukan interpolasi antarteksel ketika sprite digambar pada ukuran selain 1:1. Pada tekstur foto, inilah yang Anda inginkan. Pada karakter 32×32, ini menghasilkan tepian lembut dan kabur. Atur menjadi Point (no filter) untuk pixel art, sehingga batas piksel tetap tegas.

Compression secara default menggunakan Normal Quality, yang pada sebagian besar platform berarti format kompresi blok. Kompresi blok bekerja dengan mendekati kelompok piksel, dan pada gambar berwarna rata dengan tepi tegas, artefaknya jelas — pinggiran berwarna di sekitar garis luar, terutama dekat transparansi. Atur Compression ke None untuk sprite pixel art. Ya, tekstur membutuhkan lebih banyak memori; beberapa sprite sheet kecil tanpa kompresi merupakan bagian yang sangat kecil dari anggaran memori modern, sedangkan perbedaan visualnya nyata.

Hapus juga centang Generate Mip Maps untuk sprite 2D yang selalu digambar mendekati ukuran aslinya. Mipmap ditujukan bagi tekstur yang dilihat dari jarak berbeda dalam 3D; dalam 2D, mipmap sebagian besar hanya menggunakan memori dan kadang menyebabkan sprite mengambil sampel tingkat yang lebih kabur daripada yang dimaksud.

PengaturanSeni pikselResolusi tinggi / 2D lukis
Texture TypeSprite (2D and UI)Sprite (2D and UI)
Mode FilterPoint (no filter)Bilinear
KompresiTidak adaKualitas Normal
Generate Mip MapsNonaktifNonaktif untuk 2D, aktif jika diskalakan jauh
Piksel Per UnitUkuran ubin (8, 16, 32…)100
Ukuran MaksimumSetidaknya dimensi terbesar lembarSetidaknya dimensi terbesar lembar
Periksa Max Size jika sprite Anda tampak lembut tanpa alasan. Unity membatasi tekstur impor pada 2048 secara default di beberapa tab platform. Sheet selebar 4096 diam-diam diperkecil menjadi 2048, sehingga resolusi Anda sudah berkurang separuh sebelum pengaturan di atas diterapkan.

Berkas yang sudah dipotong dibandingkan pemotongan di Unity

Pemotong Unity bekerja baik untuk tujuan pembuatannya: sheet yang dihasilkan alat, dengan kisi sungguhan dan celah transparan. Grid By Cell Size pada ekspor Aseprite tepat dan seketika, sehingga tidak ada alasan melakukannya di tempat lain.

Lembar generator gambar merupakan masalah berbeda. Model yang diminta "lembar sprite 4×4" menghasilkan sesuatu mirip kisi tanpa benar-benar menjadi kisi: jarak bergeser beberapa piksel per sel, ukuran sprite bervariasi menurut pose, dan isi setiap sel tidak di tengah. Grid By Cell Size memotong kepala. Automatic menggabungkan dua bingkai yang bersentuhan dan memisahkan satu dengan perisai terlepas. Lalu Anda menyeret enam belas persegi panjang manual dalam Sprite Editor, cara lambat menghabiskan dua puluh menit.

Memotong lembar sebelum mengimpor menghindari masalah itu. Alat kami Pemotong Lembar Sprite menemukan batas sprite dari saluran alfa, bukan koordinat perkiraan, memangkas setiap bingkai sesuai kontennya, dan mengekspor PNG terpisah. File tersebut masuk ke Unity sebagai Sprite Mode Single tanpa pekerjaan Sprite Editor sama sekali. Jika deteksi otomatis tidak tepat, tab Manual & Preset memungkinkan Anda menyeret setiap garis kisi ke celah yang benar — enam kali seret untuk sheet enam belas bingkai, bukan enam belas persegi panjang.

Ada kompromi nyata. Berkas terpisah berarti lebih banyak aset dan, tanpa Sprite Atlas, lebih banyak draw call. Jika penting, potong eksternal untuk bingkai benar lalu tambahkan Sprite Atlas aset (Assets → Create → 2D → Sprite Atlas) dan seret folder ke daftar Objects for Packing-nya. Anda mendapatkan batas yang benar dan rendering batch, sementara Unity melakukan pengepakan yang memang dikuasainya.

Dari sprite ke animasi

  1. Pilih bingkai berurutan dalam jendela Project — subsprite pada lembar terpotong atau PNG individual.
  2. Seret seleksi ke Scene atau Hierarchy. Unity meminta lokasi penyimpanan dan membuat Animation Clip beserta Animator Controller yang terhubung dengannya.
  3. Buka jendela Animation untuk menyesuaikan laju sampel. Bawaan 12 sampel per detik cocok untuk banyak siklus berjalan; 24 lebih halus; angka satu digit memberi kesan retro tersendat yang disengaja.
  4. Pastikan bingkai berada dalam urutan yang benar. Unity mengurutkan berdasarkan nama, sehingga frame_10 berada di antara frame_1 dan frame_2 kecuali Anda menambahkan nol di depan hingga frame_01.
  5. Untuk klip tambahan, ulangi proses dan hubungkan transisi dalam Animator, atau kendalikan bingkai langsung melalui skrip jika Anda lebih suka menghindari Animator sepenuhnya.

Pertanyaan yang sering diajukan

Mengapa sprite saya memiliki garis tipis dari bingkai tetangga pada salah satu tepinya?

Perembesan tekstur. Ukuran sel tidak membagi rata tekstur atau filter bilinear mengambil sampel melintasi batas persegi panjang. Atur Filter Mode menjadi Point, nonaktifkan kompresi, dan verifikasi perhitungan sel. Satu atau dua piksel ruang transparan antarsprite dalam sumber mencegahnya permanen.

Haruskah saya menggunakan Sprite Atlas atau satu lembar besar?

Sprite Atlas, dalam kebanyakan kasus. Anda dapat membuat sprite sebagai berkas terpisah — mudah diedit dan diurutkan — sementara Unity mengemasnya ke tekstur bersama saat build untuk batching. Mega-lembar buatan tangan memberi hasil runtime serupa tetapi jauh lebih merepotkan setiap kali bingkai berubah.

Animasi saya diputar tetapi karakter bergetar naik turun. Mengapa?

Bingkai dengan tinggi berbeda berbagi pivot Center. Atur pivot menjadi Bottom, atau tambahkan ruang pada setiap bingkai hingga ukurannya identik sebelum mengimpor agar konten berada pada posisi konsisten dalam setiap bingkai.

Apakah saya perlu mengubah sesuatu untuk Universal Render Pipeline?

Pengaturan impor sama. Yang berubah adalah material: URP 2D memakai Sprite-Lit-Default ketika 2D Renderer aktif, sehingga sprite tanpa pencahayaan dapat tampak hitam sampai ada cahaya dalam adegan. Ubah material SpriteRenderer menjadi Sprite-Unlit-Default, atau tambahkan Global Light 2D.

Potong lembar sebelum masuk Unity

Jika auto-slice Unity tidak cocok dengan lembar Anda, potong di peramban terlebih dahulu dan impor PNG individual yang bersih. Magic Slice mendeteksi batas sprite dari kanal alfa; Manual & Preset memungkinkan Anda menyeret garis sendiri. Tidak ada yang diunggah — semua berjalan secara lokal.

Buka Pemotong Lembar Sprite