Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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 or1on · Feb 27, 2015 at 02:39 PM · navmeshnavigationdocumentation

Questions about NavMeshAgent.SamplePathPosition - statement from Unity desirable ^^

Hello, I wasn't sure if I should report a bug about this method (or about its documentation...), or if I'm just not using it in a correct way, so I thought I'd ask my questions here.

I want to use NavMeshAgent.SamplePathPosition to check if the agent currently stands on a particular navigation layer. The way I thought it works was that I pass the layer in question as passable mask ("A mask specifying which NavMesh layers can be passed when tracing the path.") and set max distance to a rather small value (like 0.1), because I'm only interested in knowing if the agent actually stands on the layer (or very close to it). Then I would check the return value of the method, assuming that it would return true if the layer was found within 0.1 units along the path, false otherwise ("Returns: True if terminated before reaching the position at maxDistance, false otherwise.").

However, this didn't work out. So I built a test scene, and checked what the method was actually doing. Turns out:

  1. The passable mask defines layers that are IGNORED when sampling.

  2. The NavMeshHit.distance is wrong. It always equals min(maxDistance, remainingPathLength) as long as the agent is on a layer INCLUDED in passable mask (even if the NavMeshHit.position is closer), and zero as soon as the agent is on a layer NOT in the passable mask.

  3. As a consequence of point 2 (I guess?), the method only returns true while the agent is ON a layer that is NOT included in passable mask -> yay, that's what I need :)

Also, I tried passing -1 as passableMask - like in the example on the documentation - and expectedly (well, somehow...), the method always returns false. So the example might work, but it's not really the best example..

Comments? :)

Tobi

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.

Follow this Question

Answers Answers and Comments

2 People are following this question.

avatar image avatar image

Related Questions

NavMeshAgent collision not working with player 2 Answers

NavMeshPath get path cost 0 Answers

Weird navigation issue 0 Answers

Rectangular Nav Mesh Agent? 1 Answer

Get path obstacles of navmesh 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