Guest User

Untitled

a guest
Feb 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class animalAI : MonoBehaviour {
  6. public float cSec = 3.0f; //Kaç saniyede bir bu kontrolleri falan yapsın diye yazdığım bir değer.
  7. public float waitFor = 3.0f;
  8. public int canliSira;
  9. private float ne_Tarafa;
  10. private float ne_Kadar;
  11. public float maks_Dönme = 90f;
  12. public float min_Dönme = 10f;
  13. public float min_Metre = 2f;
  14. public float maks_Metre = 8f;
  15. public GameObject my_Eye; //Her Hayvana bir tane göz objesi oluşturacağım ki boyuna orantılı olarak Raycast ile önünü kontrol etsin.
  16. public float checkDistance;
  17. public RaycastHit hit;
  18. public float smoothFactor = 2.0f;
  19. private Quaternion lrot; //son rotasyon
  20. private Vector3 lpos; // son pozisyon
  21. public void Update()
  22. {
  23. if (cSec >= 0)
  24. {
  25. cSec -= Time.deltaTime; //Eğer bekleme süresi 0 dan fazlaysa ki biz düşürmediğimiz sürece alttaki fonksiyonda eklediğimiz kadar fazla olur,süreyi azalt.
  26. }
  27. if (cSec <= 0)
  28. {
  29. ne_Tarafa = Random.Range(min_Dönme,maks_Dönme); //Bunu ne kadar döneceğini belirlerken kullanacağız.
  30. ne_Kadar = Random.Range(min_Metre, maks_Metre); //Bunu döndüğümüz tarafa gitmeye karar verirsek ne kadar gideceğimizi belirlemek de kullanacağız.
  31. checkDistance = ne_Kadar; //Gideceği yere kadar Raycast atmalı daha uzağa yada yakına atarsa çok saçma ve buglu olur.
  32. lrot = this.transform.rotation;
  33. lpos = this.transform.position;
  34. transform.rotation = Quaternion.Slerp(lrot,new Quaternion(lrot.x,lrot.y + ne_Tarafa,lrot.z,lrot.w), waitFor * smoothFactor);
  35. transform.position = Vector3.Lerp(transform.position, new Vector3(lpos.x, lpos.y, (lpos.z + ne_Kadar)), waitFor * smoothFactor);
  36. if (Physics.Raycast(my_Eye.transform.position, my_Eye.transform.forward, out hit, checkDistance))
  37. {
  38. //Burada vurduğu şeyin değerlerini barındıran Identify scriptini çağırıp kontrol edip ona göre hareket etmesi lazım ancak,şuan bi normal yazalım.
  39.  
  40. }
  41. cSec += waitFor;
  42. }
  43. }
  44. }
Add Comment
Please, Sign In to add comment