You can use 3D world of your choice here, be it in Blender or some other software. I am using Gaea which has a free version, but you have to buy a license if you want to export high resolution textures. I am not going to go into the details of creating the terrain in Gaea here, but just for the reference, the files I have ready before I start working in the Godot engine are:
- exported mesher.obj
- exported Albedo texture (4K)
- exported Normal map (4K)
Next, you import the mesher.obj into Godot engine. For the purposes of having organized scene I added a StaticBody3D with an imported mesher.obj as a MeshInstance3D, under which you have an option to create a CollisionShape3D in the menu under Mesh dropdown, depending on your needs and how accurate you need the collisions to be.
You add a Surface material override to the Mesher object and texture your mesh with the imported externally created textures. Depending on your needs, you might want to experiment with the other settings too, but for my needs what works is Albedo and Normal map.
Next step is adding Navigation to your map, for this I am using NavigationRegion3D, I added all objects with collision shapes as a child of the NavigationRegion3D. When adding NavigationMesh you need to experiment with the Sampling, Geometry, Cells, Agents, Regions, Edges, Polygons and Details setting to get smooth navigation. This is work in progress, but settings that work for me are visible in the screenshot above.
This concludes the first devlog. It didn't go into much details, more so because the NavigationRegion3D is subject to change so future updates are likely. I also went through this workflow quite some time ago so if you run into some problems replicating it feel free to contact me.