Complex UV Layout in Maya
Over the last couple of years UV layout in Maya has changed for the better. In this course we're going to be taking a look at some of those changes as we UV map an entire character
# 1 10-11-2005 , 10:28 AM
Subscriber
Join Date: Oct 2005
Posts: 37

Boolean Difference + Bevel = broken geometry!?

If I take a simple poly cube (no subs), then place a smaller poly cube half-way in one of its faces, then do a Boolean->Difference, I end up with a square recess in the larger cube, which is what I want. If I then do a Bevel on the entire object, the geometry get really screwed up with the front face missing, and where the hole was, I now have an intersection solid shape.

This is quick to try and completely repeatable.
If I subdivide the large cube first, bevel works as expected, but I don't want that.

This is nothing to do with the Bevel size/shape either as it happens with even the tiniest bevel.

Interestingly, if you just try to bevel the 4 edges of the face with the hole, the hole completely dissapears.

Is this a bug?... the geometry seems so simple I can't see where there could be a conflict?

Thanks

Steve

# 2 10-11-2005 , 02:44 PM
Registered User
Join Date: Sep 2002
Posts: 101
From my experience booleans are a very "Dirty" way of modeling. Booleans sometimes generate strange results and with the model that you are mentioning you can get the same results by just extruding a face scaling, and then extruding that face down into the box. After that when you do your boolean it will work properly.

# 3 11-11-2005 , 11:58 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17
Maya's Booleans are really strange...

You should read the complete Maya Online Help about Booleans, there are many tips...

I'm using them too - frequently and i think if you know how booleans work, you know why your geometry gets killed.

So... some tips:

Booleans are fully mathematical, so be prepared to loose geometry if you are modelling in too small dimensions... if my bools fail i scale both objects to 10x to try it in a larger dimension. this is caused by floating point operations. So if you try to bool to small areas, the position of vertices may float to 0 and your geometry is lost

dont bool unless you are moving and scaling in at least 0.1 steps because it leads to floats floating to 0.

but as said before... always try other moethods first - if you can do it without booleans, do it that way.


dirty trick:
if you need a boolean AND (addition) and cant do without it... try combine... ;-) but dont tell anyone

# 4 14-11-2005 , 07:53 AM
Subscriber
Join Date: Oct 2005
Posts: 37
Thanks for the advice guys. I guess you intuitively know what to avoid doing after a while, and the other methods of achieving the same result - in this case - are probably faster anyway.
However, having dabbled (emphasise 'dabbled' ! )with coding 3d engines in OpenGL, I still can't find any good reason why the problem should happen in this simple case. At a stretch, I could understand some normals getting flipped, but this just seems like a good ol' bug! (...but I'd love to find out what I'm probably missing.)


Still, who cares... superb software; I can't wait to get better at it, and this seems one of the friendliest, most clued-up forums I've seen :-).

Thanks

Steve

# 5 14-11-2005 , 08:14 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17
Like said before, this is not a bug...

It's mathematical uncorrectness...


I hope this gets better as soon Maya and 3DS merge...

# 6 14-11-2005 , 08:42 AM
Subscriber
Join Date: Oct 2005
Posts: 37
Thanks PKPHaLaNX.

"this is caused by floating point operations. So if you try to bool to small areas, the position of vertices may float to 0 and your geometry is lost"

OK, but so long as they're not integers, why are they floating anywhere?

"this is not a bug...

It's mathematical uncorrectness..."

Well put!

OK, I'm in danger of being a pedant now ;-) , but when floats (or doubles) floor to zero when you'd rather they didn't, this 'annomaly' is usually debugable and correctable.
I don't have 1% of the brain cells of the Maya guys, so I know I'm missing something... I'd just love to be able to understand the reasoning behind this.

# 7 14-11-2005 , 08:45 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17
Have no time testing... send me a sample scene to <baltzer@idevel.de>, where i just have to test the bool and i tell you the main reason, because there a about 100000 reasons why a bool could fail.


_________________________________
iQuestionary.de | idevel.de
Stephan Baltzer <baltzer@idevel.de>
_________________________________
# 8 14-11-2005 , 08:50 AM
Subscriber
Join Date: Oct 2005
Posts: 37
OK, thanks.

# 9 14-11-2005 , 10:24 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17

Got it!

Dude... you had a hole in the pocket ;-) (Good ol Beatle's joke)

I tried it... no way without triangulating ( Looks ugly, not nice to model )

But.... :attn:

Do you know Subdivisions on Polygon Objects?

Look at the screenshot. You need edges at the front after your bool - and you can't insert edges after the bool because of the "Cannot start up a hole"-issue

So... you have to raise the Subdivisions on your base object so the bool has some "food".

My english is bad today, i think the screenshot tells it all.

Attached Thumbnails

_________________________________
iQuestionary.de | idevel.de
Stephan Baltzer <baltzer@idevel.de>
_________________________________
# 10 14-11-2005 , 10:26 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17
After bool

Attached Thumbnails

_________________________________
iQuestionary.de | idevel.de
Stephan Baltzer <baltzer@idevel.de>
_________________________________
# 11 14-11-2005 , 10:27 AM
Registered User
Join Date: Oct 2004
Location: Germany, Cologne
Posts: 17
After Bevel...

Attached Thumbnails

_________________________________
iQuestionary.de | idevel.de
Stephan Baltzer <baltzer@idevel.de>
_________________________________
# 12 14-11-2005 , 11:04 AM
Subscriber
Join Date: Oct 2005
Posts: 37
"You need edges at the front after your bool - and you can't insert edges after the bool because of the "Cannot start up a hole"-issue"

Didn't know this issue! And sorry, I should have known from OpenGL that polys with holes (like the face after the boolean) are evil. ;-)

This actually answers a lot of questions I had on other modeling problems; assuming Maya will automatically create 'true' edges for me after certain operations is probably wrong. As a newbie I'd been avoiding sub-ing too much 'food' because of the extra detail I don't want.
(This also tripped me up with nurbs until I realised the need to insert isoparms to make some detailing work properly.)

Thanks
:bow:

Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads