-
-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle translation deltas that exceed consecutive path points #84
Comments
Thanks for submitting this issue. It gives me an opportunity to explain how the navigation works at a glance, and why this happens. You have to supply reasonable parameters for navigation to work, in the same way that you do for physics, shaders, etc., although I understand the need for input validation where possible. The navigation package generates a buffer of navigable points. If the translation delta of an agent exceeds the distance between a set of consecutive points, the agent will, as you put it, shake violently, because it's unable to "reach" said points—and it will keep trying indefinitely. Keep in mind that whether a point is "reached" is approximate, since positions are stored as floating-point numbers. Input validation for this is challenging. For example, points could be removed to account for the translation delta; however, those points exist for a reason: the avoidance of obstacles. In this way, if we remove a hypothetical Point B between A and C, then we have no assurance that the vector between A and C is navigable/walkable. Another way to go about this would be to temporarily slow the agent. Thus, the All in all, I'll consider slowing agents conditionally with a distance check. I'm also curious if anyone has input on that, or agrees with that approach. Let me know if you do. Also, maybe In the meantime, just lower the translation speed. Or, hey, I literally added an option for the agents to teleport. Use that if you want them to go really "fast." |
Closing, see #99. |
您的邮件,我收到了,谢谢。
|
Bug description:
When the speed of the agents in the scene exceeds 30 (Translationspeed = 50F), some agents will get stuck in place, and some will shake violently when they reach the target point. If navflocking is turned on, the agent will circle around the target point. So how to solve this problem?
The text was updated successfully, but these errors were encountered: