Page MenuHome

Boolean modifier breaks colour/uv attribute in shader
Closed, DuplicatePublic

Description

System Information
Operating system: Windows 10
Graphics card: RTX 2080

Blender Version
Broken: 2.80 beta (2019-01-12, 2826c2be545e)

Short description of error
Applying a boolean modifier to an object causes the colour attribute to become black when the object is in object mode. When the object is in edit mode, the colour is shown appropriately.

Exact steps for others to reproduce the error
Load the default start-up file.
Set the display mode to workbench.
Copy the default cube and move it so it partially overlaps the first cube.
Add a boolean modifier to the first cube with the second cube as boolean object.
Add a vertex colour to the first cube.
Set the colour to be red on the whole cube.
Add a material to the first cube that takes the colour attribute and passes it to an emission shader.
Note that in edit mode the cube displays red as expected. However, in object mode the cube displays black instead of red.
Note that disabling the boolean modifier will cause the cube to be displayed red as well.

Details

Type
Bug

Event Timeline

I can't reproduce it here. It seems to work correctly, taking the correct vertex colors from the boolean object, which works correctly in materials too.

Philipp Oeser (lichtwerk) closed this task as Invalid.
Philipp Oeser (lichtwerk) claimed this task.

yeah, you need to have VCols on both objects [both objects have the same material], otherwise these wont transfer over. Like so:

Dont see a bug here, closing...

@William Reynish (billreynish), does the file he uploaded work for you? I only see black when setting it to rendered view. When I disable the boolean modifier, it works as expected.

[EDIT] @Philipp Oeser (lichtwerk), ah that makes sense. Thanks for the explanation.

Thank you for the quick explanation, Philipp.

Philipp Oeser (lichtwerk) reopened this task as Open.
Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

will reopen, just talked to @Campbell Barton (campbellbarton) on IRC and it seems it should not loose custom data layers (when they exist on one object but not the other...)

It also breaks uv channels > 0,
Add 2 uvs chanels, 2nd one is black with modifier enabled.