Open ltecheroffical opened 1 year ago
Please add more detail. I do not understand this proposal in its current state and I fear we are running into an XY-problem here.
1: I need a type of navigation to navigate infinitely throughout the world 2: The mesh stops me from dynamically baking it because the world is dynamic 3: The points will start lagging the more points there are. 4: I do need the pathfinding and following of navigation agents, just without requiring a region to work 5: That is a good idea but for proceedially and design terrain then the agent could work very well.
Games of such a large size need to work with a chunk system for the game world to load parts that are needed and unload parts that are not needed. No user system or engine part can support an infinite world with everything inside all the time. If you create such a system all the points you mentioned are no longer a problem and you can use the navigation system that best suits the gameplay. Navigation can not work on empty nothing, does not have to be a mesh but it needs graph data to do pathsearches.
A way it could work is to see where the NavigationObstacle[2D/3D]
are and shoot raycasts to see the next move. Also some people just follow GDQuest's tutorial on how to improve FPS so they might not think to implement a chunk system + the other optimizations godot provides like a physics server.
Describe the project you are working on
A 2D RPG adventure type game with proceedial generation
Describe the problem or limitation you are having in your project
i'm not able to use the builtin nav system because it forces a mesh to be used.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Allow the ability to set
NavigationAgent[2D/3D]
to work without a navmesh but avoidNavigationObstacle[2D/3D]
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
A checkbox in
NavigationAgent[2D/3D]
to allow navigation without a navmesh.If this enhancement will not be used often, can it be worked around with a few lines of script?
It can be worked around with A* and adding points everywhere but this will quickly lag when proceedially generating.
Is there a reason why this should be core and not an add-on in the asset library?
This is about making the engine more accessible for people who don't in this context want to write navigation from scratch.