Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class animalAI : MonoBehaviour {
- public float cSec = 3.0f; //Kaç saniyede bir bu kontrolleri falan yapsın diye yazdığım bir değer.
- public float waitFor = 3.0f;
- public int canliSira;
- private float ne_Tarafa;
- private float ne_Kadar;
- public float maks_Dönme = 90f;
- public float min_Dönme = 10f;
- public float min_Metre = 2f;
- public float maks_Metre = 8f;
- 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.
- public float checkDistance;
- public RaycastHit hit;
- public float smoothFactor = 2.0f;
- private Quaternion lrot; //son rotasyon
- private Vector3 lpos; // son pozisyon
- public void Update()
- {
- if (cSec >= 0)
- {
- 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.
- }
- if (cSec <= 0)
- {
- ne_Tarafa = Random.Range(min_Dönme,maks_Dönme); //Bunu ne kadar döneceğini belirlerken kullanacağız.
- 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.
- checkDistance = ne_Kadar; //Gideceği yere kadar Raycast atmalı daha uzağa yada yakına atarsa çok saçma ve buglu olur.
- lrot = this.transform.rotation;
- lpos = this.transform.position;
- transform.rotation = Quaternion.Slerp(lrot,new Quaternion(lrot.x,lrot.y + ne_Tarafa,lrot.z,lrot.w), waitFor * smoothFactor);
- transform.position = Vector3.Lerp(transform.position, new Vector3(lpos.x, lpos.y, (lpos.z + ne_Kadar)), waitFor * smoothFactor);
- if (Physics.Raycast(my_Eye.transform.position, my_Eye.transform.forward, out hit, checkDistance))
- {
- //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.
- }
- cSec += waitFor;
- }
- }
- }
Add Comment
Please, Sign In to add comment