Boolean Improvements

Hi. I’m Pavel Maksimov, FEFU student from Vladivostok, studying for Computer Science. And I’m interested in learning 3D Math. I would try to work with boolean modifier. I know C and Python well. I have an idea - current algorithm not so good, and making incorrect topology, and I have an idea how to make it better. It will be good to add function in modifier to make correct topology, for example, to make something like that:
For example, left has default topology after applying modifier, and right has better topology (but not the best):


Thanks.

12 Likes

Boolean Modifier’s topology has always been a headache to me and I would very much like to have this kind of improvement.
Is the topology on the right made by a new algorithm or simply by hand?

1 Like

Is this idea just about how the intersected face is triangulated/quadrangulated afterwards? (Though I notice the fairly radical idea here of extending the new cuts into adjacent faces – how far around the model do you intend to go with that?)

I am a dev working on improving the Boolean modifier right now. I would be open to seeing a strong GSoC proposal on improving the Boolean modifier and being the mentor for such a project. Be warned that the real problems with the modifier are much deeper than the topology of the intersected faces. I have doubts that a student could finish this project in the GSoC time frame but if you do a lot of research and present a believable proposal, maybe …

Feel free to send me a private message to discuss more.

1 Like

Oh, sorry, but I can’t find any button to make a private message.

I sent a message to you.

1 Like

The topology on the right is not objectively better, unless you specifically want to subd after the boolean.
But even in that case, the uneveness is not ideal either.
The increase in geometry will also likely just mean then user has more to fix, especially considering how far the topological changes go.

I’d like to see more and better examples.

8 Likes

I wanted to check to see if there are any news regarding the Boolean modifiers? I hope this doesn’t inconvienenced anyone. Anyone can share news or whatever in here. I haven’t heard any news since March 15.

I am actively working on a rewrite of the Boolean modifier. It won’t be ready for 2.81; perhaps for 2.82. I just started a newboolean branch, but it is pointless to try it out yet. Still a long way to go.

21 Likes

we’re all rooting for you howard, you’re the hero we don’t deserve :joy:

3 Likes

alright. Howard, when 2.82 come, I would love to test the new boolean modifier! :smiling_imp:

anyway, that’s the news I want to hear. so no worries. Take your time… 2.82 is a long way to get there.

1 Like

That’s great news @Howard_Trickey

An option to get a uniform quad based surface could be very welcome, right now, and with that I mean not just to respect the adjacent faces and try to get a quad based output, but to get and actual all quads surface with a given quad “size”.

For some things this could be quite useful.

1 Like

does it makes sense to collect the feedback from rightclickselect somewhere? there are 16 posts about booleans for example this one is pretty new:

1 Like

JuanGea - not sure exactly what you mean.
With code I’ve written, it would be pretty easy to have every face be “quadrangulated” meaning that they get divided into as-nice-as-possible looking quads and possibly some triangles. It would also not be hard to have that happen over the whole model (though one might better provide for that by just making a “quadrangulate” modifier/tool). But it sounds like you want more: first, maybe triangles are unacceptable? Second, since you say “a given quad ‘size’” maybe you intend that something like a grid fill is used, putting more internal vertices on faces to make a grid-like structure on each face where each cell of the grid has a given size? That sounds a lot harder, getting heavily into what a remesher would do.

Momotron2000 - I will look at all the rightclickselect feedback at some point, and see what I feel I can do right now. I think my current plans address most of the feedback I’ve seen on current Booleans. See https://developer.blender.org/T67744 for the design that I am executing on. Beyond what is being addressed with my current work, some future work that will come later is likely to be making enough hooks so that “bevel after boolean” can be made to work well.

6 Likes

Alright, thank you for the link! Good luck with the development!

1 Like

What I mean is to convert a “weird” geometry that comes from CAD software into a proper quad-built geometry, I don’t have an example of mine to show you right now because I don’t have the scene, but it’s something like that:

You can ignore the depth or not, but the idea is to have a clean surface, like if you do a shrink wrap of a quad-built plane over that terrain, from that point that surface is workable and won’t give weird render artifacts, while as a triangluated mesh like that is prone to problems.

Right not that can be more or less done with OpenVDB remesher if it has volume, but we loose hard edges, but it has no volume it’s impossible co properly convert, and the loss of hard edges with OpenVDB is a problem too.

BTW respecting the terrain guides is secondary as long as the actual hieght is correct, but it could be a plus to the idea.

JuanGea - I am assuming that is the “before” picture, and I am to imagine a nice grid-like topology after. If that is the case, I am not seeing the connection between this request and Boolean operations. This feels like a pure “make a remesh that preserves hard edges”, which while an interesting project, does not seem to be related to the project I’m working on right now with Booleans.

2 Likes

The connection relies in other software hahaha in 3dsmax one way to get this kind of result was to use the ProBoolean tool and set it to give back a quad mesh, it respected the boolean, for example the circle in a cube, and at the same time it does a full remesh of the output to quads, it was quite useful, here is an example:

But you may be right and it’s a different thing, just came to my mind because of the Pro Boolean thing.

2 Likes

Request to moderators: is it possible to rename a thread? If so, could this thread be renamed just “Boolean Improvements”, since that’s what it has turned into, and there never was a GSoC 2019 Boolean Modifiers project.

2 Likes

You might want to keep an eye on QuadRemesher, soon to be released as a Blender add-on.

3 Likes

Yep, it could be an awesome option, will see how it goes, I hope it does not need a volume to remesh :slight_smile:

2 Likes