Unity - Dimulai dengan UI

Pada bagian ini, kita akan mempelajari tentang proses desain untuk User Interface atau elemen UI di Unity. Ini termasuk pengaturan dasar, serta gambaran umum elemen umum yang disertakan dengan Unity.

Alur kerja untuk mendesain UI di Unity mengikuti jalur yang sedikit berbeda dari yang telah kita lalui sejauh ini. Sebagai permulaan, elemen UI bukan GameObject standar dan tidak dapat digunakan seperti itu. Elemen UI dirancang secara berbeda; tombol menu yang terlihat benar dalam resolusi 4: 3 mungkin terlihat melebar atau terdistorsi dalam resolusi 16: 9 jika tidak diatur dengan benar.

Elemen UI di Unity tidak ditempatkan langsung ke layar. Mereka selalu ditempatkan sebagai anak dari GameObject khusus yang disebutCanvas. Canvas adalah seperti "lembar gambar" untuk UI di tempat kejadian, di mana semua elemen UI akan dirender. Membuat elemen UI dariCreate menu konteks tanpa Kanvas yang ada akan secara otomatis membuatnya.

Sekarang mari kita lihat Canvas GameObject untuk mengetahui tentang tambahan komponen baru -

Itu Rect Transform di bagian atas tampaknya memiliki banyak properti baru yang tidak dimiliki oleh Transform GameObject standar.

Ini karena saat Transformasi GameObject normal menggambarkan sebuah imajinasi point dalam ruang 3D, a RectTransform mendefinisikan sebuah imajinasi rectangle. Ini berarti kita memerlukan properti tambahan untuk menentukan dengan tepat di mana persegi panjang itu berada, seberapa besar dan bagaimana orientasinya.

Kita bisa melihat beberapa properti standar persegi panjang seperti Height dan Width, serta dua properti baru yang disebut Anchors. Jangkar adalah poin yang dapat "dikunci" oleh entitas lain di Canvas. Ini berarti bahwa jika elemen UI (katakanlah, tombol) ditambatkan ke Canvas di sebelah kanan, mengubah ukuran Canvas akan memastikan bahwa Tombol selalu berada di posisi relatif.right dari Kanvas.

Secara default, Anda tidak akan dapat mengubah bentuk area kanvas, dan ini akan menjadi perbandingan gigantic persegi panjang di sekitar tempat Anda.

Berikutnya adalah CanvasKomponen. Ini adalah komponen master yang memiliki beberapa opsi universal tentang bagaimana UI digambar.

Opsi pertama yang kami lihat adalah Render Mode. Properti ini mendefinisikan metode yang digunakan untuk menggambar Kanvas ke tampilan permainan.

Kami memiliki tiga opsi di daftar tarik-turun. Mari kita pelajari tentang opsi di bagian selanjutnya.

Ruang Layar - Hamparan

Mode ini adalah yang paling standar untuk menu, HUD, dan sebagainya. Itu membuat UI di atas segalanya di tempat kejadian, persis bagaimana itu diatur dan tanpa kecuali. Itu juga menskalakan UI dengan baik ketika ukuran layar atau jendela game berubah. Ini adalah Mode Render default di Kanvas.

Ruang Layar - Kamera

Ruang Layar - Kamera membuat bidang proyeksi imajiner, jarak tertentu dari kamera, dan memproyeksikan semua UI ke dalamnya. Artinya, tampilan UI dalam pemandangan sangat bergantung pada pengaturan yang digunakan oleh kamera; ini termasuk perspektif, bidang pandang, dan sebagainya.

Ruang Dunia

Dalam mode Ruang Dunia, elemen UI berperilaku seolah-olah mereka adalah GameObject normal yang ditempatkan di dunia. Mereka mirip dengan sprite, bagaimanapun, jadi mereka biasanya digunakan sebagai bagian dari dunia game bukan untuk pemain, seperti monitor dan tampilan dalam game. Karena sifatnya ini, Anda dapat langsung mengubah nilai Canvas RectTransform dalam mode ini.

Itu Canvas Scaleradalah sekumpulan opsi yang memungkinkan Anda menyesuaikan skala dan tampilan elemen UI dengan cara yang lebih pasti; ini memungkinkan Anda untuk menentukan bagaimana elemen UIresizesendiri saat ukuran layar berubah. Misalnya, elemen UI dapat tetap memiliki ukuran yang sama terlepas dari dan rasionya terhadap ukuran layar, atau dapat diskalakan sesuai denganReference Resolution.

Graphics Raycaster terutama menangani raycasting (tautan ke Unity Documentation for Raycasting) elemen UI dan memastikan peristiwa yang dimulai pengguna seperti klik dan seret bekerja dengan benar.