Jump to content

Windows, Using Boolean Operations.


Recommended Posts

Hello!

Apologies, I realize this is a little more in line with a general modelling question, rather than KSP specific - but I think this sub-forum is my best bet for those with similar experiences.

Basically, if I cut a cylinder out of a cone shape (to represent the window on a capsule), how do I 'connect the dots' or join the vertices to avoid visual artifacts?

Example 1 - Non-valid geomerty

5b8d3e34ba.png

This is would be auto-tessellated by Unity anyway, but produces this artifacts (Sorry they are faint!):

e7200999dd.jpg

Example 2 - Triangulated faces

d028508467.png

So this is fine, allowable, geometry, but still produces visual artifacts.

ca707ee7d5.jpg

Similar problems found on Vostok windows from some angles, but not as severe.

a7fcb0234f.jpg

Any advice?

Thanks!

Edited by Beale
Link to comment
Share on other sites

Add another horizontal loop in the center before you apply boolean. Reduce the boolean operands segements to 8. Connect the 4 corner verts to the closest edge making it all quads.

like this32lbhgW.png

just without the inner inset loop (not nessecary for lowpoly, also ignore the subdivision going on there). Most important thing to avoid artifacts here is to not try to cut a too segemented(dense) piece into a piece without enough segements to define the curvature. Basically you would need more segements on the big cylinder to hold its curvature if you boolean in a high density operand. Hope this makes sense.

the picture above is the best case scenario. But you can get away with more operand segements if you terminate the polygons well(not so many in one place, and avoid terminating on the vertical between two curving polygons) and/or increase the big cylinder segements enough so that you have the operand going through 3/4 segements instead of just 2. The horizontal loops can be terminated into tris just after passing into a planar segement.

Edited by landeTLS
Link to comment
Share on other sites

Add another horizontal loop in the center before you apply boolean. Reduce the boolean operands segements to 8. Connect the 4 corner verts to the closest edge making it all quads.

like thishttp://i.imgur.com/32lbhgW.png

just without the inner inset loop (not nessecary for lowpoly, also ignore the subdivision going on there). Most important thing to avoid artifacts here is to not try to cut a too segemented(dense) piece into a piece without enough segements to define the curvature. Basically you would need more segements on the big cylinder to hold its curvature if you boolean in a high density operand. Hope this makes sense.

the picture above is the best case scenario. But you can get away with more operand segements if you terminate the polygons well(not so many in one place) and/or increase the big cylinder segements enough so that you have the operand going through 3 segements instead of just 2. The horizontal loops can be terminated into tris just after passing into a planar segement.

Thanks!

I won't lie, some of this terminology escapes me (but, that's what the web is for!), though I am understanding roughly what you suggest.

I'll try to replicate! :)

Link to comment
Share on other sites

Thanks!

I won't lie, some of this terminology escapes me (but, that's what the web is for!), though I am understanding roughly what you suggest.

I'll try to replicate! :)

Which of the terminologies are you unsure about?

An Operand means the object you use to boolean into your main object.

English isnt my primary language so my explanations can get a bit exessive. Sorry about that.

Link to comment
Share on other sites

Which of the terminologies are you unsure about?

An Operand means the object you use to boolean into your main object.

English isnt my primary language so my explanations can get a bit exessive. Sorry about that.

We are in the same boat! But, your English seems perfect to me :)

Mainly I don't quite understand "horizontal loop"? (Same as "edge loop"? That's what I've found in google).

Sorry to bother this, I'm very newbie and self taught in 3D modelling.

Edited by Beale
Link to comment
Share on other sites

I can't speak to the actual question, but I can say: AFAIK there's no reason to use booleans, since you don't need a solid mesh for KSP, just a mesh. Booleans are expensive in polies because they keep meshes solid (no open edges, convex hull, whatever term you want).

Link to comment
Share on other sites

I can't speak to the actual question, but I can say: AFAIK there's no reason to use booleans, since you don't need a solid mesh for KSP, just a mesh. Booleans are expensive in polies because they keep meshes solid (no open edges, convex hull, whatever term you want).

It's a fair point, in the past I've done windows like so, non-boolean:

fded065924.jpg

Trouble is, you cannot do the "inset" windows without boolean operations no?

Thanks :)

Link to comment
Share on other sites

Yes and no. Boolean ops make some insets easier but you can do them without booleans. Except the resulting geometry is the same so its mainly a workflow preference. The other option is to use a normalmap baked from a high poly, generated from a grayscale image or via ndo/crazybump etc. for small details it can look just as good. Detached pieces(like in the pic/what nathankell suggested) do not allow concave geometry. except if you cover the detached piece over the base geometry and delete the covered polygons. That usually requires some design considerations in advance since the piece will need to be bigger.

About horizontal loops. Yes. What i meant are ordinary edge loops that are going horizontally on your model. For lowpoly, if they are not used for holding a curve they can be terminated immediatly after passing to a flat polygon. You have much more leeway with lowpoly topology than highpoly but some of the same principals apply because of the smooth shading.

edit:

i thought id demonstrate, as pictures speak a million words.

lXSYQbE.png

this is how i would do it for lowpoly. crude screenie from 3dsmax. i made two, one with a 12 sided inset, the other one 16 sided(8 sided looked a bit too segemented). the ones below are the same but without wireframe. as you can see i had to slide out the outer loops a bit to avoid artifacts where the verts got too close, but this should be achievable in most sw.

here im using the workaround with terminating the polygons in such a way that they do not cause artifacts. Even tho these are kindof high density insets. The center horizontal loop is very important for insetting circles.

Btw beale im very impressed by your work, especcialy the AB launchers models. your texturing is way better than anything i can do so you are well om your way in regards to modeling id say.

Edited by landeTLS
Link to comment
Share on other sites

Yes and no. Boolean ops make some insets easier but you can do them without booleans. Except the resulting geometry is the same so its mainly a workflow preference. The other option is to use a normalmap baked from a high poly, generated from a grayscale image or via ndo/crazybump etc. for small details it can look just as good. Detached pieces(like in the pic/what nathankell suggested) do not allow concave geometry. except if you cover the detached piece over the base geometry and delete the covered polygons. That usually requires some design considerations in advance since the piece will need to be bigger.

About horizontal loops. Yes. What i meant are ordinary edge loops that are going horizontally on your model. For lowpoly, if they are not used for holding a curve they can be terminated immediatly after passing to a flat polygon. You have much more leeway with lowpoly topology than highpoly but some of the same principals apply because of the smooth shading.

edit:

i thought id demonstrate, as pictures speak a million words.

http://i.imgur.com/lXSYQbE.png

this is how i would do it for lowpoly. crude screenie from 3dsmax. i made two, one with a 12 sided inset, the other one 16 sided(8 sided looked a bit too segemented). the ones below are the same but without wireframe. as you can see i had to slide out the outer loops a bit to avoid artifacts where the verts got too close, but this should be achievable in most sw.

here im using the workaround with terminating the polygons in such a way that they do not cause artifacts. Even tho these are kindof high density insets. The center horizontal loop is very important for insetting circles.

Btw beale im very impressed by your work, especcialy the AB launchers models. your texturing is way better than anything i can do so you are well om your way in regards to modeling id say.

I wish this forum was more liberal with handing out reputation!

That makes it a million times easier to understand how those technique works, thank you so much LandeTLS!

I'll absolutely try this method and report results.

On AB launchers, thank you! That's really nice to hear this, glad you enjoy the work :)

cb9bbaca8c.jpg

Edited by Beale
Link to comment
Share on other sites

I keep referring to this thread from time to time, very helpful for any kind of game modeling.

http://www.polycount.com/forum/showthread.php?t=56014&page=222

Thanks :)

My only confusion, some of the edges are not straight? What is that, subdivision?

f9cf3fd99c.jpg

I have taken a small second attempt, but think it is still incorrect quite a lot.

4e3e41d783.png

But, much less artifacts!

ec2a8a3440.jpg

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...