0 votes

So, after i made a simple system of pathfinding and navigation2d with a navpolyinstance which detects other collision polygons, when moving around i get this in the output console
"convex partition failed"
and it messes up the navigation system so the player goes through obstacles.
I also get these errors in the console

convex partition failed!
ERROR: SelfList::List::~List: Condition ' first != 0 ' is true.
At: c:\projects\godot-builds\godot\core\self
list.h:100
ERROR: SelfList::List::~List: Condition ' first != 0 ' is true.
At: c:\projects\godot-builds\godot\core\self
list.h:100
WARNING: ObjectDB::cleanup: ObjectDB Instances still exist!
At: core\object.cpp:1989

What does that mean?
If you need more information about how to recreate this or the script, etc, comment here please
Help me... Thanks
EDIT: The collision polygons are ok, vertices are placed where they need to be (they're forming a square)

asked Feb 28, 2018 in Engine by GunPoint (395 points)

1 Answer

0 votes

So I've noticed that I get convex partition failed when two points of an outline of a same polygon are on top of each other of it they over lap. I've also noticed that if I have a polygon map with different polygons that overlap that the navigation acts funny.

Perhaps the reason this is coming up is because your detection system is creating polygons that are too close to one another?

Unfortunately I don't have a solution - I've been working on a tool that creates a polygon based on a tile's ID from a tileset but I've run into a lot of technical difficulties with it. Right now I'm working on make an algorithm to create the shape based on the tiles and how they are arranged rather than creating a square for each tile because of the polygon partition failures that occur when making so many of them.

Sorry I don't have more info -

-Azulles

answered Apr 27, 2018 by azulles (14 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.