What's with the new boolean modifier materials behavior?

So, every since I started using Blender, I have expected that when I cut into a target object with another object using a boolean modifier, it would not effect the target object material properties. Now, for some reason, the cutout portion of the target object now has all the material properties of the boolean cutter. What is going on?

I know if I explicitly want that behavior, all I need to do is add the proper slot materials to the target object. This gives me the EXACT control I want.

Why has that all changed since Blender 3.2? It worked all the way up to Blender 3.1. Why the huge change and was there any discussion? If there was, I can’t find it. Here’s the issue-- it’s a huge backward step for our workflow. Check out this video to see what I’m talking about.

This has to be a bug, as I can’t find it in any of the release notes anywhere.

actually this current behaviour saved our team tons of time in the past. If you want the old behaviour you have to make a new Material Slot on the BooledObject and asign the base Material on the second slot again. I understand that this is a bit tedious in your situation, but but I would strongly advocate to keep the new behavior

I’m not sure I understand your point. Maybe you should read my post over again as I think we’re both saying the same thing. This is a brand new material behavior so I’m not sure how could it save you guys in the past. The old and consistent way of adding the cutters material was to create a new slot on the target object and add the cutters material to that slot. I preferred it that way and am not sure why it changed. I think it’s probably a bug.

It has been confirmed as a bug. Unfortunately, no one has been assigned to fix it yet. The bug was first noticed on July 10th.

https://developer.blender.org/T99592

So to clarify this worked min since 3.1 and this is the use case: Procedually assign a material to the booled area, even across multiple objects.
Why this should be a bug?
If you consider this a bug, how you would achive such things in your old version? Apply the modifier and manually select and assign a material in the booled areas?

and even this bug report complains about another behaviour, it complains that the behaviour of Fast/Exaxt mode differs, that Fast doesnt assign the material and exact does. But you complaining in gereral about this procedually material transfer behaviour?

I don’t know how much you know about how Blender actually works. But this video should explain how it’s supposed to work.

I see you have seen the fast vs exact-- so now you know it is a bug.

in my opinion the questin should be, what should be the default behaviour.

In newer versions the material gets copied directly, without the need of assigning the corresponding material from the Boolean to new slots. This saves time when you want the material transfer

in older versions you have to manually assign the material

The downside, if you just want to keep the base material in newer versions you have to do something like this

So again in my opinion its not a BUG, its a design decision which behaviour should be the default one to save time.
And btw I like your insulting discussion style

The old behaviour was to add a material slot and assign a material.
It was slow.

With new behaviour when modifier is applied, material assignment is automatically created.
That is great if you want different materials dependant of operands.

We could expect that a cutter object with no material assigned to it, would leave object with boolean modifier with only material from first slot. But that is not what is happening. It is assigning default material to an undesired second material slot.
That sucks if only you want to modify geometry. User is still forced to manipulate material properties or to use an undesired solver.
That is undoubtedly a bug.

The role of choice of solver is a preference for precision of geometry change versus performance.
It does not have to handle the look of the result.
There should be separated settings for different purposes.

in my 3.3 this is exactly what is happening when the Bool has no material

Well. I don’t have same result under linux with 3.3.
And it looks like I have more bugs with 3.4 alpha.
Sometimes, multiple material indices are respected.
Sometimes, only 2.

You’re using solver “Fast” not “Exact” and that’s why you get the right result. Change the solver to “Exact” and you will get the material from the cutter. It’s a bug. I just reproduced it is 3.3. Flick the solver and you will see.

thats right, also mentioned above that this part is a Bug, but as I understood the whole point of the topic was that the author was complaining about the general new material transfer behaviour of a boolean

Why change it when it’s been like that since the very beginning? And for most people, the purpose of boolean modeling is to change the target object, not to add materials to it. It should stay as it has been for the last 10+ years.

1 Like

Created a free addon to fix: Blender 3.2 and 3.3 Bool Bug - YouTube

when the bug will be fixed, then you just need to not assign a material to the boolean and there will be no material transfer. And if you want the transfer you can have him faster that in the last 10 year.
Things that have always been this way do not necessarily have to be better

It looks like issue is a repercussion, relative to modifications of boolean node or material nodes, in geometry nodes.

1 Like

Another problem, consider you have two objects and you want to drill a coincident hole through both of them. The first object is a piece of wood and the second object is a piece of red plastic. Currently in 3.3 there is no way to do that and use a single cutter object and keep the original materials intact. This was easy in versions before 3.3.

Not to mention the issue with Geometry Nodes