1 Ağustos 2016 Pazartesi

Unity-Düşman Yapay Zeka

Merhaba arkadaşlar,



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