• Tidak ada hasil yang ditemukan

MEMAHAMI RUANG KOORDINAT 3D

Dalam dokumen Membuat Video Game Dengan 3D Unity (Halaman 87-90)

MEMULAI DEMO 3D DENGAN CODING DAN MENAMBAHKAN FISIKA

3.2 MEMAHAMI RUANG KOORDINAT 3D

Jika Anda memikirkan rencana sederhana yang kami mulai, ada tiga aspek di dalamnya:

ruangan, scene, dan kontrol. Semua item tersebut bergantung pada Anda untuk memahami bagaimana posisi dan gerakan direpresentasikan dalam simulasi komputer 3D, dan jika Anda baru bekerja dengan grafik 3D, Anda mungkin belum mengetahui hal itu.

Semuanya bermuara pada angka-angka yang menunjukkan titik-titik dalam ruang, dan cara angka-angka itu berkorelasi dengan ruang adalah melalui sumbu koordinat. Jika Anda mengingat kembali kelas matematika, Anda mungkin pernah melihat dan menggunakan sumbu X dan Y (lihat gambar 3.2) untuk menetapkan koordinat ke titik pada halaman, yang disebut sebagai sistem koordinat Cartesian.

Gambar 3.2 Koordinat sepanjang sumbu X dan Y menentukan titik 2D.

Dua sumbu memberi Anda koordinat 2D, dengan semua titik pada bidang yang sama.

Tiga sumbu digunakan untuk mendefinisikan ruang 3D. Karena sumbu X menyusuri halaman secara horizontal dan sumbu Y menyusuri halaman secara vertikal, sekarang kita membayangkan sumbu ketiga yang menempel lurus ke dalam dan keluar halaman, tegak lurus terhadap sumbu X dan Y. Gambar 2.4 menggambarkan sumbu X-, Y-, dan Z untuk ruang koordinat 3D. Segala sesuatu yang memiliki posisi tertentu dalam scene akan memiliki koordinat XYZ: posisi player, penempatan dinding, dan sebagainya.

Gambar 3.3 Koordinat sepanjang sumbu X-, Y-, dan Z menentukan titik 3D.

Dalam tampilan Unity's Scene Anda dapat melihat ketiga sumbu ini ditampilkan, dan di Inspector Anda dapat mengetikkan tiga angka untuk memposisikan objek. Anda tidak hanya akan menulis kode untuk memposisikan objek menggunakan koordinat tiga angka ini, tetapi Anda juga dapat menentukan gerakan sebagai jarak untuk bergerak di sepanjang setiap sumbu.

Koordinat tangan kiri vs. tangan kanan

Arah positif dan negatif masing-masing sumbu berubah-ubah, dan koordinatnya tetap bekerja ke mana pun arah sumbunya. Anda hanya perlu tetap konsisten dalam alat grafis 3D yang diberikan (alat animasi, alat developeran game, dan sebagainya).

Tetapi di hampir semua kasus, X bergerak ke kanan dan Y naik; apa yang membedakan antara alat yang berbeda adalah apakah Z masuk atau keluar dari halaman. Kedua arah ini disebut sebagai "tangan kiri" atau "tangan kanan"; seperti yang ditunjukkan gambar ini, jika Anda mengarahkan ibu jari Anda di sepanjang sumbu X dan jari telunjuk Anda di sepanjang sumbu Y, maka jari tengah Anda menunjuk di sepanjang sumbu Z.

Gambar 3.4 Sumbu Z menunjuk ke arah yang berbeda di tangan kiri versus tangan kanan.

Unity menggunakan sistem koordinat tangan kiri, seperti halnya banyak aplikasi seni 3D. Banyak alat lain menggunakan sistem koordinat tangan kanan (OpenGL, misalnya), jadi jangan bingung jika Anda pernah melihat arah koordinat yang berbeda.

Mulailah proyek: tempatkan objek di scene

Baiklah, mari kita buat dan tempatkan objek di dalam scene. Pertama, Anda akan menyiapkan semua scene statis—lantai dan dinding. Kemudian Anda akan menempatkan lampu di sekitar scene dan memposisikan kamera. Terakhir Anda akan membuat objek yang akan menjadi player, objek yang akan Anda lampirkan skrip untuk berjalan di sekitar scene.

Gambar 2.5 menunjukkan seperti apa tampilan editor dengan semua yang ada di tempatnya.

Gambar 3.5 Scene di Editor dengan lantai, dinding, lampu, kamera, dan pemutar

Scene: lantai, dinding luar, dinding dalam

Pilih menu GameObject di bagian atas layar, lalu arahkan kursor ke Objek 3D untuk melihat menu tarik-turun itu. Pilih Cube untuk membuat objek kubus baru di scene (nanti kita akan menggunakan bentuk lain seperti Sphere dan Capsule). Sesuaikan posisi dan scale objek ini, serta namanya, untuk membuat lantai; gambar 2.6 menunjukkan nilai apa yang harus ditetapkan lantai di Inspector (awalnya hanya kubus, sebelum Anda merentangkannya).

Gambar 3.6 Tampilan inspector untuk lantai

Catatan, Angka untuk posisi dapat berupa unit apa pun yang Anda inginkan, selama Anda konsisten di seluruh scene. Pilihan paling umum untuk satuan adalah meter dan itulah yang biasanya saya pilih, tetapi saya juga kadang-kadang menggunakan kaki dan saya bahkan pernah melihat orang lain memutuskan bahwa angkanya adalah inci!

Ulangi langkah yang sama untuk membuat dinding luar ruangan. Anda dapat membuat kubus baru setiap kali, atau Anda dapat menyalin dan menempelkan objek yang ada menggunakan pintasan standar. Gerakkan, putar, dan scalekan dinding untuk membentuk keliling di sekitar lantai. Bereksperimenlah dengan angka yang berbeda (misalnya, 1, 4, 50 untuk scale) atau gunakan alat transformasi yang pertama kali terlihat di bagian 1.2.2 (ingat bahwa istilah matematika untuk bergerak dan berputar dalam ruang 3D adalah "transform"). Tip Ingat juga kontrol navigasi sehingga Anda dapat melihat scene dari sudut yang berbeda atau memperkecil tampilan sekilas. Jika Anda tersesat dalam scene, tekan F untuk mengatur ulang tampilan pada objek yang dipilih saat ini.

Nilai transformasi yang tepat pada akhir dinding akan bervariasi tergantung pada bagaimana Anda memutar dan scaling kubus agar pas, dan pada bagaimana objek dihubungkan bersama dalam tampilan Hierarki. Misalnya, pada gambar 2.7 semua dinding adalah anak dari objek root yang kosong, sehingga daftar Hierarki akan terlihat terorganisir.

Jika Anda memerlukan contoh untuk menyalin nilai kerja, unduh proyek sampel dan lihat dinding di sana.

Gambar 3.7 Tampilan Hierarchy menunjukkan dinding dan lantai yang diatur di bawah objek kosong

Tip Drag objek di atas satu sama lain dalam tampilan Hierarki untuk membuat hubungan. Objek yang memiliki objek lain yang melekat disebut sebagai induk; benda yang melekat pada benda lain disebut sebagai anak. Ketika objek induk dipindahkan (atau diputar atau discalekan), objek anak ditransformasikan bersamanya.

Tip Objek permainan kosong dapat digunakan untuk mengatur scene dengan cara ini.

Dengan menautkan objek yang terlihat ke objek root, daftar Hierarchynya dapat diciutkan.

Berhati-hatilah: sebelum menautkan objek anak apa pun ke sana, Anda ingin memposisikan objek root kosong pada 0, 0, 0 untuk menghindari keanehan posisi nanti.

Apa itu GameObject?

Semua objek scene adalah instance dari kelas GameObject, mirip dengan bagaimana semua komponen skrip mewarisi dari kelas MonoBehaviour. Fakta ini lebih eksplisit dengan objek kosong yang sebenarnya bernama GameObject tetapi tetap benar terlepas dari apakah objek tersebut bernama Lantai, Kamera, atau Player.

GameObject sebenarnya hanyalah wadah untuk sekumpulan komponen. Tujuan utama GameObject adalah agar MonoBehaviour memiliki sesuatu untuk dilampirkan. Apa sebenarnya objek dalam scene tergantung pada komponen apa yang telah ditambahkan ke GameObject itu. Objek Cube memiliki komponen Cube, objek Sphere memiliki komponen Sphere, dan seterusnya. Setelah dinding luar terpasang, buat beberapa dinding dalam untuk bernavigasi. Posisikan dinding bagian dalam sesuka Anda; idenya adalah untuk membuat beberapa lorong dan rintangan untuk dilalui begitu Anda menulis kode untuk gerakan.

Sekarang scene memiliki ruangan di dalamnya, tetapi tanpa lampu apa pun, player tidak akan dapat melihatnya. Mari kita urus itu selanjutnya.

Dalam dokumen Membuat Video Game Dengan 3D Unity (Halaman 87-90)