Page MenuHome

Blender boolean tools not rendering correct output
Closed, ArchivedPublic

Description

System Information
Operating system: Win 10
Graphics card: Intel integrated

Blender Version
Broken: 2.80
Worked: 2.80

Short description of error
When Mesh A and MeshB are union'ed, the merged result looks good. However, when a Mesh C is attempted to be subtracted from this union, there are certain conditions under which it does not subtract correctly. There is a good set of examples over here on Stack https://blender.stackexchange.com/questions/208861/boolean-modifier-doesnt-render-correctly/. Specifically when MeshA and MeshB are flush at the same level, there is a problem. However if you offset one of them by alteast 0.002 in Z axis, the boolean tool works fine. Even Fast/Exact options in 2.9 is not helping according to response from a contributor on Stack Overflow. Any help to resolve this without having to offset it would be appreciated.

Exact steps for others to reproduce the error
Based on the default startup or an attached .blend file (as simple as possible).

Event Timeline

Robert Guetzkow (rjg) closed this task as Archived.Jan 22 2021, 3:09 PM

This works fine 2.9x if you do the following:

  • On all objects use Mesh > Normals > Recalculate Outside (+N)
  • Enable Exact mode on all Boolean modifiers

I'm closing this ticket as this is working properly in current versions of Blender.

I downloaded the attached blender sample. I opened it in 2.91.2 (5be9ef417703). Switched the boolean modifiers to Exact mode. After selecting all three meshes, I switched to edit mode and selected Mesh -> Normals -> Recalculate outside. I still am not getting A+B-C. There is something different in what we are seeing.

is what I am seeing. It is more like C-B+A.

You need to go through the objects individually, select all vertices first and then use Recalculate Outside.

Oh no...I have been recalculating normals for faces instead of vertices. I didnt realize vertices could have normals! That seems to be the reason I never got it right. Thanks for the explanation.

Whether you use face or vertex select doesn't make a difference for Recalculate Outside, but you have to select the entire mesh before. You aren't using custom normals so the vertex normals are calculated based on the normals of the surrounding faces.