Pixel Lo-fi di Persatuan

gambar

Gaya visual dari game pengembangan saya LAUNDRY GAME (ya, ini adalah iklan yang tidak tahu malu) didasarkan pada piksel yang besar dan jelas dalam 3D. Saya suka 3D resolusi rendah. Saya ditanya banyak pertanyaan tentang bagaimana saya melakukan ini, jadi saya memutuskan untuk menulis tutorial.

Catatan: ini hanya keputusanku! Ada beberapa metode menggunakan shader, grafis yang mencolok dan trik lainnya, tetapi untuk proyek solo kecil saya solusi semacam itu sudah cukup.

Tambahan 1: orang pintar Pete Brisburn mengirim skrip di sini jika Anda tidak suka trik "quad in the sky" (langkah 4-6)!

Tahap 1: mempersiapkan adegan sumber



Pertama, Anda perlu menyiapkan adegan! Saya membuat kubus kecil ini dengan teman burung saya Oscar J. Ruffles . Dia berlari di sekitar kubus dan terus-menerus menjerit. (Ini hanya pengontrol karakter dan animator yang terhubung bersama-sama.)

Tapi lihat garis-garis smoothing menjijikkan ini! Fu, mari kita singkirkan mereka.

Tahap 2: lepaskan kamera MSAA



Sorot Kamera Utama dan hapus centang pada kotak Perbolehkan MSAA . Seperti yang Anda lihat, piksel jauh lebih tajam. Tapi belum ada upscaling! Artinya, semua piksel akan berukuran kecil. Itu perlu diperbaiki.

Tahap 3: rendering kamera dalam tekstur render



Saya memperbesar (untuk mendapatkan piksel renyah besar) menggunakan RenderTexture dan merender Kamera Utama ke dalam tekstur ini. Ini akan memungkinkan kita untuk menggunakan RenderTexture ini seperti tekstur biasa!


Berikut adalah opsi yang akan saya gunakan untuk RenderTexture saya. Ukuran adalah ukuran di mana kita memperbesar. Semakin kecil angkanya, semakin besar pikselnya. Untuk kedua nilai, saya biasanya menggunakan angka dalam kisaran 300 hingga 600 ( Celeste yang sangat baik, misalnya, melakukan pembesaran dari 320x200).

Mode Filter adalah cara untuk melakukan naik / turun skala. Mode "Point" tidak menambahkan anti-aliasing, yaitu mempertahankan ketajaman piksel yang sangat kita butuhkan.

Tetapi apa yang terjadi?


Sekarang kami membuat Camera bukan di layar, tetapi di RenderTexture, jadi tidak ada yang ditampilkan di layar!

Untuk memperbaikinya, kita perlu mengatur kamera lain , tetapi kali ini sedikit berbeda.

Tahap 4: Buat Kamera Zoom + Quad



Mari kita mulai dengan membuat kamera baru di tempat kejadian (sebut saja QuadCamera ) dan pasang quad 3D ke dalamnya sebagai seorang anak.

Tahap 5: letakkan di suatu tempat kosong



Maka kita perlu mengambil QuadCamera dan mendorongnya ke suatu tempat. Di mana pun, hal utama adalah bahwa itu tidak boleh terlihat dari Kamera Utama . Saya biasanya mengangkatnya tinggi ke langit atau menurunkannya jauh ke bawah.

Langkah 6: Pasang Tekstur Render ke Quad dan Letakkan di Depan Kamera



Lalu kita ambil quad. Saya mengatur Sprite-Default untuk itu (bahan Unity standar yang tidak terpengaruh oleh pencahayaan) sehingga tidak akan terpengaruh oleh pencahayaan acak apa pun di tempat kejadian. Kemudian seret RenderTexture ke quad. Sekarang quad menunjukkan adegan kita! Lalu kami memindahkan quad sehingga berada di depan QuadCamera (kamera yang sekarang menampilkan layar target).


Seperti yang Anda lihat, skala rendering kini telah meningkat! Oscar dapat secara konstan mengklik paruh pikselnya! Tetapi pada saat yang sama, kami semakin dekat dengan kepalanya.

Tahap 7: sesuaikan kamera



Pada tahap terakhir, mari kita kembali ke Kamera Utama saya dan mengaturnya sehingga kita melihat hal yang sama sebelumnya. Di sini Anda dapat meningkatkan ukuran tekstur render sehingga piksel menjadi sedikit lebih kecil, atau menguranginya, sehingga hanya 7 piksel yang pas di layar. Sudah waktunya untuk bereksperimen, cari yang cocok untuk Anda secara pribadi.

Bonus: pastikan bahwa teksturnya tidak buram



Seperti yang telah kita lihat, tekstur model (mata besar Oscar) telah kabur selama ini. Ini terjadi karena ketika mengimpor tekstur ke Unity, parameter standar dipilih untuk menghasilkan tekstur mip dan penskalaan halus. Tetapi kita tidak membutuhkan ini. Oleh karena itu, ketika mengimpor tekstur, Anda harus menonaktifkan Generate Mip Maps dan pilih mode Point untuk Mode Filter .

Source: https://habr.com/ru/post/id465479/


All Articles