Page MenuHome

Boolean Modifier doesn't detect meshes.
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 461.72

Blender Version
Broken: version: 2.93.0 Beta, branch: master, commit date: 2021-04-16 16:41, hash: rBb2a0f6927508
Worked: (newest version of Blender that worked as expected)

Short description of error
Boolean operation in Exact Mode can't detect meshes inside a mesh.

Exact steps for others to reproduce the error
In an object containing multiple meshes, If meshes have intersection or a mesh is inside another mesh boolean modifier doesn't detect the inner meshes in Exact mode.
Also boolean doesn't create required geometry for the inner meshes in Fast mode.
Also boolean modifier Only uses first Material for New geometries.

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Needs Information from Developers.Apr 23 2021, 6:44 PM

I don't think it's a bug.
The spheres inside are not inverted, so they are not technically "holes".
They become closed volumes like the larger sphere.
But it is a little strange that they disappear (I don't know what to expect in this case. @Howard Trickey (howardt) must understand better).


See the operator to Flip Normals:
https://docs.blender.org/manual/en/dev/modeling/meshes/editing/mesh/normals.html#bpy-ops-mesh-flip-normals

Howard Trickey (howardt) closed this task as Resolved.Apr 24 2021, 9:24 PM
Howard Trickey (howardt) claimed this task.

The Exact Boolean is operating as expected here, so there is no bug here, except that the Fast boolean is not really doing the right thing.

A Boolean operation is an operation on volumes: the result of a difference should be the volume of space that is enclosed in the main and also not enclosed in the second object. Here the first object is the big blue sphere and 4 contained smaller red spheres. The space enclosed is the same volume as if those smaller red spheres were not there. Those inner spheres are not needed to define the volume and are therefore not included in the boolean output. As Germano hinted, if you select only those inner spheres' faces and flip their normals then the enclosed space does not include the volume inside those smaller spheres, so you will get the effect you want in that case.

The materials thing is a known issue. It is tricky to create new materials on an object in a modifier. In the example file, you will get the new material on the faces from the subracted BOOL object if you go into the 'Meshes Inside Meshes' object's material panel and add Material.3 (the green material) in another slot of the materials.