NavigationObstacle2d: Smooth navigation with custom regions

Godot Version

4.3 (Linux)

Question

I use some NavigationObstacle2D objects on a map to build obstacles for my player units. My problem is that the units do not navigate smoothly around the obstacles when I draw my own areas.

However, I have found that if I use the Radius option instead of the manually drawn outlines, the navigation mesh looks similarly, but the units navigate smoothly around the obstacles.

But since I don’t need circular obstacles, but elongated ones, I would like to transfer the “Radius behavior” to those with the self-defined areas.

The problem is that even polygons that I define as smoothly as possible with lots of points, the player character still moves jerkily around them. I even tried to calculate intermediate points using Catmull-Rom, but this divided the navigation mesh too much and made it slower.

The two types of NavigationObstacle2D are illustrated here: the upper one has a radius, the lower one is drawn with the polygon tool:

So either Godot is taking an extra step under the hood, or I’ve set something wrong - which I wouldn’t deny.

But I would be grateful for any advice, because this problem has been bothering me for over a week now and I’m getting nowhere.

Thanks in advance!