Im creating an AI and I just need to patrol him around Please Help me to do this . Im just a Beginner in UNITY . Advance Thanks ![]()
This is the Code of Tutorial that I Watch : using UnityEngine;
using System.Collections;
[RequireComponent(typeof (NavMeshAgent))]
public class chase : MonoBehaviour {
public NavMeshAgent agent;
public Transform player;
public Transform head;
static Animator anim;
string state ="patrol";
public GameObject[] waypoints;
int currentWP = 0;
public float rotSpeed = 0.2f;
public float speed = 1.5f;
float accuracyWP = 5.0f;
// Use this for initialization
void Start () {
anim = GetComponent<Animator> ();
agent = GetComponent<NavMeshAgent> ();
}
// Update is called once per frame
void Update ()
{
Vector3 direction = player.position - this.transform.position;
direction.y = 0;
float angle = Vector3.Angle (direction, head.up);
if (state == "patrol" && waypoints.Length > 0) {
anim.SetBool ("isIdle", false);
anim.SetBool ("isWalking", true);
if (Vector3.Distance (waypoints [currentWP].transform.position, transform.position) < accuracyWP) {
//currentWP = Random.Range (0, waypoints.Length);
currentWP++;
if (currentWP >= waypoints.Length) {
currentWP = 0;
}
}
direction = waypoints [currentWP].transform.position - transform.position;
this.transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation (direction), rotSpeed * Time.deltaTime);
this.transform.Translate (0, 0, Time.deltaTime * speed);
}
if (Vector3.Distance (player.position, this.transform.position) < 8 && (angle < 30 || state == "pursuing")) {
state = "pursuing";
this.transform.rotation = Quaternion.Slerp (this.transform.rotation, Quaternion.LookRotation (direction), rotSpeed * Time.deltaTime );
if (direction.magnitude > 2.5) {
this.transform.Translate (0, 0, Time.deltaTime * speed);
anim.SetBool ("isWalking", true);
anim.SetBool ("isAttacking", false);
} else {
anim.SetBool ("isAttacking", true);
anim.SetBool ("isWalking", false);
}
}
else
{
anim.SetBool ("isWalking", true);
anim.SetBool ("isAttacking", false);
state = "patrol";
}
}
}