Jump to content
Sign in to follow this  
hairyspin

Booleans and avoiding headaches

Recommended Posts

I threatened to post more on Booleans recently, so here goes... I’m making this a separate post so it can be found easily. Boolean operations can cause all sorts of grief when things are anything more than simple, so here are some methods for getting out of trouble.

 

This is just a rehash of tips by Mathias over at SOH: he’s a real Jedi Knight of modelling, I just hope to make Apprentice grade some day…

 

Simple Booleans might be like cutting the elevator out of the tail feathers:-

 

 

 

simplebool01.jpg

 

 

which leaves you with the elevator polys ready to Detach as an elevator object:-

 

 

simplebool02.jpg

 

 

 

A more complex cut might be cutting a tail feather into the fuselage:-

 

 

bool01.jpg

 

 

and you might think this would be simple, but in fact this one won’t work! The reason is the mesh isn’t closed. Hiding the fuselage and looking at the stabiliser from the other end shows why:-

 

 

bool02.jpg

 

 

The end that is to be cut into the fuselage is open – so create a poly to close it, like this:-

 

 

bool03.jpg

 

Now you can try the Boolean cut, and this time it succeeds (I’ve hidden the stabiliser):-

 

bool04.jpg

 

 

 

But this is still relatively simple, so here’s what happens in a real-life case. This is the cockpit of my current warbird project and I’m trying to cut the left-hand instrument panel, Box03, to fit neatly inside. I could cut it to just stick through the cockpit inner wall, but that would give mapping problems later, plus the overlapping poly problem would be impossible to hide in the VC.

 

bool05.jpg

 

 

Hiding all but the cockpit interior shell and the left-hand panel makes the problem easier to understand:-

 

bool06.jpg

 

 

A Boolean op here will cut two vertices on the panel and nothing else. Closing over the cockpit opening is likewise no help at all, the mesh is just too complex for gmax. We have to simplify the mesh to make the cut.

 

 

First, clone the cockpit interior shell and hide the original. I’ve named the clone shell01. Select all polys in Left View and make two slices, one each side of the panel:-

 

bool07.jpg

 

 

Since we're cloning the interior, with inward-facing polys, convert to Editable Mesh and Flip all the shell01 polys to make it easier to see what we're doing.Then delete all the polys except those immediately around the panel:-

 

bool08.jpg

 

 

This gives a much simpler mesh for gmax to deal with, but still accurate to the VC. Now we have to close the mesh.

 

In this case I have a poly at the bottom which can be usefully stretched by moving vertices. Without that I would select the bottom edge of shell01 in Editable Mesh and Shift+Move it to extrude a poly:-

 

bool09.jpg

 

 

The bottom poly is extended beyond the panel. The top poly has a bent edge so, in Editable Poly, select both these polys and slice them straight:-

 

bool10.jpg

 

 

Delete the two excess polys created by this slice. Now we can create a poly to close the end:-

 

bool11.jpg

 

 

Now close the two remaining open ends. If you wondered what use the poly sub-object Border is, here’s one. Select each border in turn and Cap them:-

 

bool12.jpg

 

 

like this:-

 

bool13.jpg

 

 

Go round to the other side, select the open border there and Cap that too:-

 

bool14.jpg

 

 

We now have a greatly simplified, closed object to cut the panel with, so full ahead with the Boolean:-

 

bool15.jpg

 

 

Box03 (the left-hand panel) is cut with shell01 (the simplified mesh) and a dialogue box asks if we want to inherit material from shell01 – this means the panel will adopt the colour of shell01 (amongst other things). No thank you, I’ll make material decisions later:-

 

bool16.jpg

 

 

Finally we can hide shell01 (or delete it) to show a successful operation:-

 

bool17.jpg

 

 

Select and delete the unwanted polys, close any edge gaps as required and the panel is ready to fit perfectly into the VC.

 

 

It may have occurred to you that I am recommending the Reference Boolean, Cut and Refine in all cases whereas there are more options. This is deliberate, because it leaves all of the cut object visible and the modeller can see whether the operation has been a success before deleting unwanted polys. As you gain confidence, you can try the other options.

 

And just to prove that nobody knows it all, BH has just posted another way around boolean problems:- http://forum.combata...ai-top-decking/

Share this post


Link to post
Share on other sites

Thanks for posting that! I have saved it to my folder on bits and pieces.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy, and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..