Quantcast
Channel: Questions in topic: "enemy"
Viewing all articles
Browse latest Browse all 1488

NavMeshAgent does not follow player

$
0
0
I am making a stealth game where when the enemy ai sees the player they chase the player, however when they are behind a wall or some obstacle they wont be able to see the player, the enemy vision is like a cone, i have made a nav mesh agent for my enemy ai and baked the area, when the player is in enemy sight, the ai is not moving at all, this is the code i have below using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class enemyControl : MonoBehaviour { Ray enemyRay; public Color rayColor; RaycastHit rayHit; bool follow; public float sightDist; private NavMeshAgent agent; public GameObject him; void Start() { agent = GetComponent(); him = GameObject.FindGameObjectWithTag("Player"); } void Update() { //enemyRay = new Ray(transform.position, transform.forward * sightDist); Debug.DrawRay(transform.position + Vector3.up, transform.forward* sightDist, rayColor); Debug.DrawRay(transform.position + Vector3.up, (transform.forward + transform.right).normalized * sightDist, rayColor); Debug.DrawRay(transform.position + Vector3.up, (transform.forward - transform.right).normalized * sightDist, rayColor); if (Physics.Raycast(transform.position + Vector3.up, transform.forward, out rayHit, sightDist)) { if (rayHit.collider.gameObject.tag == "player") { agent.SetDestination(him.transform.position); him = rayHit.collider.gameObject; } } if (Physics.Raycast(transform.position + Vector3.up, (transform.forward + transform.right).normalized, out rayHit, sightDist)) { if (rayHit.collider.gameObject.tag == "player") { agent.SetDestination(him.transform.position); him = rayHit.collider.gameObject; } } if (Physics.Raycast(transform.position + Vector3.up, (transform.forward - transform.right).normalized, out rayHit, sightDist)) { if (rayHit.collider.gameObject.tag == "player") { agent.SetDestination(him.transform.position); him = rayHit.collider.gameObject; } } } void OnTriggerEnter(Collider coll) { if (coll.tag == "Player") { agent.SetDestination(him.transform.position); him = coll.gameObject; } } }

Viewing all articles
Browse latest Browse all 1488

Trending Articles