Cara Menjaga Skala Sprite Overworld dan Pertempuran Tetap Konsisten
Agar karakter terasa berukuran sama di adegan overworld dan pertempuran, bandingkan tinggi artwork saat dirender di layar—bukan hanya dimensi gambar sumbernya. Tentukan target tinggi piksel bersama untuk karakter tersebut, tetapkan skala dunia dan kerapatan piksel yang konsisten, lalu bandingkan kedua adegan pada skala kamera yang sama. Sejajarkan kaki karakter ke garis dasar (baseline) yang sama dan periksa hasilnya pada ukuran tampilan game yang diinginkan. Jika salah satu adegan sengaja menggunakan kamera atau komposisi yang berbeda, dokumentasikan pengecualian tersebut alih-alih mengubah skala sprite secara diam-diam.
Tentukan arti "skala yang sama" untuk game Anda
Mulailah dengan menetapkan target yang terukur. Misalnya, Anda dapat menetapkan bahwa karakter harus berukuran 32 piksel layar dari telapak kaki hingga ujung kepala di kedua adegan pada tampilan kamera referensi. Ini hanyalah target ilustratif, bukan ukuran universal yang direkomendasikan: pilihlah ukuran yang sesuai dengan resolusi game Anda dan tingkat detail seninya.
Ukurlah karakter yang terlihat, bukan persegi panjang gambar yang transparan. Sprite overworld mungkin memuat bayangan, senjata, antena, atau padding kosong, sedangkan sprite pertempuran mungkin memiliki pose yang berbeda. Putuskan apakah target Anda mengukur siluet tubuh dari kepala hingga kaki atau artwork keseluruhan yang terlihat, dan gunakan aturan yang sama untuk keduanya. Simpan lembar referensi kecil yang memuat tinggi target, resolusi referensi, garis lantai yang diinginkan, serta perbedaan adegan spesifik yang disengaja.
Definisi ini penting karena kanvas sumber yang lebih besar tidak otomatis membuat karakter berukuran lebih besar di layar. Dimensi kanvas mendeskripsikan area gambar; pengaturan impor, skala objek, dan kamera engine-lah yang menentukan berapa banyak piksel layar yang digunakan oleh area tersebut. Aseprite membedakan antara mengubah ukuran kanvas dan mengubah ukuran konten sprite, jadi pastikan operasi mana yang Anda butuhkan sebelum memodifikasi artwork.Aseprite: Sprite Size
Bandingkan artwork sebenarnya di dalam setiap kanvas
Buka gambar overworld dan pertempuran pada skala piksel aslinya (native) dan hitung piksel berdasarkan metode pengukuran yang dipilih. Catat tinggi karakter yang terlihat serta jarak antara kaki dan tepi kanvas. Jika karakter pertempuran memiliki tinggi 48 piksel yang terlihat dan karakter overworld 32 piksel, proporsi artwork keduanya berbeda 1,5:1 sebelum engine menerapkan penskalaan adegan apa pun.
Jika proporsinya identik, perhitungan awal yang sederhana adalah: tinggi render yang diinginkan ÷ tinggi render saat ini = faktor penyesuaian. Jika sprite saat ini dirender setinggi 24 piksel dan seharusnya dirender 32 piksel, faktornya adalah 32 ÷ 24 = 1,33. Gunakan nilai tersebut sebagai estimasi diagnostik, lalu periksa artwork dan pengaturan adegannya. Ini adalah perhitungan ilustratif; dengan asumsi tidak ada perbedaan kamera, crop, atau transformasi.
Jangan mengubah ukuran hanya agar file gambar memiliki lebar dan tinggi yang cocok. Satu pose mungkin lebih lebar, atau animasi pertempuran mungkin menyertakan tangan yang terangkat. Pertahankan bentuk yang diinginkan dan bandingkan titik acuan tubuh (landmark) yang sama. Jika kedua sprite memiliki anatomi atau perspektif yang tampak berbeda, menyamakan tinggi piksel mungkin tetap tidak membuatnya terasa identik; sesuaikan desainnya atau sepakati pengecualian khusus untuk adegan tersebut.
Tetapkan kerapatan piksel dan skala dunia bersama
Di Unity, atur sprite overworld dan pertempuran ke nilai Pixels Per Unit (PPU) yang sama, lalu samakan pengaturan Asset Pixels Per Unit pada Pixel Perfect Camera dengan nilai tersebut. Unity mendefinisikan PPU sebagai jumlah piksel yang membentuk satu unit adegan, dan panduan Pixel Perfect Camera-nya menyarankan penggunaan nilai yang sama di seluruh sprite adegan.Unity: 2D Pixel Perfect Sebagai contoh, jika proyek menggunakan 16 piksel per unit, sprite setinggi 32 piksel akan menempati 2 unit dunia sebelum penskalaan objek.
Periksa juga skala transform setiap objek karakter. Menyamakan PPU tidak akan mengompensasi jika salah satu objek adegan diskalakan ke 0,8 dan yang lainnya ke 1,0. Utamakan pengaturan impor dan transform yang konsisten, dan ubah artwork atau gunakan skala khusus adegan yang tercatat jelas hanya jika komposisi memang memerlukannya.
Pada engine lain, temukan kontrol yang setara: berapa banyak piksel sumber yang dipetakan ke satu unit dunia, skala node atau objek, serta viewport atau zoom kamera. Alur rendering 2D Godot mencakup transformasi kanvas dan viewport, termasuk transformasi regangan (stretch transform) yang digunakan saat mengubah ukuran layar; oleh karena itu, dimensi gambar sumber saja tidak dapat menentukan ukuran akhir di layar.Godot: Viewport and canvas transforms
Sejajarkan kaki dengan titik poros (pivot) yang terencana
Karakter bisa saja memiliki tinggi yang tepat tetapi tetap terlihat berskala tidak konsisten jika tampak melayang, tenggelam, atau bergeser posisi antaradegan. Atur pivot pada titik jangkar (anchor) yang bermakna, biasanya titik kontak tanah di antara kedua kaki, lalu sejajarkan anchor tersebut ke baseline lantai yang sama di kedua adegan. Untuk sprite yang kakinya bergerak selama animasi, jangkar bagian root atau pivot secara konsisten dan periksa frame kontaknya.
Hindari berasumsi bahwa bagian tengah setiap gambar merupakan anchor yang baik. Kanvas mungkin memiliki ruang padding transparan yang berbeda, dan pivot yang berada di tengah dapat menempatkan artwork pada posisi vertikal yang berbeda. Alur kerja pixel-perfect Unity mendukung pivot kustom yang diukur dalam piksel dan menyarankan penetapan pivot untuk masing-masing sprite dalam tekstur multi-sprite.Unity: 2D Pixel Perfect Di Godot, Sprite2D diposisikan di tengah secara default; dokumentasinya mencatat bahwa pixel art yang dipusatkan di tengah dapat terlihat terdistorsi saat diposisikan di antara piksel, serta menjelaskan opsi penonaktifan penengahan atau pengaktifan pixel snapping.Godot: Sprite2D
Periksa pemfilteran, snapping, dan skala kamera
Gunakan pemfilteran nearest atau point untuk pixel art yang tajam, dan pastikan kompresi tekstur tidak mengubah tampilannya. Panduan Unity secara khusus merekomendasikan pemfilteran Point dan tanpa kompresi untuk sprite yang digunakan bersama Pixel Perfect Camera miliknya.Unity: 2D Pixel Perfect Pengaturan ini mempertahankan ketajaman tepi; bukan membuat dua sprite dengan skala berbeda menjadi berukuran sama.
Selanjutnya, bandingkan adegan-adegan tersebut dengan kamera yang disetel ke tampilan referensi yang sama atau menggunakan kamera uji bersama sementara. Adegan pertempuran sering kali memperbesar tampilan (zoom in) untuk memberi penekanan. Jika zoom kamera berlipat ganda, karakter dapat menempati piksel layar dua kali lebih banyak meskipun skala dunia sprite tidak berubah. Tentukan apakah persyaratannya adalah ukuran dunia yang sama atau tingkat kejelasan/keutamaan layar (screen prominence) yang sama: keduanya merupakan tujuan yang berbeda. Jika pembingkaian pertempuran sengaja memperbesar karakter, catat zoom tersebut sebagai pilihan presentasi dan jangan gunakan tampilan itu untuk menilai skala dasar sprite.
Untuk pixel art, periksa pergerakan serta frame diamnya. Posisi subpiksel atau snapping yang tidak konsisten dapat membuat tepian berkedip atau tampak tidak rata saat karakter bergerak. Pixel Perfect Camera Unity menawarkan grid snapping yang terikat pada PPU asetnya; Godot menyediakan pengaturan pixel-snapping untuk verteks dan transformasi 2D.Unity: 2D Pixel Perfect Godot: Sprite2D Ujilah dengan pengaturan kamera proyek yang sebenarnya, karena perilaku snapping dan penskalaan bergantung pada konfigurasi rendering.
Lakukan pemeriksaan perbandingan singkat sebelum mengubah aset
Buat perbandingan berdampingan (side-by-side) dengan pose karakter yang sama jika memungkinkan. Gunakan urutan pemeriksaan berikut:
- Bandingkan tinggi tubuh yang terlihat menggunakan titik acuan dan aturan hitungan piksel yang sama.
- Bandingkan baseline kaki serta posisi pivot atau root sprite.
- Verifikasi PPU atau kerapatan impor yang setara, skala objek, dan skala induk (parent) apa pun.
- Samakan zoom kamera, resolusi referensi, penskalaan viewport, dan ukuran layar tampilan.
- Periksa pada ukuran native dan saat bergerak untuk mendeteksi blur, penempatan piksel yang tidak rata, atau clipping.
- Periksa kembali beberapa frame animasi, terutama pose terpendek dan tertinggi.
Jika ukuran artwork cocok tetapi karakter masih terlihat lebih besar dalam pertempuran, periksalah pembingkaian kamera dan objek di sekitarnya sebelum mengedit sprite. Jika kamera dan transformasi cocok tetapi tinggi siluet berbeda, sesuaikan artwork atau gunakan skala khusus adegan yang terkontrol. Jika posisi kaki bergeser padahal tingginya cocok, perbaiki pivot, padding, atau anchor. Urutan ini membantu mengisolasi penyebab masalah alih-alih menutupi satu kesalahan dengan kesalahan lainnya.
Simpan referensi skala kecil untuk sprite mendatang
Catat target tinggi bersama, PPU atau yang setara, resolusi referensi, konvensi pivot, dan pengaturan kamera yang diinginkan bersama dengan aset sprite. Alat bantu kanvas Aseprite dapat memangkas batas transparan, tetapi pemangkasan tersebut mengubah batas kanvas, jadi periksa apakah pivot, slice, atau anchor di sisi engine masih sejajar setelahnya.Aseprite: Canvas Size Anggap pemangkasan sebagai perubahan aset yang memerlukan pemeriksaan adegan secara cepat.
Standar yang andal adalah karakter yang cocok dengan target tinggi terlihat yang telah disepakati, berbagi anchor lantai yang sama, dan dirender secara konsisten di bawah pengaturan kamera dan pemfilteran yang diinginkan. Pertahankan perbedaan sengaja pada penekanan kamera sebagai pilihan presentasi yang eksplisit. Dengan mencatat pemeriksaan tersebut, pose overworld dan animasi pertempuran berikutnya dapat dibandingkan dengan referensi praktis yang sama.
