godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.93k stars 21.15k forks source link

Couldn't form plane from brush A face, (I believe there's a error that say's B instead at times.) #89474

Open TheRealFame opened 7 months ago

TheRealFame commented 7 months ago

Tested versions

4.2.Stable 4.3-Dev4

System information

Windows 11 - 4.2 Stable - Vulkan (Forward+)

Issue description

Can anyone help me debug why godot gives me these errors when i add a csgnode to a pre existing hierarchy?

image-41 SPOILER_image-1 SPOILER_image image-32

Steps to reproduce

  1. Drop a csg combiner node on the node3d of your scene.
  2. Drop a csgmesh using union and scale it up.
  3. Drop another mesh using the subtraction setting, And push them into each other while making a house like this.
  4. (Something I did that wasn't included) I used a triangle mesh.

Minimal reproduction project (MRP)

MininmalReproductionHouse.zip

AThousandShips commented 7 months ago

Please upload an MRP to make it easier to reproduce this issue, just trying to replicate it from these instructions could be difficult, and it'd be much easier if you uploaded something you know causes this

TheRealFame commented 7 months ago

Please upload an MRP to make it easier to reproduce this issue, just trying to replicate it from these instructions could be difficult, and it'd be much easier if you uploaded something you know causes this

Since 4.2.1 isn't on android~ I'll have to get that project up when I'm back on desktop, So please bear with me 😅

TheRealFame commented 7 months ago

New information. This seems to be when there are many csg node's instead of what i was thinking 😅 Let me do more testing as i make thie reproduction project

TheRealFame commented 7 months ago

Please upload an MRP to make it easier to reproduce this issue, just trying to replicate it from these instructions could be difficult, and it'd be much easier if you uploaded something you know causes this

I updated the issue with the reproduction project! I will be trying these same project on new builds now, Starting from 4.3, If it still happens i will make it known by saying 4.2.1 - 4.3

(In case you missed it) MininmalReproductionHouse.zip

chrisl8 commented 7 months ago

Not sure if this helps, but I reduced the MRP down a bit to the minimum that still produces the error. smaller_mrp.zip

I also made a quick video to demonstrate how to reproduce:

  1. Select the triangle "roof" bit.
  2. Drag it "up and down" (in the Y axis) The error is displayed as the "roof" part is intersecting with the "walls" of the house.

https://github.com/godotengine/godot/assets/6188278/13b8a7f7-9f4d-4c53-b1ec-24671192aa77

Note that the problem goes away if you remove the "window" in the first CSGBox3D2 node, as demonstrated here

https://github.com/godotengine/godot/assets/6188278/f3dfcc63-5ab6-427c-b38d-667ca531dffd

EDIT: It can still happen after deleting the "window", it just happens less. Only when the "roof" is just starting to touch the walls.

TheRealFame commented 6 months ago

Just to clarify and get straight to the point, It overall just seems subdividing alot on a mesh doesn't work in godot. Rather then the csg_mesh 3d node just breaking compatibility with the other nodes.

But I should do a second test with only csg mesh nodes- Would it mean those sets of nodes are unstable? Or would it just mean the implantation of subdivision for multiple meshes or layered on a specific mesh isn't that compatible..