Langsung ke konten utama

Mengenal Translate dan Raycast pada Unity

Pada kesempatan kali ini akan dibahas mengenai translate dan raycast. Kedua istilah (translate dan raycast)  tersebut merupakan suatu fungsi pada game engine Unity yang dapat digunakan dalam membangun sebuah game, lebih tepatnya digunakan untuk membangun interaksi antara pengguna game (player) dengan lingkungan game.
Definisi umun:
·        Fungsi Translate() adalah sebuah fungsi untuk membuat sebuah objek bergerak secara relatif terhadap posisinya sendiri dan bukan pada posisi dunia. Contohnya jika tombol panah maju ditekan maka objek akan mau ke depannya dan bukan ke arah depan pandangan pengguna.
Salah satu contoh  implementasinya seperti pada game Counter Strike, di mana control pergerakanya menggunakan : tombol W digunakan untuk maju, S digunakan untuk mundur, A digunakan untuk bergerak ke samping kiri, dan D digunakan untuk bergerak ke samping kanan.

·        Fungsi Raycast() merupakan fungsi untuk melakukan penembakan ke arah yang dituju oleh kursor mouse dan menghasilkan koordinat Vector 3D.
Contoh game yang menerapkanya seperti Defense of The Ancient (DoTA), di mana control untuk bergeraknya adalah tombol/klik kanan pada mouse.

Untuk lebih mengenal terkait dengan translate dan raycast, silakan ikuti langkah-langkah berikut:
Langkah 1 : Setelah masuk dalam projek Unity, buatlah gameObject. Mula-mula buatlah sebuah GameObjet plane dengan cara klik(kiri) pada jendela Hierarchy à3D Object à Plane atau klik (kiri) pada menu GameObject à3D Object à Plane.

 Dan lakukan cara yang sama untuk membuat GameObject Cube (kotak), sehingga hasilnya seperti ini:
 
Langkah 2 : Menggunakan asset Material. Material dapat dibuat dengan cara klik(kiri) pada tempat kosong dalam jendela Assets à Create à Material atau klik(kiri) Menu Assets à Create à Material, setelah itu berilah sebuah nama (misal: Warna Hijau).
 
Maka akan terbentuk sebuah Asset baru (Material) seperti ini:
 
Langkah 3 : Mengatur index warna asset Material. Untuk melakukanya dapat dilihat pada jendela Inspector Material, kemudian double klik pada bagian Albedo.
 
Nantinya akan memumculkan jendela pallete color seperti ini:
 
Pilih warna yang diinginkan, warna tersebut nantinya digunakan dan diterpakan pada Objek game guna mempercantik tampilan layar game. Lakukan cara yang sama untuk membuat dua(2) buah asset  Material dengan warna yang berbeda, sehingga hasilnya seperti ini:
 
Langkah 4 : Memberikan massa pada objek. Untuk melakukanya dapat dengan menggunakan component Rigidbody (lebih lanjut terkait rigidbody : https://mudiidea.blogspot.com/2020/04/menggandakan-objek-pada-unity.html), hal ini dapat diterapkan pada objek cube dengan cara seperti berikut:
 
Sampai langkah ini, cube telah memiliki massa dan dipengaruhi oleh gaya gravitasi.
 
Langkah 5 : Menggunakan asset Material pada objek. Pada tahap sebelumnya telah dibuat 2(dua) buah material untuk menggunakanya dapat dengan cara drag & drop material ke layar Scene.
 

Tahap-tahap di atas merupakan konfigurasi lingkungan pada layar game, sementara fungsi translate dan raycast belum sama sekali digunakan. Untuk menggunakanya silakan ikuti langkah di bawah ini:
·         Fungsi Translate()
Langkah 1 : Membuat file script (C# Script). Caranya dengan klik(kiri) Assets à Create à C# Script, lalu berilah sebuah nama (misal: TranslateScript.cs)
 Langkah 2 : Modifikasi file script (C# Script). Tuliskan kode sebagai berikut:
 
(Penjelasan kode pada Langkah 4)
Langkah 3 : Menggunakan file script (C# Script) pada objek. Pada kasus ini, file script digunakan pada objek cube yang sebelumnya telah dibuat dengan cara drag & drop.
 
          Jika sudah, cek pada jendela Inspector milik objek cube. Akan terlihat seperti berikut:
 
Langkah 4 : Menguji program. Sampai tahap ini untuk menguji penggunaan fungsi translate (yang dibuat dala script Langkah 2 di atas) dapat di cek dengan menjalankan game. Lalu cobalah perintah berikut :
o    Tekan panah atas (↑) pada keyboard
o    Tekan panah bawah (↓) pada keyboard
o    Tekan panah kanan (à) pada keyboard
o    Tekan panah kiri (ß) pada keyboard
o    Tekan spasi (spacebar) pada keyboard
Maka objek cube akan bergerak mengikuti panah/tombol yang telah di atur pada script, antara lain:
o    Jika panah atas (↑) ditekan maka fungsi translate pada line 17 – 19 akan dieksekusi, outputnya objek akan bergerak ke atas.
o    Jika panah bawah (↓) ditekan maka fungsi translate pada line 21 – 23 akan dieksekusi, outputnya objek akan bergerak ke bawah.
o    Jika panah kanan (à) ditekan maka fungsi translate pada line  25 – 27 akan dieksekusi, outputnya objek akan bergerak ke kanan.

o    Jika panah kiri (ß) ditekan maka fungsi translate pada line 29 – 31 akan dieksekusi, outputnya objek akan bergerak ke kiri.
o    Jika tombol spasi (spacebar) ditekan maka fungsi jump pada line 33 – 35 akan dieksekusi, outputnya objek akan bergerak ke atas searah sumbu Y atau jump.
o    Pada line 38 – 40, menyatakan apabila objek (cube) berada pada permukaan atau tidak sedang melakukan fungsi jump maka fungsi isGround() akan bernilai TRUE, namun ketika fungsi jump sedang berjalan maka fungsi isGround() akan bernilai FALSE. Hal ini menyebabkan fungsi jump (pada line 33 – 35) hanyak bisa dilakukan saat objek menyentuh permukaan objek lain (plane) atau tidak menyebabkan terjadi infinity jump.

·         Fungsi Raycast()
Langkah 0 : Membuat objek baru (plane (1)). Dengan scale (X=0.3, Y=0.3,  Z=0.3), berilah sebuah material, sehingga menjadi seperti berikut:
 
Langkah 1 : Membuat file script (C# Script). Caranya dengan klik(kiri) Assets à Create à C# Script, lalu berilah sebuah nama (misal: RaycastScript.cs)
 
 Langkah 2 : Modifikasi file script (C# Script). Tuliskan kode sebagai berikut:
 
(Penjelasan kode pada Langkah 4)
Langkah 3 : Menggunakan file script (C# Script) pada objek. Pada kasus ini, file script digunakan pada objek cube yang sebelumnya telah dibuat dengan cara drag & drop.
 
Jika sudah, cek pada jendela Inspector milik objek cube. Lalu lakukan perubahan seperti unchecklist pada TranslateScript dan checklist pada RaycastScript, kemudian isi parameter target dengan objek Plane(1).
 
 Langkah 4 : Menguji program. Sampai tahap ini untuk menguji penggunaan fungsi translate (yang dibuat dala script Langkah 2 di atas) dapat di cek dengan menjalankan game. Lalu cobalah perintah berikut :
o    Klik (kanan) pada mouse di area layar game
o    Checklist pada  Boolean isDebug
o    Lihat layar Scene
 
o    Checklist pada  Boolean isMoving
o    Klik (kanan) pada mouse di area layar game
 
Maka objek cube akan bergerak mengikuti klik(kanan) mouse yang telah di atur pada script, antara lain:
o    Jika klik kanan pada mouse maka fungsi raycast pada line 17 – 22 akan dieksekusi, outputnya adalah objek target (Plane (1)) akan bergerak  pindah menuju tempat saat pointer mouse melakukan klik kanan. Pada line 21 terdapat perintah untuk membuat sebuah objek melihat ke objek lain (pada kasus ini objek cube akan selalu menghadap ke objek target (Plane (1)).
o    Pada line 24 – 27 dijelaskan, apabila boolean isMoving  di checklist maka objek cube akan bergerak menuju objek target (Plane (1)).
o    Pada line 29 -32 merupakan satu perintah untuk menggambar sebuah Ray. Sedikit berbeda dengan fungsi lain, hasil dari fungsi ini hanya bisa dilihat di tab Scene setelah game dijalankan.

Demikian dokumentasi kali ini, Terima Kasih~



Komentar

Postingan populer dari blog ini

Film Biografi Terbaik

Film Biografi adalah sebuah film yang mendramatisasikan kehidupan orang atau tokoh dalam kehidupan nyata. Film-film semacam itu menampilkan kehidupan dari seorang tokoh sejarah dan menggunakan nama asli dari karakter utama. Pada dasanya, Film Biografi menceritakan tentang kejadian-kejadian yang dialami sang Tokoh dalam hidupnya, biasanya kehidupan sang tokoh dijelaskan secara lengkap sejak kecil sampai tua, bahkan beberapa film menjelaskan hingga sang tokoh meninggal dunia. Berikut Film Biografi Terbaik versi saya. 1.  The Imitation Game (2014) The Imitation Game adalah film cerita seru sejarah Britania Raya tahun 2014 mengenai Alan Turing, seorang matematikawan, logikawan, kriptoanalis, dan ilmuwan komputer Inggris, tokoh yang berperan penting dalam membajak kode Enigma Jerman Nazi yang membantu Sekutu memenangkan Perang Dunia II, ia kemudian dituntut secara pidana karena mengaku sebagai homoseksual. Film disutradarai oleh Morten Tyldum, dengan skenario d...

Komputer Ada Disemua Tempat

Komputer adalah sebuah alat yang dapat membantu meringankan ataupun  menggantikan  perkerjaan manusia. Istilah komputer berasal dari bahasa latin “ Computare ” yang berarti “ Menghitung ”. Tetapi seiring perkembangan zaman, komputer tidak lagi hanya sebagai alat untuk menghitung. Tetapi digunakan diberbagai aspek kehidupan diantaranya : 1. Aspek pendidikan Misalnya penggunaan sistem E-learning dalam proses pembelajaran, adanya kelas-kelas/kursus secara online sampai pelaksaan ujian/tes berbasis komputer. 2.  Aspek transportasi Pada aspek ini contohnya adalah lampu lalu lintas, sistem GPS ( Global Positioning System ), penggunaan E-toll pada gerbang tol hingga sistem  auto pilot  di pesawat. 3.  Aspek kesehatan Pernahkah kamu melihat hasil dari  sinar-X  ? itu merupakan salah satu manfaat dari pemanfaatan komputer diaspek kesehatan, contoh lainya adalah MRI ( Magnetic Resonance Imaging)  yang digunakn untu...

K3 Dalam Menggunakan Komputer

Keselamatan Kesehatan Kerja atau yang biasa disebut dengan K3 adalah upaya perlindungan yang ditunjukan agar tenaga kerja (pekerja) dan orang lain di tempat kerja atau perusahaan selalu dalam keadaan selamat dan sehat, serta agar setiap produksi dapat digunakan secara aman dan efisien (Kepmenaker Nomor. 463/MEN/1993). Pada hal ini saya akan sedikit mengulas mengenai dampak penggunaan komputer dalam bidang Kesehatan. Penggunaan komputer dalam proses kerja mempunyai banyak dampak positif, namun penggunaan komputer juga memiliki dampak negatif yang banyak pula (tergantung dengan pola tenaga kerja dalam berkerja sehari-hari) khususnya dalam bidang kesehatan.              ·         Dampak Positif 1.     Ditemukanya peralatan kedokteran canggih seperti pengukur tensi darah digital dan sinar-X. 2.     Alat pengganti organ tubuh manusia yang telah rusak misalnya mata buatan, ginjal...