1 Ağustos 2016 Pazartesi

Unity-Tuş İle Animasyon Kontrolü

İyi günler,


Bu dersimizde tuş ile animasyon kontrolü göstereceğim.
c# scriptimizi oluşturuyoruz.ve objemize atıyoruz.


KOD:

using UnityEngine;
using System.Collections;

public class animasyon : MonoBehaviour
{
  public Animator anim; //animatorümüzü buraya atıyoruz.

  // Use this for initialization
  void Start()
  {
    anim = GetComponent<Animator>();
  }

  void Update()
  {
    if (Input.GetMouseButton(0))
    {
      anim.Play("anim1");  //mousede sol tık tuşuna bastığımızda anim1 oynatılacaktır.

    }
    if (Input.GetKey("w"))
    {
      anim.Play("anim1");  //klavyede w tuşuna bastığımızda anim1 oynatılacaktır.

    }


  }
}

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);
       

        }

     

    }

 

}

31 Temmuz 2016 Pazar

UNITY-PLAYER HAREKET (MOBİL)

Merhaba arkadaşlar,


Bu dersimizde  playerimizi butonlarla kontrol etmeyi anlatacağım.
Yeni bir c# script oluşturuyoruz.
Player objemize collider ve rigidbody ekliyoruz.
Kodumuzu player objesine atıyoruz.
Buton oluşturuyoruz.(göstermek amaçlı sadece ileri butonuna uygulanmasını göstereceğim.Geri, sag ve sol butonlarınada aynı şekilde uygulayabilirsiniz.)
butona tıklıyoruz ve Inspector penceresinden aşağıdan  Add Component ===> Event ===>Event Trigger oluşturuyoruz.



ardından gördüğünüz üzere event triggerimiz oluştu.
Add New Event Type butonundan Pointer Down ı seçiyoruz
ardından Add New Event Type  butonundan  Pointer Up ı seçiyoruz.
event lerimizi oluşturduktan sonra  artı(+) simgelerine tıklıyoruz.



event triggerimiz bu hali aldıktan sonra kodumuzu atadığımız objeyi sürükleyip none kısmına
bırakıyoruz.
Ardından pointer down için  no function butonuna tıklayıp  hareket ===> Basma() yolunu izliyoruz.
pointer up için ise  no function butonuna tıklayıp  hareket ===> Basma_iki() yolunu izliyoruz.

 

Artık butonlarımız çalışır hale geldi.


KOD:

using UnityEngine;
using System.Collections;

public class hareket : MonoBehaviour
{
    public bool ileri= false;
    public bool geri= false;
    public bool sag= false;
    public bool sol= false;
    public Rigidbody rb;
    public int hiz = 10;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
            if (ileri)
            {
                rb.AddForce(transform.forward * -hiz);
             

            }
            if (geri)
            {
                rb.AddForce(transform.forward * hiz);


            }

            if (sag)
            {
                rb.AddForce(transform.right * -hiz);


            }
            if (sol)
            {
                rb.AddForce(transform.right * hiz);


            }
         
    }

    public void Basma()
    {
        ileri= true;
         }
    public void Basma_iki()
    {
        ileri= false;
    }
    public void Basmazit()
    {
        geri= true;
    }
    public void Basma_ikizit()
    {
        geri= false;
    }

    public void Basmasag()
    {
        sag= true;
    }
    public void Basma_ikisag()
    {
        sag= false;
    }
    public void Basmasagzit()
    {
        sol= true;
    }
    public void Basma_ikisagzit()
    {
        sol= false;
    }
}




UNITY-PLAYER HAREKET

İyi günler,

Bu dersimizde playerimizi hareket ettirmeyi anlatacağım.
öncelikle yeni bir c# scripti oluşturuyoruz.
ardından kodumuzu yazıyoruz.
player objemize rigidbody ve collider ekliyoruz.
kodu player objesine atıyoruz.

 Not: playerin hareket hızını      Inspector ===> kod===> hiz kısmından ayarlıyabilirsiniz.






KOD:


using UnityEngine;
using System.Collections;

public class kod: MonoBehaviour {

  public Rigidbody rb;
  public int hiz = 10;


  void Start()
  {
    rb = GetComponent<Rigidbody>();
  }


  void FixedUpdate()
  {

    if (Input.GetKey("w"))
    {
      rb.AddForce(transform.right * -hiz);
    }
    if (Input.GetKey("s"))
    {
      rb.AddForce(transform.right * hiz);
    }
    if (Input.GetKey("a"))
    {
      rb.AddForce(transform.forward * -hiz);
    }
    if (Input.GetKey("d"))
    {
      rb.AddForce(transform.forward * hiz);
    }
  }
}