Page MenuHome

UV map is not preserved after applying a boolean modifier.
Closed, ArchivedPublic

Description

System Information
Windows 8, NVIDIA GeForce GTX 645

Blender Version
Broken: 2.69.0

Short description of error

I'm applying a boolean modifier to an object using a stretched cube. The object has a UV mapped texture. After performing a boolean, the UV map on the object is completely remapped and is hopelessly unrecoverable.

I've attached a before-and-after picture.

Exact steps for others to reproduce the error

In the attached .blend file: (1) use render mode to see the original texture map; (2) in Object mode select object TL_SI_M0202_diag; (3) Add boolean modifier; (4) select 'Difference'; (5) choose object 'Cube'; (5) use Render mode to view changed texture.

The same issue occurs with the other boolean modifiers.

Event Timeline

Bob Hall (rjshae) raised the priority of this task from to 90.
Bob Hall (rjshae) updated the task description. (Show Details)
Bob Hall (rjshae) edited a custom field.
Bob Hall (rjshae) added a comment.EditedJan 8 2014, 1:39 AM

Here's a much trimmed down copy of the .blend file that still reproduces the problem.

Brecht Van Lommel (brecht) lowered the priority of this task from 90 to 50.
Brecht Van Lommel (brecht) edited projects, added Modifiers; removed Platform: Windows.
Sergey Sharybin (sergey) changed the task status from Unknown Status to Unknown Status.Jan 13 2014, 12:46 PM

Root of the issue goes to the fact that it's not a closed manifold which isn't handled 100% properly by the Carve library (which we're using for boolean modifier). This messes up the topology which screwes up UV interpolation as well.

It is always recommended to avoid using boolean with non-manifold meshes for now. As for your current usage think projective knife cut will work just fine.

Thanks for the report, but for now it's not considered a bug.

Bob Hall (rjshae) added a comment.EditedJan 14 2014, 4:35 AM

Thanks for taking a look. Unfortunately the Knife Project doesn't produce a cut of suitable quality for the purpose I need. I'll have to try tearing that section of mesh into small pieces and applying the boolean sequentially.