Pengaturan awal untuk game 2D
2D Sorting

Membuat permainan 2D

Sebelum Anda membuat permainan 2D, Anda perlu memutuskan pada perspektif permainan dan gaya seni.

Untuk membuat game 2D, mendirikan proyek Unity Anda dan kemudian membiasakan diri dengan konsep yang relevan dalam urutan berikut:

  1. Fundamentals

  2. Scripting

  3. SpritesObjek grafis 2D. Jika Anda digunakan untuk bekerja di 3D, Sprites pada dasarnya hanya tekstur standar tetapi ada teknik khusus untuk menggabungkan dan mengelola tekstur sprite untuk efisiensi dan kenyamanan selama perkembangan. More info
    Lihat di Glossary

  4. Membangun lingkungan dalam game

  5. Animasi karakter

  6. Graphics

  7. Fisika 2D

  8. Audio

  9. Antarmuka pengguna

  10. Profil, mengoptimalkan dan pengujian

  11. Publishing

Fundamentals

GameObjectsObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary
adalah objek mendasar dalam Unity yang mewakili karakter, props, pemandangan, dan banyak lagi. Setiap objek dalam permainan Anda adalah GameObject.

GameObjects mewakili item dalam permainan Anda; ruang di mana Anda menempatkan mereka untuk membangun tingkat Anda disebut sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
. Adegan di Unity selalu 3D; ketika Anda membuat permainan 2D di Unity, Anda biasanya memilih untuk mengabaikan dimensi ketiga (sumbu z) tetapi Anda juga dapat menggunakannya dalam kasus khusus, misalnya ketika membuat permainan 2.5D.

Perilaku GameObjects didefinisikan oleh blok fungsi yang disebut komponen. Komponen berikut adalah fundamental untuk game 2D:

  • Transform: Transform componentKomponen Transform menentukan Posisi, Rotasi, dan Skala setiap objek di tempat kejadian. Setiap GameObject memiliki Transform. More info
    Lihat di Glossary
    menentukan Posisi, Rotasi, dan Timbangan setiap GameObject di tempat kejadian. Setiap GameObject memiliki komponen Transform.

  • Sprite RendererKomponen yang memungkinkan Anda menampilkan gambar sebagai Sprites untuk digunakan di kedua adegan 2D dan 3D. More info
    Lihat di Glossary
    : komponen Sprite Renderer membuat Sprite dan mengontrol bagaimana terlihat dalam sebuah adegan.

  • KameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
    Lihat di Glossary
    : perangkat yang menangkap dan menampilkan dunia ke pemain. Menandai Kamera sebagai Orthographic menghilangkan semua perspektif dari tampilan Kamera. Ini sebagian besar berguna untuk membuat isometric atau 2D permainan.

  • Catalog 2D: komponen ini mendefinisikan bentuk 2D GameObject untuk tujuan fisik collisionstabrakan terjadi ketika mesin fisika mendeteksi bahwa tabrakan dari dua GameObjects membuat kontak atau tumpang tindih, ketika setidaknya satu memiliki komponen kaku dan bergerak. More info
    Lihat di Glossary
    . Sitemap2D Fisika.

Komponen adalah representasi UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
Lihat di Glossary
dari kelas C#; Anda dapat menggunakan skrip untuk mengubah dan berinteraksi dengan komponen, atau membuat yang baru. Lihat bagian Scripting untuk detail lebih lanjut.

Scripting

Semua game 2D perlu scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
. Script merespon input dari pemain dan mengatur acara di gameplay untuk terjadi ketika mereka harus.

Untuk detail tentang cara menggunakan skrip di Unity melihat Scripting Overview. Juga lihat kursus Unity Learn.

Script dilampirkan ke GameObjects, dan skrip yang Anda buat mengherankan dari kelas MonoBehaviour.

Sprites

Sprites adalah benda grafis 2D. Anda menggunakan Sprites untuk semua jenis game 2D. Misalnya, Anda dapat mengimpor gambar karakter utama Anda sebagai Sprite.

A character Sprite
Karakter Sprite

Anda juga dapat menggunakan koleksi Sprite untuk membangun karakter. Ini memungkinkan Anda kontrol yang lebih besar atas pergerakan dan animasi karakter Anda.

Multiple Sprites that make up the parts of a character, displayed in the Sprite Editor
Beberapa Sprites yang membuat bagian dari karakter, ditampilkan dalam Editor Sprite

Mengimpor dan mengatur Sprites

Mengimpor Sprites Anda dengan pengaturan yang disarankan Unity; lihat Mengimpor dan Menyiapkan Sprites.

Rendering Sprites

Gunakan komponen Sprite Renderer untuk membuat Sprites Anda. Misalnya, Anda dapat menggunakan Sprite Renderer untuk mengubah warna dan opacity Sprite.

Adjusting the color of a Sprite with the Sprite Renderer
Menyesuaikan warna Sprite dengan Sprite Renderer

Sitemap Sitemap Dengan mengatur Sprites dalam lapisan, Anda dapat membuat ilusi kedalaman. Anda dapat memilah Sprites sesuai dengan banyak strategi. Lihat Sorting Sprites untuk rincian lengkap. Misalnya, Anda mungkin memilah Sprites di sepanjang sumbu y, sehingga Sprites yang lebih tinggi diurutkan di belakang Sprites yang lebih rendah, untuk membuat Sprites yang lebih tinggi muncul lebih jauh daripada Sprites yang lebih rendah.

Sprites sorted along the y-axis
Sprites diurutkan di sepanjang sumbu y

Untuk mengatur urutan overlay Sprites, gunakan Lapisan Sortasi.

Untuk kelompok GameObjects dengan Sprite Renderers, dan kontrol urutan di mana mereka membuat Sprites mereka, gunakan Sorting Groups.

Atlas Asni

Anda dapat menggunakan Atlas AsniTekstur yang terdiri dari beberapa tekstur yang lebih kecil. Juga disebut sebagai atlas tekstur, sprite gambar, sprite sheet atau tekstur dikemas. More info
Lihat di Glossary
untuk mengkonsolidasikan beberapa Tekstur menjadi Tekstur gabungan tunggal. Ini mengoptimalkan permainan Anda dan menyimpan memori. Sebagai contoh, Anda dapat menambahkan semua Sprites Anda yang terkait dengan karakter atau tujuan tertentu untuk Sprite Atlas.

A Sprite Atlas
Atlas Asni

See the .

Membangun lingkungan dalam game

Desain lingkungan mengacu pada proses membangun tingkat dan lingkungan permainan Anda. Anda dapat menggabungkan alat desain lingkungan di bagian ini dengan cara mana pun yang masuk akal untuk permainan Anda; misalnya, Anda dapat membuat permainan top-down hanya menggunakan 9-slice, atau Anda dapat membuat sisi pada platformer dengan Tilemap dan SpriteShape.

9-pengirisan

9-slicing adalah teknik 2D yang memungkinkan Anda untuk menggunakan kembali gambar pada berbagai ukuran tanpa perlu menyiapkan beberapa aset. Unity dapat secara dinamis meregangkan dan ubin bagian yang ditunjuk Sprite untuk memungkinkan satu Sprite untuk melayani sebagai perbatasan atau latar belakang untuk elemen UI dari banyak ukuran. Sitemap9-slicing kecambah.

Sebagai contoh, Anda dapat menggunakan 9-slicing untuk meregangkan Sprite untuk membentuk ketika Anda membangun tingkat 2D.

A 9-sliced Sprite, split into nine sections
Sprite 9-sliced, dibagi menjadi sembilan bagian

See the .

Tilemap

Komponen TilemapGameObject yang memungkinkan Anda untuk dengan cepat membuat tingkat 2D menggunakan ubin dan overlay grid. More info
Lihat di Glossary
adalah sistem yang menyimpan dan menangani Aset ubin untuk menciptakan tingkat 2D. Gunakan paket 2D Foto Editor (diinstal secara default) untuk menggunakan Tilemaps.

Misalnya, Anda dapat menggunakan Tilemaps ke tingkat cat menggunakan alat ubin dan sikat dan menentukan aturan untuk bagaimana ubin berperilaku.

The Tile Palette window, used to edit Tilemaps
Jendela palet ubin, digunakan untuk mengedit Tilemaps

See the .

2D Tilemap Extras

Untuk menambahkan beberapa aset Tilemap tambahan ke Proyek Anda, instal paket. Paket ini berisi skrip 2D dan Tilemap Editor yang dapat Anda gunakan untuk Proyek Anda sendiri. Anda dapat menyesuaikan perilaku skrip untuk membuat Sikat baru yang sesuai dengan skenario yang berbeda.

Isometric Tilemaps

Untuk permainan dengan perspektif isometrik, Anda dapat membuat Isometric Tilemaps.

SpriteShape

Dengan cara yang mirip dengan alat gambar vektor, SpriteShape menyediakan cara yang lebih fleksibel untuk menciptakan Sprites yang lebih besar, seperti lanskap dan jalur yang terlihat organik. Sitemap

A path created in SpriteShape
Jalan yang dibuat di SpriteShape

See the .

Animasi karakter

Ada tiga cara yang berbeda yang dapat Anda animate karakter 2D:

Jenis animasi 2D Digunakan untuk
Frame-by-frame Alasan artistik, jika Anda ingin permainan Anda memiliki gaya seni animasi klasik. Animasi bingkai-by-frame relatif intensif sumber daya, baik untuk membuat dan menjalankan.
Cutout Animasi kerangka halus, ketika karakter tidak memerlukan artikulasi realistis.
Skeletal Animasi kerangka halus di mana Sprites membungkuk sesuai dengan struktur tulang. Gunakan ini ketika karakter membutuhkan nuansa organik lebih.

Frame-by-frame

Animasi bingkai-by-frame didasarkan pada teknik animasi cel tradisional menggambar setiap saat animasi sebagai gambar individu, yang dimainkan dalam urutan cepat, seperti halaman flipping pada buku flip.

Untuk melakukan animasi bingkai-by-frame, ikuti .

Frame-by-frame animation in the Sprite Editor
Animasi bingkai-by-frame dalam Editor Sprite

See the .

Cutout

Dalam animasi cutout, beberapa Sprites membuat tubuh karakter, dan setiap bagian bergerak untuk memberikan efek visual dari seluruh karakter bergerak. Gaya animasi ini mirip dengan animasi skeletal (lihat di bawah), kecuali bahwa Sprites tidak menekuk.

Cutout animation in the Sprite Editor
WordPress.org

Skeletal

Dengan animasi skeletal, Anda memetakan Sprite atau sekelompok Sprites ke kerangka animasi. Anda dapat membuat dan mendefinisikan tulang animasi untuk karakter dan benda-benda, yang menentukan bagaimana mereka harus menekuk dan bergerak. Pendekatan ini memungkinkan tulang untuk menekuk dan merusak Sprites, untuk gaya gerakan yang lebih alami. Untuk menggunakan animasi kerangka, Anda perlu menggunakan paket Animasi 2D (diinstal secara default).

Untuk alur kerja Animasi 2D, termasuk panduan untuk bekerja dengan Editor Tulang, lihat .

A character with bones in the Bone Editor
Karakter dengan tulang di Editor Tulang

Graphics

Bagian ini menjelaskan pilihan grafis Anda saat menggunakan Universal Render PipelineRangkaian operasi yang mengambil isi dari Adegan, dan menampilkannya di layar. Unity memungkinkan Anda memilih dari pipa render yang dibangun sebelumnya, atau menulis sendiri. More info
Lihat di Glossary
(URP).

Lighting

Karena Anda menggunakan URP dengan Renderer 2D, Anda dapat menggunakan komponen Light 2D untuk menerapkan pencahayaan 2D yang dioptimalkan ke Sprites. Untuk rincian, lihat .

These two images show the same scene; in the image on the left, 2D Lights are disabled, and in the image on the right, 2D lights are enabled. With 2D Lights, you can use the same Sprites to create different weather conditions or moods.
Dua gambar ini menunjukkan adegan yang sama; dalam gambar di sebelah kiri, Lampu 2D dinonaktifkan, dan dalam gambar di kanan, lampu 2D diaktifkan. Dengan Lampu 2D, Anda dapat menggunakan Sprites yang sama untuk menciptakan kondisi cuaca atau suasana hati yang berbeda.

Untuk mengatur pencahayaan:

  1. Siapkan Anda Sprit untuk penerangan. Untuk rincian, lihat .

  2. Mengatur Tekstur normal mapJenis tekstur Peta Bump yang memungkinkan Anda untuk menambahkan detail permukaan seperti benjolan, alur, dan goresan ke model yang menangkap cahaya seolah-olah mereka diwakili oleh geometri nyata.
    Lihat di Glossary
    dan masker. Lampu 2D dapat berinteraksi dengan peta normal dan tekstur masker terkait Sprites untuk menciptakan efek pencahayaan canggih, seperti pemetaan normal. Sitemap

  3. Buat GameObject 2D Light; lihat.

  4. Konfigurasikan aset Data Renderer 2D; lihat.

  5. (Opsional) jika Anda ingin menerapkan efek 2D Light untuk permainan seni pixelUnit terkecil dalam gambar komputer. Ukuran piksel tergantung pada resolusi layar Anda. Pencahayaan pixel dihitung pada setiap piksel layar. More info
    Lihat di Glossary
    , lihat.

See the .

Shadows

Untuk menentukan bentuk dan sifat yang digunakan Cahaya untuk menentukan bayangan itu, gunakan. Meningkatkan Shadow Intensity Cahaya di atas nol.

A shadow intensity of 0.5 in the Shadow Caster 2D component
Sebuah intensitas bayangan 0,5 di komponen Bayangan Caster 2D

Tampilan dan nuansa yang ditingkatkan

Sistem partikel dan post-processingProses yang meningkatkan visual produk dengan menerapkan filter dan efek sebelum gambar muncul di layar. Anda dapat menggunakan efek pasca proses untuk mensimulasikan kamera fisik dan sifat film, misalnya Bloom dan Kedalaman Lapangan. More info pemrosesan pos, pasca proses, pasca proses
Lihat di Glossary
adalah alat opsional yang dapat Anda gunakan untuk menambahkan poles ke permainan Anda.

Sistem partikel

Anda dapat menggunakan sistem partikel untuk membuat benda dinamis seperti api, asap atau cairan, sebagai alternatif untuk menggunakan Sprite. Sprites lebih cocok untuk objek fisik. SitemapSistem partikelKomponen yang mensimulasikan entitas fluida seperti cairan, awan dan nyala dengan menghasilkan dan memikat sejumlah besar gambar 2D kecil di tempat kejadian. More info
Lihat di Glossary
.

A fire effect, created with the Particle System and Shader Graph for 2D
Efek api, dibuat dengan Sistem Partikel dan Grafik Shader untuk 2D

Post-processing

Anda dapat menggunakan efek pasca proses dan efek layar penuh untuk secara signifikan meningkatkan penampilan permainan Anda. Misalnya, Anda dapat menggunakan efek ini untuk mensimulasikan kamera fisik atau sifat film, atau untuk membuat visual bergaya.

URP memiliki implementasi pasca prosesnya sendiri. Sitemap

The Lost Crypt demo uses the bloom and vignette post-processing effects
Demo Crypt yang hilang menggunakan efek pasca proses mekar dan vignette

Fisika 2D

Pengaturan Fisika 2D menentukan batas pada akurasi simulasi fisik dalam permainan 2D Anda. Sitemap2D Fisika.

video ini memberikan gambaran dari fitur fisika 2D pada Unity 2020.1.

Untuk mempelajari cara menggunakan Unity 2D physics engineSebuah sistem yang mensimulasikan aspek sistem fisik sehingga benda dapat mempercepat dengan benar dan dipengaruhi oleh tabrakan, gravitasi dan kekuatan lainnya. More info
Lihat di Glossary
, lihat .

Alat fisika 2D berikut berguna untuk game 2D.

kaku 2D

Komponen 2D RigidbodyKomponen yang memungkinkan GameObject untuk dipengaruhi oleh gravitasi simulasi dan kekuatan lainnya. More info
Lihat di Glossary
menempatkan GameObject di bawah kendali mesin fisika. Sitemapkaku 2D.

The Rigidbody 2D component
Komponen 2D Rigidbody

Collider 2D

Komponen Collider 2D mendefinisikan bentuk GameObject 2D untuk tujuan tabrakan fisik. Anda juga dapat menggunakan komponen ColliderBentuk tak terlihat yang digunakan untuk menangani tabrakan fisik untuk objek. Seorang sari tidak perlu menjadi bentuk yang sama dengan jala objek - perkiraan kasar sering lebih efisien dan tidak dapat dibedakan dalam gameplay. More info
Lihat di Glossary
2D untuk deteksi masukan. Sebagai contoh, dalam game mobile Anda dapat menggunakannya untuk membuat Sprites dapat dipilih.

Jenis Collider 2D yang dapat Anda gunakan dengan Rigidbody 2D adalah:

The Circle Collider 2D component
Lingkaran Collider 2D komponen

Triggers

Ketika Anda mengatur Collider 2D sebagai Pemicu (dengan mengaktifkan properti Is Triggernya), tidak lagi berperilaku sebagai objek fisik, dan dapat mengganggu Collider lain tanpa menyebabkan tabrakan. Sebagai gantinya, ketika Collider memasuki ruangnya, Unity memanggil fungsi OnTriggerEnter pada script GameObject.

The Circle Collider 2D component with Is Trigger selected
Lingkaran Collider 2D komponen dengan Is Trigger dipilih

Sitemap Sitemap

Sendi melampirkan GameObjects bersama. Anda hanya dapat melampirkan 2D jointsKomponen fisika yang memungkinkan koneksi dinamis antara komponen Rigidbody, biasanya memungkinkan beberapa tingkat pergerakan seperti engsel. More info
Lihat di Glossary
ke GameObjects yang memiliki komponen Rigidbody 2D terpasang, atau ke posisi tetap di ruang dunia. Sitemap2D Sendi.

2D Effectors

Gunakan Effector 2D componentsBagian fungsional dari GameObject. GameObject dapat mengandung sejumlah komponen. Unity memiliki banyak komponen built-in, dan Anda dapat membuat Anda sendiri dengan menulis skrip yang berwarisi dari MonoBehaviour. More info
Lihat di Glossary
dengan komponen Catalog 2D untuk mengarahkan kekuatan fisika dalam adegan Anda ketika GameObject Collider datang ke kontak satu sama lain. SitemapEfektor 2D.

Audio

Anda dapat menambahkan musik latar belakang dan efek suara untuk permainan Anda di Unity; lihat Gambaran Keseluruhan Audio. Gunakan perangkat lunak pihak ketiga untuk membuat audio dan impor Anda menjadi Unity dengan pengaturan yang disarankan.

Antarmuka pengguna

Jika Anda ingin menambahkan menu atau membantu permainan Anda, Anda perlu mengatur antarmuka pengguna. Untuk mengatur antarmuka pengguna, gunakan.

Profil, mengoptimalkan dan menguji build

Profil

Profil memungkinkan Anda untuk melihat bagaimana sumber daya intensif bagian yang berbeda dari permainan Anda. Anda harus selalu profil permainan Anda di platform rilis target; lihat Profil aplikasi Anda.

Optimizing

Setelah profil, Anda dapat menggunakan hasil untuk membuat peningkatan kinerja dan optimasi. SitemapMemahami optimasi dalam Unity.

Testing

Uji permainan Anda dan kode Anda dengan Kerangka Uji Unity; lihat.

The Test Runner window
Jendela Uji Runner

Penerbitan

Ketika Anda telah menyelesaikan permainan Anda, Anda siap untuk mempublikasikannya. SitemapBuild di Penerbit.

The Build Settings window
Jendela Pengaturan Build
Pengaturan awal untuk game 2D
2D Sorting