Godot: Issue with collision creation from mesh

Created on 24 Dec 2017  路  10Comments  路  Source: godotengine/godot

Godot version: 2.1.4 stable

OS/device including version: Windows 10 64bit 16GB 258SSD GTX1050

Issue description:
When i tried to create collision from mesh it crashed with this errors
ERROR: QuickHull::build: Condition ' O == E ' is true. Continuing..: At: core\math\quick_hull.cpp:401 ERROR: QuickHull::build: Condition ' !F2 ' is true. Continuing..: At: core\math\quick_hull.cpp:429 ERROR: QuickHull::build: Condition ' !F2 ' is true. Continuing..: At: core\math\quick_hull.cpp:429 ERROR: QuickHull::build: Condition ' O == E ' is true. Continuing..: At: core\math\quick_hull.cpp:401

image

  • [x] I searched the existing GitHub issues for potential duplicates.
bug core

Most helpful comment

@Jose-Moreno Also happening in v3.1.1 stable (Linux)
image

All 10 comments

Is this still reproducible in the current master branch?

If so, could you provide a test project that can reproduce it?

I got the same error, here's a basic project with a mesh that does generate that error when it has attached a convex collision shape.

qh_error.zip

You can test it also by removing and re-adding the collision shape within the editor.

Mine is a custom build, v3.1.beta.custom_build.09e4d7e.

I think that this closed issue is also related: #17569

@akien-mga, being this a bug, shouldn't this remain in the 3.1 scope? Even if fixed after 3.1 is officially published. I mean, at least now it doesn't crash the application, but still, as you may notice, the collision shape does not look that good.

This is probably fixed now

Closing, please comment if you can still reproduce it in 3.1 beta 10 or later.

There are still messages on the console when the collision sibling is being created but they are purely cosmetic. I don't think this is really worth changing.

I have tested just now, and in the console there's no error showing up anymore, just in the shell window.
It was little bothering before as it was slowing down the loading process too (IMHO), at least in my chase when I was using lots of trimesh collision shapes.
I am now using cubes to simplify, so for me it's ok to leve it as is.

Someone just reported this issue in Godot Engine's spanish facebook group, happening on 3.1 stable
https://www.facebook.com/groups/771679136238312/permalink/2571054849634056/

Here are the screenshots the user took:

image

image

Unfortunately I don't have access to his project but I asked him to comment on this thread with a minimum reproduction project and to tag akien when he does. Cheers.

@Jose-Moreno Also happening in v3.1.1 stable (Linux)
image

I'm also getting these errors in 3.2 on some convex collision objects. It seems to be purely cosmetic, as I haven't noticed any issues with the collision in-game, but the display is a bit funky. For example, I have a pipe shape here, and the end of it has some overlapping edges when displayed:
image

I highlighted the end, since it's a bit difficult to see with the overlapping wireframes. It really should just be an octagon, because it's a flat face, but some arbitrary edges were added, and these warnings were displayed in the Output log:

core\math\quick_hull.cpp:399 - Condition "!F" is true. Continuing.
core\math\quick_hull.cpp:402 - Condition "O == 0" is true. Continuing.

Some cases are much worse, and one of my scenes just spams like 2 pages of these errors. It would be nice to get this fixed, so I don't miss real errors.

pipes1_bend_angled_top.zip

Here's the gltf file for that pipe. Note that I'm using convcolonly for the collision and this was imported with 3.1 where it used the quick hull method for convex collision, so to repro this in 3.2, you'll probably have to generate collision from the mesh or change resource_importer_scene.cpp to use quick hull like this:

                } else if (_teststr(name, "convcolonly")) {
                    shapes.push_back(mesh->create_convex_shape());
                    collision_map[mesh] = shapes;
                }
Was this page helpful?
0 / 5 - 0 ratings