Hi, I don’t use SceneTree/Nodes (except for entry point C# script) and do everything using server apis (so there is no navigation/navmesh related node at any point).
Currently, I only have some simple navmesh generation for testing (basically hardcoded Vertex3 array just like in the docs - Using navigation meshes — Godot Engine).
I can see that map, region, and polygons are registered correctly in the debug monitors, navigation and pathfinding are working as expected in game, but the “visible navigation” menu option doesn’t seem to do anything and I can’t see the navmesh in playmode.
Thanks. Makes sense, although it’s still a bummer. Working on navmesh generation without this is going to be painful.
Is there any way to get out the “true” navmesh Godot is using so I can render it myself? If not, then - i guess - my best bet is to mock everything up just like in the game and use nodes while working on this.
This should probably be documented though
Yes, this wasn’t immediately obvious after reading the docs.
I’ve been thinking for my particular case it would be easier to generate mesh using quads, and it works fine from my basic testing, but i’m not sure if Godot is for example triangulating and/or doing other optimisations to this mesh behind the scenes.
I’m sorry, I meant get polygons by the navigation server but did not want to mess the topic. Just wanted to show that the polygons can be drawn for debug.
I miss a lot of things in the server indeed.
Currently the navigation debug visuals are all node based so if you use NavigationServer objects without nodes you need to create your own debug for them. This is documented in the navigation debug section of the documentation.
That there is no debug without nodes is not exlusive to navigation, you also see no e.g. physics debug if you only use server objects. The exception is rendering because rendering has all its visual data internally available. There are actually API problems with e.g. camera and viewport stuff that make it hard for other servers to communicate with the rendering for debug.
I’ve subscribed to #7208 and for the time being, I’m going to postpone my project because after evaluation it seems currently there’s just too much engine level functionality I’d have to reinvent & roll custom implementation for, for my simple project.
At least from what I’ve found:
there’s no easy way to animate meshes when using rendering server
there’s no easy way to create navigation mesh at runtime when using navigation server
Gonna try some other, more traditional / node-based ideas