Thank you for the correction. I was sitting here thinking modular rooms built at runtime were impossible until just now. I had been brainstorming some ways to do it without having to prefab anything and wasn't getting anywhere, even considered just writing my own navigation system. Now I know that it works out of the box and I can just bake the meshes at runtime and make my rooms mesh up to each other for that procedural dungeon style
damn, i watched like 4 other 30 minute tutorials, and they had less information than your 6 minute (+2 minute addendum) video, this saved me hours of fiddling around
This is quickly becoming my favorite Godot tutorial channel! Just had a quick question because I haven't been able to find an answer to this through trial-and-error -> is there any way to create navmeshes using walls/ceilings? For example if you want enemies to be able to crawl around on walls and ceilings. Thanks!
That's awesome to hear :) Under agents in the Navigation Mesh there's a property called Max Slope. Setting it to 90 degrees should allow for enemies to walk on walls(I haven't actually tried this, so let me know how it works!). As for ceilings.. the only thing I can think of is flipping the map upside down, baking it, and then flipping it back over lol.
@@ditzyninja Setting the max slope property to 90 degrees didn't appear to do anything different, but flipping the wall sections 90 degrees, baking the navmesh, and then flipping everything back over did work and the AI was able to climb the wall. The only issue is that AFAIK this would not be possible to due using prebuilt levels made in something like Blender, so I'm really hoping that there is actually a feature or workaround possible to properly generate them in the first place. Would love to see a tutorial if you can get it working at some point in the future - thanks again!
Hey, i am trying to find a solution to this problem, what would you recommend? I'm using godot4. I need to attach an obstacle region to a rigidBody3D, making the area around that rigidBody not navigable, I tried using the NavigationObstacle3D object but it seems to have no effect on the navmesh or the navagent path. I am currently working on simply not giving the position to the agent if this position is within range of the mentioned rigidBody. Thanks for all the help, really enjoy your videos :).
I'm sorry, I totally missed this. I haven't been able to get the NavigationObstacle to work for me either. If the non-navigable region is a radius around the rigidbody, you could find the direction from the position within range to the rigidbody then move it out in the opposite direction so it's just outside of the radius. Maybe find the closest point on the map from there, but that might find a position which is not navigable from your agents current position depending on the layout of the map or find one that is back with in the radius. I guess you could have a loop that searches points around the rigidbody non-navigable radius until you find one your agent can reach. That's a little clunky though.. I really wish I had a better solution for you.
Sadly you're going to gave to code this yourself. after looking through the documentation it's not implemented yet although I heard someone saying they were currently writing a submit for this issue. seeing as godot is in feature freeze currently it may take a while.
I have a few more networking videos on the go, but I could definitely make some more after I get those finished up. Is there a specific aspect of navigation you'd like me to cover?
Thank you for this videos, awesome! Do you think it makes sense to use regions and cost to enter regions system for a game which has a grid and movement cost like in Civilization?
will navigation_mesh_changed signal on NavigationMeshInstance fire if we dynamically place object on it? I tried but it is not firing up on godot 4 alpha 14