Thursday, November 8, 2018

Cara Membuat Deteksi Tanah Dan Melompat Multi Jumpper 2 Sampai 3 Kali Diudara Pada Aplikasi Unity 3D

Cara Membuat Deteksi Tanah Dan Melompat Multi Jumpper 2 Sampai 3 Kali Diudara Pada Aplikasi Unity 3D




Cara Membuat Deteksi Tanah Dan Melompat Multi Jumpper 2 Sampai 3 Kali Diudara Pada Aplikasi Unity 3D - JOKAM INFORMATIKA

Jokam-Informatika.com - Hai sobat, masih semangat untuk membuat aplikasi game sendiri bukan ? Apabila sobat kemarin mempelajari tutorial dari saya dalam hal membuat lompatan dan juga gerak karakter di dalam game maka pada kesempatan ini saya akan membagikan sesuatu yang kurang dari tutorial tersebut. Karena mengingat tutorial yang kompleks dan panjang maka lebih baiknya saya pisah menjadi part artikel agar mudah dimengerti bagian per bagian.

Selanjutnya, apabila kita perhatikan pada hasil dari tutorial yang kemarin berjudulkan : Cara Menggerakan Karakter Dan Animasi Object Player Dengan Script C# Pada Aplikasi Unity 3D yang memiliki kekurangan yaitu ketika karakter melakukan loncatan maka yang terjadi karakter tidak dapat kembali lagi ke tanah alias terus melompat ke atas tanpa henti. Oleh karena itu saya ingin melanjutkan dan juga memberikan tutorial yang mendukung hal tersebut agar tidak menjadi celah gerak karakter atau istilah umumnya bug(kekurangan game).

Tak hanya itu, saya juga memasukkan fungsi untuk memberikan efek lompatan maksimal dua sampai tiga kali di udara pada karakter seperti halnya game hero, ketika karakter sudah melompat setidaknya tiga kali di atas tanah maka karakter tidak diperbolehkan melompat kembali hingga karakter tersebut dapat menyentuh tanah kembali agar dapat melompat seperti yang sudah dilakukan sebelumnya.

Untuk menerapkan hal ini maka dibutuhkan objek komponen dan juga script C# untuk menangani logika yang diinginkan oleh kita.

Bagaimanakah cara membuat Deteksi Tanah dan Melompat sebanyak 3x di udara ?

Simak ulasan di bawah ini untuk mengetahui kode dan juga tutorialnya,

Deteksi - Adalah sebuah metode yang dapat anda gunakan ketika sedang membuat game untuk menentukan berbagai kondisi yang dapat diidentifikasi misalkan tanah dan juga material, dengan menggunakan metode ini maka karakter yang akan berjalan pada game dapat melakukan sesuatu yang kita inginkan terutama dalam hal pijakan kaki atau tanah. Didalam game, biasanya pemain hanya dapat diizinkan melompat sebanyak 1 sampai dengan 5 kali sesuai dengan keinginan pembuatnya karena apabila melebihi dari jumlah tersebut akan mengurangi realitas dari game itu sendiri yang apabila dikaitkan dengan kegiatan dunia nyata akan sangat tidak cocok.

Maka dari itu, lompat yang ideal adalah 1 sampai dengan 3 atau 5 kali saja, selain jumlah lompatan pendeteksian tanah juga sangat penting agar karakter bisa mengetahui apa saja yang di dekatnya termasuk pijakan kaki kepada tanah.

Oke, langsung saja kita menuju ke dalam pembahasan untuk membuat kedua fungsi dalam artikel ini :
  • Pertama, sebelumnya sobat harus membuat komponen pendeteksi tanah pada karakter didalam Aplikasi Unity 3D dengan cara "CTRL + SHIFT + N" (1). Kemudian beri nama sesuai keinginan sobat contohnya "Detection". (2). Tempatkan Detection komponen kedalam player seperti gambar berikut ini pada nomor 2. (3). Kemudian sesuaikan detection komponen agar berada di bawah atau di antara kaki karakter.

  • Kedua, kemudian lanjutkan dengan membuka skrip yang pada sesi artikel sebelumnya sudah kita buat dengan cara (1). Klik kanan pada scrip lalu, (2). Klik "Open" maka akan terbuka secara otomatis aplikasi "Mono Develop" untuk membuka script ini.

  • Ketiga, saat skrip sudah dibuka maka berikan beberapa tutorial dibawah ini ke dalam script,


  • Memberikan Deklarasi Deteksi Tanah


    Pada deklarasi deteksi kita akan memakai jenis 3 data yakni Boolean, Float dan Selection Drag. Edit pada bagian  public class Player_Controller : MonoBehaviour { DISINI }  dan tambahkan kode berikut ini :
    
     // Deklarasi untuk Detection Tanah dan Objek yang diizinkan untuk dilompati
     public bool Floor;
     public Transform Detection;
     public LayerMask Layer_Sellection;
     public float Radius;
    


    Memberikan Deklarasi Multi Jump


    Pada deklarasi ini kita kita membutuhkan komponen angka dalam hal waktu dan jumlah lompatan, maka pasang script berikut ini pada  public class Player_Controller : MonoBehaviour { DISINI }  dengan script berikut ini :
    
     // Deklarasi untuk TimeCounter dan Durasi yang diizinkan
     private float jumpTimeCounter;
     public float jumpTime;
     private bool isJumping;
    


    Memberikan Fungsi Deteksi Tanah


    Untuk menerapkan fungsi deteksi tanah maka diperlukan sebuah fungsi seperti berikut ini pada  void Update () { DISINI }  dengan skrip berikut :
    
     Floor = Physics2D.OverlapCircle (Detection.position, Radius, Layer_Sellection);
    


    Menerapkan Fungsi Deteksi Tanah Dan Multi Jump Ketika Melompat


    Ketika melompat yang sebelumnya terus melompat maka edit pada bagian yang sama pada kode lompat di  void Update () { DISINI }  dengan kode baru berikut ini :
    
    if (Floor == true) {
     Animation.SetBool ("Jump Pocong", false);
     if (Input.GetKey (KeyCode.Space)) {
      isJumping = true;
      Animation.SetBool ("Jump Pocong", true);
      jumpTimeCounter = jumpTime;
      Jump.velocity = Vector2.up * Jump_High;
     }
    }
    
    if (Input.GetKey (KeyCode.Space)) {
     if (jumpTimeCounter > 0) {
      Animation.SetBool ("Jump Pocong", true);
      Jump.velocity = Vector2.up * Jump_High;
      jumpTimeCounter -= Time.deltaTime;
     } else {
      isJumping = false;
     }
    } else {
     Animation.SetBool ("Jump Pocong", false);
    }
    
    if (Input.GetKey (KeyCode.Space)) {
     Animation.SetBool ("Jump Pocong", true);
     isJumping = false;
    }
    

  • Keempat, saat semua skrip sudah di edit atau sobat masukan maka jangan lupa save script dengan cara "CTRL + S" kemudian cek pada aplikasi Unity 3D.
  • Kelima, (1). Seleksi pada bagian object karakter. (2). Sroll kebawah pada bagian tab kanan editor atau "Inspector". (3). Pada skrip yang sebelumnya sudah kita masukkan ke dalam karakter maka akan terlihat perubahan pada script yang sudah kita edit sebelumnya yaitu "Jump Time" isi dengan sesuai keinginan sobat. Jika sobat menginginkan lompatan 2 kali maka 0.2, jika 3 kali maka 0.3 dan seterusnya.

  • Keenam, masih terus scroll dibawahnya kita akan menjumpai fungsi deteksi tanah, maka masukan detection yang ada dalam karakter yang sudah kita buat sebelumnya pada langkah ke Pertama tersebut kedalam fungsi "Detection". Gunanya adalah nanti detection akan difungsikan dengan benar oleh skrip.

  • Ketujuh, kemudian klik tanah yang ada disekitar karakter atau tepat di bawah karakter. Disini kita akan memasukkan fungsi untuk mendeteksian dan perbedaan komponen tanah dengan komponen yang lain. (1). Klik pada bagian "Layer". (2). Klik "Add Layer..." jika tanah kalian belum memiliki tag layer, namun jika sudah memiliki tag layer seperti saya yakni "Grounded" maka kita tinggal melanjutkan saja. (3). Pilih atau centang layer yang kita buat atau inginkan.

  • Kedelapan, kembali dengan cara menyeleksi komponen player, dan scroll kebawah seperti langkah "Kelima" maka kita akan menemukan fungsi "Layer_Sellection", kemudian pilih layer yang dibuat pada langkah "Keenam" sebelum ini yakni Grounded.

Note :

Untuk Inspector Floor adalah Boolean sehingga tidak perlu untuk diisi, sedangkan untuk Inspector Radius biarkan saja 0, karena jika lebih besar nilai tersebut maka detection akan semakin besar jangkauan lingkarannya. Jika jangkauan deteksi semakin besar maka peluang terus melompat akan tetap terjadi sehingga biarkan saja "0" agar melompat hanya dapat terjadi jika kaki pemain menyentuh tanah atau grounded saja.


Artikel terkait :



Mungkin itu yang dapat saya sampaikan didalam artikel saya yang berjudulkan Cara Membuat Deteksi Tanah Dan Melompat Multi Jumpper 2 Sampai 3 Kali Diudara Pada Aplikasi Unity 3D.
Semoga apa yang sudah saya sampaikan dapat bermanfaat bagi anda maupun orang lain yang ingin mengetahui tentang Membuat Deteksi Tanah Dan Melompat Multi Jumpper Pada Aplikasi Unity 3D.
Sekian dan terimakasih.




PERLU DIKETAHUI


Iklan yang tampil pada halaman situs ini sepenuhnya sudah diatur oleh Pihak Google, kami hanya menyediakan tempat kosong khusus untuk iklan dari Google. Maka, apabila ada iklan yang dirasa kurang baik bagi anda sehingga tidak seharusnya ditampilkan, harap segera menginformasikan hal tersebut kepada kami dengan melalui Formulir Kontak yang ada di bagian bawah sendiri pada situs ini. Kemudian, kami akan segera menyampaikannya pada pihak Google terkait masalah tersebut.
Laporan dapat anda sertakan lampiran :
  • Nama Iklan
  • Alamat Screenshoot(Gambar) Iklan


Load Disqus Comments Hide Disqus Comments