- Home /
Navmesh interfering with shooting mechanics
Hello everyone!
So I'm in a bit of a pickle. Both my player and enemy run with a navmesh.
The issue is that I can't shoot it down using my script. The script works perfectly fine on other static gameObjects but the actual enemy doesn't get destroyed after reaching 0 health and weirdly enough when I take off the navmesh component off of him I can kill him and the debug log comes back with its name.
Now I'm assuming that it's due to the navmesh but I'm not an expert thus why I'm on the forums asking for people's wisdom :)
Thanks in advance!
Answer by adamzl · Apr 02, 2018 at 04:02 AM
Killing in your description is unclear, a corpse with a destination would still move around as an agent. If you just want to stop the agent from doing agent things you could use NavMeshAgent.isStopped.
What I mean the enemy does not get damaged by my shooting script. Here is the script:
using UnityEngine;
public class Gun : $$anonymous$$onoBehaviour {
public float damage = 10f;
public float range = 100f;
public float fireRate = 15f;
public ParticleSystem muzzleFlash;
private float nextTimeToFire = 0f;
// Update is called once per frame void Update() {
if (Input.GetButton("Fire1") && Time.time >= nextTimeToFire) { nextTimeToFire = Time.time + 1f / fireRate; Shoot(); } }
void Shoot() {
RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, range)) { Debug.Log(hit.transform.name)
Health target = hit.transform.GetComponent<Health>(); if(target != null) { target.TakeDamage(damage); } }
muzzleFlash.Play(); }
}
So my enemy has a rigibody with kinematics since i'm using navmesh for both player and enemies, Capsule collider, a health script and the nav mesh. And as said before, the nav mesh wierdly (assu$$anonymous$$g) makes me not able to shoot him.
I have no advice then, the physics would be unaffected. Debugging from here should be reducing the program to a simpler case until you identify some other change that was not discussed here. Basically re-create the agent with navmesh and attempt to raycast hit it without any of the gun and health stuff.
Your answer
Follow this Question
Related Questions
Predict Collision 0 Answers
My trigger is called twice 1 Answer
Disabling collisions between Nav Mesh Agents? 2 Answers
Script appears as null and not null at the same time 1 Answer
Can't use Navmesh Obstacle on AI? 0 Answers