- [Instructor] A Boolean compound object is a polygon mesh
that is composed of two or more other meshes.
Its purpose is to find the overlapping volume
and perform some operation on that volume,
for example, subtract one volume from another.
We'll use a Boolean compound object
to subtract these boxes from this courtyard wall.
If you're wondering what the word Boolean means,
it's named after George Boole,
who was a mathematician who developed symbolic logic.
In the previous movie, we converted the courtyard walls
to an editable poly because they're kind of a complex shape.
And that is the best practice with Booleans.
A complex object should probably be converted
to editable poly before it's used as a Boolean operand
or an object upon which the Boolean will operate.
These other objects here are boxes.
We don't really need to convert those
because they're so simple.
But remember that we do want to make sure
that we've got some overlapping volume that makes sense.
And in this case, these boxes
needed to go a little bit below the threshold
or below the bottom of the wall,
so we don't get any corrupt polygons at the threshold.
To create a Boolean, we'll select one of the operands.
And I want to actually select the walls,
and there's a reason for that,
which is the Boolean compound object
is going to swallow the first operand that we select.
So just to demonstrate, I'll select the walls
and go to the Create panel.
And in the Geometry subpanel,
we've got the pull-down list that reads Standard Primitives.
Click on that pull-down list and choose Compound Objects.
This is another entire category of geometry,
and these are objects made out of multiple objects.
And you'll see ProBoolean and Boolean.
Well, Boolean is actually the better one of the two.
It's the newer, more advanced one.
So as soon as you click on this word, this icon,
this button, Boolean, click on that,
immediately, the object is now converted.
It's no longer an editable poly.
It's now an object of the type Boolean.
And the original editable poly has been sort of imported in,
and it's actually been swallowed.
The original object doesn't exist in the scene anymore.
And now we're ready to add all the other Booleans.
We see that we have Boolean parameters here.
And we have the ability to now add operands.
There's a big button labeled Add Operands.
And we could do this now, or actually,
we could do it in the Modify panel.
We can add or remove operands from this list.
We also have the operand parameters up here,
which determine what exactly that particular operand
is going to do.
So right now, walls courtyard is selected,
and the union button is lit up,
meaning that the walls courtyard object is being added.
Its volume is being added to the end result of the Boolean.
And we can select a different operation.
Let's see what happens if we add an object
with a default union.
So I'll click on the Add Operands button
and then click on the first box here.
And that just happens to be Box001.
So maximize the perspective view with Alt + W,
take a look, that box has now changed color.
It's been imported into the current object.
So it's inheriting that color.
And it's listed here as Box001, but it's of the type Union.
And so it's adding the volume.
It's not subtracting.
So with that Box001 operand selected,
we can switch that over to subtract.
Now we've got a hole.
Okay, so that button is on.
Any subsequent objects that we add as operands
are going to be subtractions.
So we still have Add Operands highlighted.
We can just go around and select all these boxes.
It doesn't matter what order we select in.
It just so happens that I'm going in the same order
as the numbering.
And so they're going to be added here in this list
in the order that we select,
not in the alphabetical order of their names.
And I've got a few more over here in the north wall,
so I'll orbit around with Alt and middle mouse,
select those last three.
And there you go, we've subtracted some holes.
We can exit out of Add Operands.
Once we've done that,
now if we want to get access to those parameters,
with the Boolean object selected,
we'll want to go to the Modify panel.
Okay, so if we look at this closely, if we orbit around,
we'll see that there are some shading artifacts.
And that's as a result of the kind of poor structure
of the original walls courtyard object.
So let's investigate this.
Let's enable edged faces with F4
and then go over to the Display panel
and disable Edges Only.
Remember that polygons are composed of triangles.
And normally, we can't see the triangle edges,
but if we disable Edges Only,
we can see the interior triangle edges.
And we can see that we've got some really long,
skinny triangles.
And that's what's causing this weird shading artifact
that we see, especially when we look at the object
from certain angles.
The shading becomes kind of weird, and it looks really dark.
So that's because we've got kind of a problematic structure
to our original courtyard walls object.
In the following movies,
we'll see how to better prepare the Boolean operand
to avoid this issue.
But for now, I just want to go through the rest
of the Boolean workflow.
So I'll re-enable Edges Only, go back to the Modify panel.
And I want to show you
that you can actually change up all this stuff.
You can, for example, select one of these operands,
change its type, change its operation,
switch that back to Union.
And once again, we get adding instead of subtracting.
Or we can go back to Subtract.
Or we could actually manipulate the particular operand.
We could move it around.
And that's done by going into the Boolean subobject types.
Up at the top, we see the word Boolean.
Open that up and then click on the word Operands.
And then we can select an operand here in the list.
And if the Move tool is active,
then we can see the Move gizmo move around.
It's going to the pivot point of each one of those boxes.
If I click on one of those and maybe get in closer,
we can move that operand around, and we can see,
we can change where that hole is being cut.
I can undo that with Control + Z.
We can actually display that if we want.
We can go over to this Operand Parameters roll-out
and change the display to Operands.
And we see kind of a blue X-ray version of the box.
And that's a little bit easier to visualize.
But we can also just turn that off
by just displaying the result.
Additionally, we can adjust parameters
if it is a parametric object.
So I can go to the Box level of the stack here.
And look, we've actually got the parameters for the box,
so I can change, for example, the width.
And these are actually instances,
so that's why they're all changing.
All right, I'll undo that with Control + Z.
So that's pretty cool.
We have really a nondestructive workflow here for Booleans.
We can go back to the top level
and illustrate that you can remove Booleans.
So I can select something here in the list,
Box001, for example, and click on Remove Operands.
And now we no longer have a hole there.
And Box001, the one that I selected, is no longer listed.
And you may be wondering, well, what happened to it?
Well, it's still in the scene, actually.
It's always been in the scene.
Let's go to the Scene Explorer to investigate.
Click on Toggle Scene Explorer.
And here are all of our original boxes.
So this is the behavior of the Boolean compound object.
The very first operand that we selected was walls courtyard.
walls courtyard got converted to a Boolean object,
and it got completely swallowed by that Boolean object.
But every subsequent operand that you add
will not be swallowed into the Boolean object.
It will be instanced into the Boolean object.
So the original objects will still be in your scene.
They'll just be hidden.
So I can re-enable this.
I can re-enable Box001.
Now it's visible again.
And I can re-add it as an operand.
Click on Add Operands, click on the box,
and now it's listed here, and it's at the bottom now
'cause it was the last one added.
And we can see, in the Scene Explorer,
it's been hidden once again.
All right, so I can hide that Scene Explorer.
Okay, once we have the result that we want from our Boolean,
it is a good practice to convert to editable poly.
And if I were to do this really properly, yeah,
I would save to a new version first.
So in your own project,
you probably do want to save a version
of the Boolean in this state,
but then you also probably want to convert to editable poly.
So I'll exit out of Add Operands.
And with that object selected, right-click
and choose Convert To, Convert to Editable Poly.
That is the complete workflow for a Boolean.
And we're getting pretty mediocre results here, actually,
with this shading problem.
We're going to address that in the following movies.
We'll see how to prepare the Boolean operands
a little bit more precisely
in order to avoid some of those issues,
or at least mitigate the problems.