Membuat Simple Ai Untuk Mengkuti Obyek Tertentu Di Unity

Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan. Untuk itu hampir dalam semua game niscaya ada suatu aksara yang digerakkan oleh komputer AI yang berfungsi sebagai lawan atau teman. Sebut saja game sederhana pac-man, niscaya tidak akan seru atau bahkan belum bisa disebut game bila aksara menyerupai cumi-cumi yang selalu menjadi lawan pemain dihilangkan. Oleh alasannya yaitu itu keberadaan aksara AI menjadi sangat penting bagi sebagian game.

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity
Gambar game Pacman

Seiring berkembangnya waktu insan mulai menciptakan aksara AI yang semakin baik. Dahulu kala aksara AI dari sebuah game mungkin hanya bersifat sangat minim menyerupai musuh pacman yang hanya bertugas mengikuti lawan. Namun ketika ini seiring berjalannya waktu aksara AI seringkali dilengkapi banyak sekali algoritma tertentu sehingga seolah-olah player merasa kalau lawan mainnya benar-benar bisa berpikir layaknya manusia.

Pada artikel ini saya akan sedikit membahas bagaimana cara menciptakan sebuah aksara AI yang sangat mudah dan hanya bertugas untuk mengejar obyek yang menjadi target. Tidak ada algoritma tertentu disini bahkan tidak sanggup menemukan jalur terdekat untuk mengejar obyek. Algoritma AI ini bisa sobat terapkan untuk menciptakan game-game shooter sederhana menyerupai Alien Shooter. Bahkan mungkin bagi sebagian orang hal ini masih belum sanggup disebut sebagai AI, namun apalah namanya itu tidaklah penting, yang penting bagaimana sobat bisa memahami bagaimana algoritma menciptakan obyek yang sanggup mengikuti obyek lain secara smooth di unity. Ok eksklusif saja kita mulai langkah-langkahnya. 

Alat, bahan, dan skill yang diharapkan :
  1. Unity yang sudah terinstall di PC sobat
  2. Kemampuan dasar untuk memakai Unity menyerupai menciptakan objek, transformasi obyek menyerupai translate, rotate, dsb. Kalo sobat belum tahu dasar unity mari silahkan mampir ke artikel saya sebelumnya perihal kumpulan link tutorial gamedev. Silahkan berguru dari salah satu link di bab Unity Basic.
Setelah alat dan materi terpenuhi saatnya belajar.. Berikut yaitu tutorial step by stepnya :

Baca Juga


1. Buat karakter
 Pertama buat dulu aksara sesuai selera. Bisa yang simple-simple aja atau import dari model 3D lain. Kalau saya sendiri bikin aksara dari bentuk dasar sederhana, capsule sebagai tubuh dan cylinder sebagai hidung. Untuk menciptakan obyek klik Game Object >> Create other >> pilih obyek yang diinginkan. Gambar di bawah yaitu aksara milik saya, sedikit abnormal sih tapi tidak mengecewakan daripada nggak.

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

2. Buat arena
Arena diharapkan untuk landasan bagi obyek-obyek dalam game. Arena sanggup dibentuk memakai terrain, namun kali ini saya hanya memakai cube biasa yang saya atur ukurannya dan saya beri texture terrain

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

Selain arena, tentu akan lebih anggun bila diberikan effect cahaya. Tambahkan directional light untuk memberi dampak cahaya menyerupai matahari.

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

3. Buat script untuk AI
Setelah bentuk aksara dan arena telah siap maka saatnya untuk memperlihatkan script pada karakter. Disini saya buat C# script dengan nama kelas AICharacterBehaviour

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

Adapun isi dari script tersebut yaitu sbb :

using UnityEngine; using System.Collections;  public class AICharacterBehaviour : MonoBehaviour {     public GameObject target; //target yang dikejar     public float movingSpeed = 2f; //kecepatan berpindah     public float turnSpeed = 0.05f; //kecapatan berbelok      void Update() {         Vector3 gapPosition = target.transform.position - this.transform.position; //Gap antara posisi AI dengan sasaran         gapPosition = new Vector3(gapPosition.x, 0, gapPosition.z); //Nilai gap y dibentuk 0 biar AI mengabaikan posisi atas dan bawah (Y) dari sasaran dan hanya mengikuti arah ke kanan dan ke kiri (X dan Y)         Quaternion lookRotation = Quaternion.LookRotation(gapPosition); //Rotasi untuk look atau melihat sasaran         this.transform.rotation = Quaternion.Lerp(this.transform.rotation, lookRotation, turnSpeed); //Membuat rotasi berubah secara smooth memakai fungsi lerp dari rotasi awal ke rotasi tujuan lookRotasion          this.transform.Translate(Vector3.forward * movingSpeed * Time.deltaTime); //Bergerak maju     } } 

sehabis script dibentuk maka langkah selanjutnya yaitu mengimplementasikan script pada karakter. Lakukan drag drop script ke karakter

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

4. Buat aksara sasaran / player yang digerakkan user
Setelah aksara AI jadi maka kita buat sasaran yang dikejar. Target ini nantinya sanggup digerakkan oleh user melalui keyboard. Pada tutorial ini aksara sasaran saya buat kubus dan saya beri C# script PlayerBehaviour.

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

Adapun isi dari scriptnya PlayerBehaviour dalah sbb

 using UnityEngine; using System.Collections;  public class PlayerBehaviour : MonoBehaviour {     public float movingSpeed = 15; //kecepatan bergerak       void Update () {         //Jika keyboard di tekan         if (Input.GetKey(KeyCode.LeftArrow))             this.transform.Translate(Vector3.left * movingSpeed * Time.deltaTime, Space.World);         else if(Input.GetKey(KeyCode.RightArrow))             this.transform.Translate(Vector3.right * movingSpeed * Time.deltaTime, Space.World);         else if (Input.GetKey(KeyCode.UpArrow))             this.transform.Translate(Vector3.forward * movingSpeed * Time.deltaTime, Space.World);         else if (Input.GetKey(KeyCode.DownArrow))             this.transform.Translate(Vector3.back * movingSpeed * Time.deltaTime, Space.World);  } }  

Selanjutnya tinggal implementasi kedalam aksara dengan drag & drop

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

5. Uji coba
Untuk melaksanakan ujicoba kita pasang dulu sasaran ke dalam script AI biar sasaran dikejar. Tinggal lakukan drag & drop saja

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

Kemudian terakhir atur kameranya sedemikian rupa biar viewnya nyaman

 Dalam sebuah game akan terasa tidak lengkap bila player tidak mempunyai lawan Membuat Simple AI Untuk Mengkuti Obyek Tertentu di Unity

Makara deh... Silahkan di play dan lihat sendiri apa yang terjadi. Untuk menggerakkan player tinggal tekan panah atas bawah kanan dan kiri. Untuk hasil hasilnya saya lampirkan di link dibawah. Jika menemui problem silahkan komen saja.

Mungkin cukup sekian artikel kali ini, mohon maaf bila ada salah kata, semoga bermanfaat dan terus berkarya. ^^

DOWNLOAD PROJECT:  http://www.4shared.com/zip/9Mtzs2vR/Simple_AI.html

BACA JUGA :
Pencarian rute memakai algoritma A* dengan library arongranberg


Artikel Terkait

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel