• 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 /
avatar image
0
Question by JackMeOut · Nov 16, 2015 at 08:42 AM · collisionnavmeshcollision detectionnavmeshagentnavigation

Navmesh agent got fused in very crowded situation when colliding.

I'm trying to make a crowded crossroad simulation where two pedestrian groups crosses the road by following one guide for each group. First what I have done is creating a simple scene using capsule object to as navmeshagent as you can see from my video: [link text][1]

The problem is, if you see at 0:46 the agent fuses and pops out repeatedly on the track. The destination of the agents is their respective leader while the leader itself have a determined destination. The code for the pedestrian can be seen below:

     using UnityEngine;
     using System.Collections;
      
     public class FollowerAgentMovement : MonoBehaviour {
     [HideInInspector]public Transform NPCLeader;
     NavMeshAgent Agent;
     void Start () {
     Agent = GetComponent<NavMeshAgent> ();
     NPCLeader = GameObject.FindWithTag ("LeaderAgent");// each group have different leader, in the implementation there are 2 tag LeaderA and LeaderB
     }
     void Update () {
     Agent.SetDestination (NPCLeader.position);
     }
     }

And this is the code for the guide(leader)

 using UnityEngine;
 using System.Collections;
  
 public class AgentMovement : MonoBehaviour {
     public Vector3 Destination;
     NavMeshAgent Agent;
  
     // Use this for initialization
     void Start () {
         Agent = GetComponent<NavMeshAgent> ();
     }
    
     // Update is called once per frame
     void Update () {
         Agent.SetDestination (Destination);
     }
 }

I'm also pretty aware of the collider and rigidbody effect as stated in http://forum.unity3d.com/threads/need-advice-or-recommendations-with-navmesh-and-agents.130012/

Since I need to detect collision between agent and based on http://docs.unity3d.com/Manual/CollidersOverview.html the collision action matrix of Kinematic Rigidbody Collider cannot trigger the OnCollisionEnter function so I keep using non-kinematic collider as child of the capsule with rotation and position constrain for the rigidbody to detect the collision and the force didn't affect the navmeshagent component. I also tried removing the rigidbody so it's only the navmesh component that affecting the agent but the fuse problem between agent still exist.

Please someone help me, why this phenomenon happen and how to prevent it? Note: sorry for my bad English. VIDEO LINK [1]: https://youtu.be/G7NVwlpZ544

Comment
Add comment
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

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

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Navmesh y-axis 1 Answer

How do I get NavMeshAgents not to walk through objects? 3 Answers

Enemies using navmesh are bumping each other through solid objects 1 Answer

How to have a navmeshagent not move rigidbodies in my world? 0 Answers

NavMeshAgent not fully reaching destination, thus it won't delete itself when it gets there 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges