• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
Question by amontejo2 · May 15, 2019 at 09:02 AM · collisionnavmeshcollision detectionnavmeshagent

Help With NavMesh

I'm making a game for a school project where you have to look at the enemy so he doesn't get to the player but when he does collide with the player, it plays a "GameOver" animation. When I tried to implement NavMesh to the terrain, everything works like the way it did but the collision method doesn't get detected or the animation doesn't play.

Enemy's Code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.AI;
 using UnityStandardAssets.Characters.FirstPerson;
 
 public class SCPMovement : MonoBehaviour
 {
     public float speed = 1f;
     public Transform target;   //Reference to Player
     private NavMeshAgent agent;
     public bool isGameOver = false;
     private Raycast raycast;
 
     // Use this for initialization
     void Start()
     {
         agent = gameObject.GetComponent<NavMeshAgent>();
         
         raycast = target.GetComponent<Raycast>();
     }
 
     // Update is called once per frame
     void Update()
     {
 
         if (raycast.looking == false)
 
         {
             agent.SetDestination(target.position);
             float step = speed * Time.deltaTime;
             transform.LookAt(target);
             transform.position = Vector3.MoveTowards(transform.position, target.position, step);
         }
 
     }
     void OnCollisionEnter(Collision other)
     {
         
          if(other.gameObject.name == "Player") // creates a condition where if the collidedWith object turns into the gameObject, it will destroy the collidedWith object AM
         {
             print("Destroyed");
             isGameOver = true;
             
             print("Destroyed");
             speed = 0f;
             raycast.looking = true;
             
         }
     }
 }
 

Player's Code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class Raycast : MonoBehaviour {
     public Transform target;
     public bool looking = false;
     CharacterController charCtrl;
     // Use this for initialization
     void Start () {
         charCtrl = GetComponent<CharacterController>();
     }
     
     // Update is called once per frame
     void Update () {
         RaycastHit hit;
         Vector3 p1 = transform.position + charCtrl.center;
         float distanceToObstacle = 0;
 
         // Cast a sphere wrapping character controller 100 meters forward
         // to see if it is about to hit anything.
         if (Physics.SphereCast(p1, charCtrl.height * 4 , transform.forward, out hit, 500) && hit.collider.gameObject.CompareTag("gameObject"))
         {
             looking = true;
             print("Hit!");
             distanceToObstacle = hit.distance;
         }
         else
         {
             looking = false;
         }
     }
 }
 

isGameOver Checking Code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class GameOverScript : MonoBehaviour {
     Animator anim;
     public SCPMovement scpmovement;
     public FinishZone finished;
     // Use this for initialization
     void Start () {
         anim = GetComponent<Animator>();
        
     }
     
     // Update is called once per frame
     void Update () {
         if (scpmovement.isGameOver == true)
         {
             anim.SetTrigger("GameOver");
         }
     }
 }
 


Comment

People who like this

0 Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image tormentoarmagedoom · May 15, 2019 at 10:55 AM 0
Share

HEllo.

We are not your teachers... We will not read all your code to see if you know how to do it.

If you had somethign working, and now is not, is because you changed something....

Most important lesson to learn is to DEBUG your code while running. (watch some tutorial) so you will find where the game doesnt do what you want, and wil lsee why.

Bye!

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

233 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Can't push Navmesh agent with my avatar 0 Answers

Navmesh agents not colliding with non trigger colliders? 0 Answers

Require Help with NavMesh 0 Answers

Collision issue, Plz help 1 Answer

OnTriggerExit not working 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges