Lompat ke konten Lompat ke sidebar Lompat ke footer

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 huruf yang digerakkan oleh komputer AI yang berfungsi sebagai lawan atau teman. Sebut saja game sederhana pac-man, niscaya tidak akan seru atau bahkan belum sanggup disebut game bila huruf menyerupai cumi-cumi yang selalu menjadi lawan pemain dihilangkan. Oleh alasannya ialah itu keberadaan huruf AI menjadi sangat penting bagi sebagian game.

kumpulan link tutorial gamedev. Silahkan berguru dari salah satu link di bab Unity Basic. Setelah alat dan materi terpenuhi saatnya belajar.. Berikut ialah tutorial step by stepnya :

1. Buat karakter
 Pertama buat dulu huruf sesuai selera. Bisa yang simple-simple aja atau import dari model 3D lain. Kalau saya sendiri bikin huruf 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 ialah huruf milik saya, sedikit absurd 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 manis 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 huruf dan arena telah siap maka saatnya untuk menawarkan 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 ialah 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     } } 

sesudah script dibentuk maka langkah selanjutnya ialah 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 huruf sasaran / player yang digerakkan user
Setelah huruf AI jadi maka kita buat sasaran yang dikejar. Target ini nantinya sanggup digerakkan oleh user melalui keyboard. Pada tutorial ini huruf 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 huruf 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 kesannya saya lampirkan di link dibawah. Jika menemui duduk kasus 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



Sumber http://duniadigit.blogspot.com/