Search Unity

Bug NavmeshLink / NavmeshSurface (Volume-Based) bugs

Discussion in 'Navigation' started by stiverm, Jul 30, 2021.

  1. stiverm

    stiverm

    Joined:
    Apr 27, 2013
    Posts:
    16
    I've found what appears to be 2 or more bugs in the NavMeshSurface and its surrounding systems. The details of each issue can be observed in the scene and the attached video.

    Odd behavior with regard to traversing over a NavmeshLink
    1) Does not always go directly toward the closest point on the NavmeshLink
    2) When attempting to move to a location where a NavmeshLink and NavmeshSurface are overlapping the agent must first exit the link before going to the proper location. Sometime even teleporting.

    Issue with including all of the terrain in a NavmeshSurface using 'volume'
    3) When the edge of a NavmeshSurface (using the volume method) is on a particular line it will not fully include the volume of the terrain. This seems to have something to do with the relationship to the terrain size itself. In the project provided the terrain is 250x250 and the issue occurs and 125, it can also occur at 31.25 but not all multiple seem to work.

    https://www.dropbox.com/s/67ht9ea5l5sv9rf/NavMeshSurfaceBug.zip?dl=0
    https://www.dropbox.com/s/890jvs7albwu453/NavMeshSurfaceBug.mp4?dl=0
     
  2. ChrisKurhan

    ChrisKurhan

    Joined:
    Dec 28, 2015
    Posts:
    268
  3. stiverm

    stiverm

    Joined:
    Apr 27, 2013
    Posts:
    16
    Thanks. #2 is not overlapping, it's a very large link to emphasize the problem.
     
    ChrisKurhan likes this.
  4. ChrisKurhan

    ChrisKurhan

    Joined:
    Dec 28, 2015
    Posts:
    268
    My apologies I misunderstood the video then. If I understand you correctly then the agent is both not traversing the NavMeshLink completely and is not traversing directly across the NavMeshLink, but at an angle.

    If that's the case I do recommend submitting a bug report in the Unity Editor with this project explaining basically what you've done in this post. I have reported a couple of issues with NavMeshLink already and that sounds like #1 and #2 may be the same as one I was planning to submit as well.

    I don't fully understand #3 from your description but if that's an easily reproducible one I recommend to submit that as well.
     
    stiverm likes this.
  5. stiverm

    stiverm

    Joined:
    Apr 27, 2013
    Posts:
    16
    Indeed, I've attempted to submit them once but was kind of brushed off. I'll be attempting to again soon just haven't gotten around to it. :)
     
    ChrisKurhan likes this.
  6. Haapavuo

    Haapavuo

    Joined:
    Sep 19, 2015
    Posts:
    97
    There seems to be a lot of issues with the current NavMeshLink implementation. My agents move faster along the Link than along the NavMeshSurface. Also, the agents wait for each other to get passed the link instead of going to the link at the same time. These are real issues for us...
     
  7. ChrisKurhan

    ChrisKurhan

    Joined:
    Dec 28, 2015
    Posts:
    268
    The movement speed is controlled by your code - you can set how long it should take to traverse the link based on the Agent's move speed and the distance of the link.
    I made a video about improving the NavMeshLink traversal here that may help you there.

    Only 1 agent being able to be on a link at a time I understand is a limitation of the Navigation system and can only be worked around by having multiple low-width NavMeshLinks near one another to allow more to cross at the same time. I haven't dove deep into this to provide much other guidance.