Bu dersimiz de Enemy AI (düşman yapay zekası) yapmayı anlatacağım.
Bir c# scripti oluşturuyoruz.
scripti düşman objemize atıyoruz.
KOD:
using UnityEngine;
using System.Collections;
public class dusmanzeka : MonoBehaviour {
public float hiz, mesafe;
public bool yurume, vurma;
public Transform karakter; //playerimizi atıyoruz!
Vector3 poz;
public float can = 100; //düşman canı
public GameObject oludusman; // buraya ölü düşmanımızı atıyoruz(prefab olarak)
void Start () {
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "playervurma") //playerin düşmanı öldürmesi için playerin içine bir boş obje oluşturup collider ekliyoruz ve tag ınıda playervurma yapıyoruz.!
{
can -= 19;
}
}
// Update is called once per frame
void Update() {
poz = new Vector3(karakter.position.x, transform.position.y, karakter.position.z);
mesafe = Vector3.Distance(transform.position, karakter.position);
if (mesafe < 20 && mesafe > 1.5f) // değerlerle oynayarak mesafeyi ayarlıyabilirsiniz.
{
yurume = true;
vurma = false;
}
if (mesafe < 1.5f)
{
yurume = false;
vurma = true;
}
if (mesafe > 20)
{
yurume = false;
vurma = false;
}
if (yurume)
{
hiz = 1.4f;
transform.position = Vector3.MoveTowards(transform.position, karakter.position, hiz * Time.deltaTime);
transform.LookAt(poz);
}
if (vurma)
{
transform.LookAt(poz);
// buraya düşmanın playerinize vurduğunda ne olmasını istiyorsanız onu yazın.
}
if (can <= 0) {
Instantiate(oludusman, transform.position, transform.rotation);
Destroy(gameObject);
}
}
}
Hiç yorum yok:
Yorum Gönder