How The F*#% Do I Model This? - Reply for help with specific shapes - (Post attempt before asking)

Replies

  • NoRank
    Offline / Send Message
    NoRank triangle
    But to get rid of those stray vertices is something really fast, 2 or 3 clicks and they're all gone. It could be faster with a script thought, something like 1 click.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    NoRank said:
    But to get rid of those stray vertices is something really fast, 2 or 3 clicks and they're all gone. It could be faster with a script thought, something like 1 click.
    Yes, I use a vert cleaner script like that myself. But, I'm also wondering about verts that may need to be welded/collapsed if the chamfer width changes. Or edgeloops/creasing added if sub-d is required.
  • perna
    Offline / Send Message
    perna quad damage
    @perna so there wasn't a single stray vert from the boolean operation? Unusual in this type of intersection. Scaling the spheroid to allow a larger/smaller chamfer is definitely going to result in strays or verts that need to be collapsed/welded. Also, if changes down the road meant maybe one of the chamfers needed to be wider then the perfect curve would need to be manually tweaked.

    I completely understand that it seems that way intuitively, but there are two proper ways to alter the chamfer widths:

    • uniform scale of boolean result
    • post-boolean slice point per axis

    ...both of which allow the initial clean boolean to remain intact, so there are no issues introduced.

    It's important to understand how booleans are formed and how to prevent or solve unwanted results. I see a lot of people refer to random/messy/stray results with booleans, but that's not the case - they're completely predictable.

    This below zip archive contains two .max files; one using QuadChamfer with any version of max, the other using max2018. The shape is completed parametrically, with a clean, simple stack (there's not even a weld modifier). To change chamfer widths, select one of the wireframe boxes and alter the push amount. For non-uniform chamfers, do away with the push modifier and just edit the base dimensions.
    https://www.dropbox.com/s/juerivgvqjbz8i9/Per128_RoundedCorner.zip?dl=0

    Results with various push settings:


  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    @perna thanks mate. I'll definitely check out the file tomorrow. Just need to get the pesky need to sleep out of the way first.....
  • perna
    Offline / Send Message
    perna quad damage
    I'm not arguing that doing it by hand or 'eyeballing' is better in any way. I'm just surprised that you had zero stray verts. Personally, when I'm modeling, a lot of the time I'm plowing through the work, trying to get piece after piece done within a certain time. I'm not saying I'm sloppy as I'm rather ocd but by 'eyeballing' I mean trying not to obsess or spend too much time noodling or tweaking things that won't really be noticed for the asset purposes. I've learned over the years that I've wasted far too much time on small things that don't matter all that much in the end. I'm not using what we're talking about here as an example as I'm finding it interesting, I'm speaking generally.
    Totally agree with you, picky "perfectionist" modeling tends to be an excuse for procrastination, fear of moving on, or is often simply not worth it as the results won't be noticed anyway.

    I just tend to start with the assumption that nothing discussed in this thread will end up being a tiny insignificant detail as for those you can get away with pretty much anything. 

    So, speaking of medium-sized details, I avoid manually modeling a curve which consists of anything more than two or three uniformly sized quads. It's just too difficult and/or finicky to get right, and not parametric. Smooth, clean, sexy curves are so important for hard surface. Slightly nudge a single vertex and the shape falls apart. Even the max file I linked to above isn't good enough for a large, highly reflective shape. Narrow the specular highlight and rotate around the shape - the shading looks far from perfect although the curvature is very good.

    Well, there's all that but also that in this case, avoiding the manual edits is also faster, when done right.
  • NoRank
    Offline / Send Message
    NoRank triangle
    Interesting way of doing this, so you have two probooleans and one is for controlling the chamfer width.

    And now that I saw, turn to poly has one option to remove the mid edge vertices, quite a rookie mistake of mine not to read those options in this modifier.
  • somedoggy
    Online / Send Message
    somedoggy greentooth
    Are you telling me I've been manually cleaning stray boolean verts forever, when Max has the feature built in?

    For fucks sake, the things you can find out about a program you've used for a decade. Thanks perna!
  • wirrexx
    Offline / Send Message
    wirrexx greentooth
    so last attempt, did this before work, so 10 min of work (probably 2 min of clean up, mostly target welding vertex). 
    Not even close to correct scale but it was nice for a change of working with my current scene. 
  • PetSto
    Offline / Send Message
    PetSto polycounter lvl 4
    Thank you guys for all solutions that you posted here. Can you send me step by step guide, that will help me a lot, because as I see all of you work in 3ds Max and I am Maya user. Thank you for your time to spend to find right solution for this problem.
  • Neox
    Offline / Send Message
    Neox ngon master


    here is your step by step guide :o 
  • goodmelody491
    [deleted message]
  • PetSto
    Offline / Send Message
    PetSto polycounter lvl 4
    Neox said:


    here is your step by step guide :o 
    This is not exactly what I need. All 3 beveled corners has same width and I need something as was posted Wirrexx:, where front side beveled corner has width 3 times bigger as is on image.

  • perna
    Offline / Send Message
    perna quad damage
    @PetSto, with all respect, you have been given exhaustive help from a whole group of contributors. Your recent ask has been solidly covered, just in text rather than images. Do yourself a favor and apply yourself and don't expect to be spoonfed every piece of information. That's a "tutorial" mentality which I guarantee will stop you from ever developing if you keep it up. Believe in yourself, man, have some pride.
  • ashu
    Offline / Send Message
    ashu polycounter lvl 2
    good job buddy
  • wirrexx
    Offline / Send Message
    wirrexx greentooth
    PetSto said:
    Neox said:


    here is your step by step guide :o 
    This is not exactly what I need. All 3 beveled corners has same width and I need something as was posted Wirrexx:, where front side beveled corner has width 3 times bigger as is on image.

    Used Pernas technique on my version, but instead of cutting the edge at the same plase on all three corners, i cut the "fat" one a little bit earlier. But exaaaaaaaaaaactly the same technique as Pernish was showing on his mini tut. 
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    perna said:

    speaking of medium-sized details, I avoid manually modeling a curve which consists of anything more than two or three uniformly sized quads. It's just too difficult and/or finicky to get right, and not parametric. Smooth, clean, sexy curves are so important for hard surface. Slightly nudge a single vertex and the shape falls apart. Even the max file I linked to above isn't good enough for a large, highly reflective shape. Narrow the specular highlight and rotate around the shape - the shading looks far from perfect although the curvature is very good.


    @perna Yes, highly reflective sub-D surfaces have always suffered these problems. In the automotive vis/vfx industry there are still those who prefer NURBS surfaces for those reasons or dedicated post-prod, touch-up artists whose sole job might be to paint out those reflection imperfections on non-NURBS modeled assets.

    Although in vfx/game asset authoring the asset will most likely(in a lot of cases) have a dulled/dirty/worn/rough finish to the shader and those reflection issues can certainly be unnoticeable.

    Had a look at your file. Thanks for sharing. Clever set up. :) Just wondering, on your set up the chamfer widths can be procedurally widened/narrowed but, this will affect the perfection of that curve and as you quite rightly said, that one vert can throw the whole curve off. Or maybe I missed something in your file. Secondly, out of curiosity, any reason that you use Meshsmooth over Opensubdiv?

    @petsto if you still have to ask that after all these posts then that is indeed a sorry state of affairs for your modeling progression. This thread is a wealth of tips/tricks/advice, and great examples of little problems/puzzles for you to solve. Looking for 'click this, cick that' hand-holding is a waste of time if you really want to get better and get your brain activated. You should be able to look at any of the examples posted and recreate them by putting the time into solving/reverse engineering it yourself. Even if it takes you a week to figure out how to model the example above it's time much better spent than 30min of being walked through the solution without really having to activate your brain.
  • NoRank
    Offline / Send Message
    NoRank triangle
    As we are talking about booleans, is there any good way of reducing the amount of manual work of setting control loops?

    I mean, you can have way less manual work (or none) with marius' quad chamfer script, but what do you do if you don't have it? Max quad chamfer can sometimes help, but most of the times I have to manually correct the control loops that the modifier made.

    I've read here on polycount something about using one refference mesh with a push modifier with the "intersection" option on in the probooleans modifier, yet when you do that it actually converts all your operands to intersection as well, so I guess this doesn't work.

    Not trying to be lazy, just trying to see if I've overlooked some max functionality that does a good job on this kind of stuff. What I normally do is plan my topology before doing the booleans stuff so it will already have those support loops or it will be easier to set them, but that does involve quite a good amount of manual work.
  • perna
    Offline / Send Message
    perna quad damage
    @perna Yes, highly reflective sub-D surfaces have always suffered these problems. In the automotive vis/vfx industry there are still those who prefer NURBS surfaces for those reasons or dedicated post-prod, touch-up artists whose sole job might be to paint out those reflection imperfections on non-NURBS modeled assets.

    Although in vfx/game asset authoring the asset will most likely(in a lot of cases) have a dulled/dirty/worn/rough finish to the shader and those reflection issues can certainly be unnoticeable.


    In some cases we don't need accuracy, but in others we do.

    Several contributions to this topic would look bad no matter how matt and dirty the material would be. Also: Shape. Ignore the shading and just look at the below silhouette. It's clean, accurate, sexy. So it's not just about highly reflective materials.



    Had a look at your file. Thanks for sharing. Clever set up. :) Just wondering, on your set up the chamfer widths can be procedurally widened/narrowed but, this will affect the perfection of that curve and as you quite rightly said, that one vert can throw the whole curve off. Or maybe I missed something in your file.
    Often people whese huge paragraphs of text to describe something where a screenshot would suffice and I have to wonder whether this is a 3D art forum or one for technical writing. Sorry, just a mini-rant aimed at the forums in general and not you. But in truth that text tells me nothing, would be much better with an image of these problems you talk of. Imgur is awesome in that it allows you to CTRL+V whatever you have on clipboard directly into an album, and it uploads fast. Very convenient.


    I just made some quick edits to that file (following my earlier instructions) and I don't believe I'm getting any of the issues you talk of (even though some cringeworthy decisions were made in the hurry):



    Secondly, out of curiosity, any reason that you use Meshsmooth over Opensubdiv?

    I'm usually asked why meshsmooth over turbosmooth, and the answer is the former collapses to epoly, not emesh. But really it's just an old habit and I pretty much never run into cases where I need the extra speed of turbosmooth. There are test scenes here with 99M tris which run perfectly smooth. Let's flip the question around: Why do you prefer OpenSubDiv? In my experience it has been very buggy and unreliable.
  • perna
    Offline / Send Message
    perna quad damage
    NoRank said:
    As we are talking about booleans, is there any good way of reducing the amount of manual work of setting control loops?

    I mean, you can have way less manual work (or none) with marius' quad chamfer script, but what do you do if you don't have it? Max quad chamfer can sometimes help, but most of the times I have to manually correct the control loops that the modifier made.

    I've read here on polycount something about using one refference mesh with a push modifier with the "intersection" option on in the probooleans modifier, yet when you do that it actually converts all your operands to intersection as well, so I guess this doesn't work.

    Not trying to be lazy, just trying to see if I've overlooked some max functionality that does a good job on this kind of stuff. What I normally do is plan my topology before doing the booleans stuff so it will already have those support loops or it will be easier to set them, but that does involve quite a good amount of manual work.
    @NoRank : You need to be using 2018 to get good chamfer out of max. And if you can't use that version, just buy QuadChamfer. It's extremely cheap considering the enormous amounts of hours it saves you. I never manually correct results from either of them.

    As for the boolean trick. I haven't done this is in years, so I'm sure there are better ways:

    https://www.dropbox.com/s/zwjhymqsma9zif8/boolean with automatic control loops.max?dl=0

    If you enable "Keep Polygons Convex" it will do some of the manual cleanup work for you. It just didn't look good for the video. The max file includes a little trick for making control loops of the kind seen on the right here:




  • somedoggy
    Online / Send Message
    somedoggy greentooth
    When you say it collapses to epoly and not emesh, could you elaborate on the impact that has for you, if any? Does it affect your workflow to use collapse to versus convert to? 

    The only edge case I can see off the top of my head is if you had modifiers above turbosmooth and wanted to collapse it. In that case I would simply cut the relevant modifiers, convert to poly, and paste them back on.

    On the OpenSubdiv note I have found one single shape as of late that was easier for me to do with it (before I got glorious quadchamfer):


    That said I have all but abandoned OSD as resetting edge weights every time you make a change gets tiresome. Now if there was a tool somewhere between QC and OSD, where you can set absolute chamfer widths QC style, but do it all in one go like OSD, I'd have a hot dollar for that.
  • perna
    Offline / Send Message
    perna quad damage
    somedoggy said:
    When you say it collapses to epoly and not emesh, could you elaborate on the impact that has for you, if any? Does it affect your workflow to use collapse to versus convert to? 

    The only edge case I can see off the top of my head is if you had modifiers above turbosmooth and wanted to collapse it. In that case I would simply cut the relevant modifiers, convert to poly, and paste them back on.

    My workflow uses neither collapse to nor convert to. I have all custom code for stack, including a "virtual stack" which lets me operate on several modifiers simultaneously, and so on.

    But let's take the case of the traditional workflow:

    Your proposal:

    • collapse ("close") any expanded modifiers above turbosmooth by clicking the tiny icons (otherwise copying the modifier in max is not possible) - between 0 and several clicks
    • copy the modifiers - at least 4 clicks
    • convert to epoly - 2 clicks
    • paste modifiers - 2 click
    Total: on average more than 8 clicks, including snipes


    My old way of working:
    • collapse-to on the meshsmooth modifier - 2 non-snipe clicks
    Total: Never more than 2 clicks


    I mean...

  • somedoggy
    Online / Send Message
    somedoggy greentooth
    I'd be quite interested in learning more about this virtual stack, if it's something available to get. I have seen similar addons from studios but don't have anything for personal use.

    Fair point on the click counts. I tested and it is a good bit faster. Cheers!

    Perhaps I should, but generally speaking I've never worried too much over counting button presses, learning/customizing tons of hotkeys, or highly customizing my programs. I've just gotten quite fast with what's there and find the mouse to be much more comfortable on my hands. Core editable poly tools and such I'll usually do with hotkeys but that's about the extent of it.
  • perna
    Offline / Send Message
    perna quad damage
    somedoggy said:
    I'd be quite interested in learning more about this virtual stack, if it's something available to get. I have seen similar addons from studios but don't have anything for personal use.

    Fair point on the click counts. I tested and it is a good bit faster. Cheers!

    Perhaps I should, but generally speaking I've never worried too much over counting button presses, learning/customizing tons of hotkeys, or highly customizing my programs. I've just gotten quite fast with what's there and find the mouse to be much more comfortable on my hands. Core editable poly tools and such I'll usually do with hotkeys but that's about the extent of it.
    Something simple you could script for yourself which would help a lot would be shortcuts for stack manipulation:
    move up / down / top / bottom (hold shift to select)
    copy current or selected modifier / paste
    delete current or selected modifier
    collapse-to. If current modifier is base modifier, collapse-all. (same as hitting top modifier, collapse-to, no need for a separate collapse-all shortcut)

    Well, efficiency is relative. When you first happen to sit next to someone who uses shortcuts and customizations like a pro, who sounds like he's writing a novel while modeling... either having that experience or imagining it is going to change your mind. When you can execute an action the instant the thought pops up in your head it's amazing what it does for your flow and staying in the creative mode.

    When I see people snipe as part of their workflow I feel queasy. I threw up once, and fell down the stairs. Onto a cat. But it was an ugly cat.

    When you say the mouse is more comfortable for your hands - people cling to bad habits exactly exactly because they're comfortable. They're still bad habits.
  • somedoggy
    Online / Send Message
    somedoggy greentooth
    Great notes! It's been like a decade since I've touched maxscript but I'll give it a go :)

    Unfortunately I'm the only artist at my company right now (and was the best when there were others), so my daily access to that sort of talent is eh... limited at the moment. And boy do I have horror stories to tell over a beer. My current work is endless, mindless CAD to low poly and it's slowly killing me. It's time to move on up.

    Poor cat.
  • Filip5
    Offline / Send Message
    Filip5 polycounter lvl 4
    Hey guys, I wonder if there is another way of modeling this. Right now there are also inner faces on those sides, but I wonder if I could make topology better. Its a bit of a tricky part for me.


  • somedoggy
    Online / Send Message
    somedoggy greentooth
    Could you share a reference so we know what your end goal is?
  • Filip5
    Offline / Send Message
    Filip5 polycounter lvl 4
    Sure, its the tower on the right top side. This is about the best image I could get for that part, hopefully its sufficient.
    http://static.panoramio.com/photos/original/10881821.jpg

    Posting link so you can enlarger the image if needed.
  • wirrexx
    Offline / Send Message
    wirrexx greentooth
    Filip5 said:
    Sure, its the tower on the right top side. This is about the best image I could get for that part, hopefully its sufficient.
    http://static.panoramio.com/photos/original/10881821.jpg

    Posting link so you can enlarger the image if needed.
    split it up, if that's the building and roof. Roof are made of one part (and even that is split up in many) . Honestly i have no idea what part you are trying to model.... 
  • somedoggy
    Online / Send Message
    somedoggy greentooth
    Oh hey I guessed correctly! Castle facade.

    If you don't have other references, get them. I can tell from this image though that it's definitely made of many different parts. Model it how it is actually built in real life, brick by brick with shingles and trims and all. Not as one solid piece. The low poly will look similar to what you have now.
  • mobpapst
    Offline / Send Message
    mobpapst polycounter lvl 4
    Hey guys,

    how can i model the best these little square details on this nearly round shape?:




  • perna
    Offline / Send Message
    perna quad damage
    @mobpapst, no, follow the rules. This is not a thread gor getting people to do the work for you.

    @Filip5 , your question is much too vague. Can't tell what it is you want.

  • wirrexx
    Offline / Send Message
    wirrexx greentooth
    mobpapst said:
    Hey guys,

    how can i model the best these little square details on this nearly round shape?:



    Show us how far you've got. 
  • mobpapst
    Offline / Send Message
    mobpapst polycounter lvl 4
    My problem is how to get the front face all in quads of the same size to get no curved details at the coners. thats all i need to know
  • somedoggy
    Online / Send Message
    somedoggy greentooth
    use photoshop or substance or quixel and call it a day

    displacement map it if you ~really~ need the geo
  • mobpapst
    Offline / Send Message
    mobpapst polycounter lvl 4
  • final_fight
    Offline / Send Message
    final_fight polycounter lvl 5
    Take some plane with like 16 x 16 segments then boolean intersection (proboolean in Max with Imprint on) with cylinder, delete polys you dont need.


  • mobpapst
    Offline / Send Message
    mobpapst polycounter lvl 4
    cool this looks quite close. thanks i will test it
  • NoRank
    Offline / Send Message
    NoRank triangle
    @perna thanks a lot for the file, surely nice to see how this works. Again, never thought of using two probooleans, and using a refference and one instance for controlling the operands. Really nice trick haha. I still don't know if this wouldn't get "chaotic" as soon as the operands increase in number but that's something nice to try.

    The one on the right is "easier" but I guess I would have to extrude the shapes after doing those operations...

    Didn't know that they updated max quadchamfer on 2018. I was actually avoiding 2018 because people were oftenly saying that it was buggy (even thought I actually heard that they focused on fixing 2017's bugs). I will give it a try at home.

    Thanks for the info. 
  • Kosai106
    Offline / Send Message
    Kosai106 polycounter lvl 9
    mobpapst said:
    Hey guys,

    how can i model the best these little square details on this nearly round shape?:




    Use floating geometry.
  • Psychotic_Mike
    Offline / Send Message
    Psychotic_Mike polycounter lvl 7
    Kosai106 said:
    mobpapst said:
    Hey guys,

    how can i model the best these little square details on this nearly round shape?:




    Use floating geometry.

    hope it helps

  • Filip5
    Offline / Send Message
    Filip5 polycounter lvl 4

    @perna

    I am asking about the part that I have shown to you. That castle wall thing with 8 segments. Right now, enclosing the sides of them creates a lot faces which are not visible on model. However, adding loops just complicates the model too much. Therefore I asked if there is another way or how would you model it...
  • perna
    Offline / Send Message
    perna quad damage
    @Filip5 , I don't know whether you're making hipoly, lowpoly, blockout, whether you're going to bake, what your target tricount is, texture resolution, etc. There are a million factors. You say "complicate the model", but what does that mean? I can see how complication would apply to a hipoly mesh, since you need control loops and that, but for a lowpoly mesh I don't know what that would mean, and it looks like you're making a lowpoly... and you talk about topology, which isn't really relevant for a lowpoly. So it's quite hard to know exactly what you want to know. Believe me, I'm trying.
  • final_fight
    Offline / Send Message
    final_fight polycounter lvl 5
    Does anybody know script analog of Turn to Poly standard modifier that doest the job better?
  • perna
    Offline / Send Message
    perna quad damage
  • perna
    Offline / Send Message
    perna quad damage
    Well anyway, I put together this script which will be quite handy if you're used to converting the base object to epoly manually. Works on multiple selections:

    macroScript PER_convert_selected_objects_to_epoly
    category: "per3d"
    toolTip:"convert selected objects to epoly"
    (
        on execute do
        (
            if selection.count > 0 then
            (
                with redraw off
                (
                    max modify mode
                    selection_bak = getCurrentSelection()
                    for obj in selection_bak do
                    (
                        modPanel.setCurrentObject obj.baseObject
                        modPanel.addModToSelection (Turn_to_Poly ()) ui:off
                        maxOps.CollapseNodeTo obj (obj.modifiers.count) off
                    )
                )
                select selection_bak
            )
        )
    )
    

  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 6

    perna said:



    Hi, I'm trying to recreate the quad sphere with flat sides (all the way back from pg. 20 of this thread, lol), but I can't seem to scale the secondary cube in order to avoid tris. For the quad sphere, I'm using a 4x4x4 cube with Spherify > Turbosmooth (1 iteration) > Spherify applied, which I believe is as round a sphere as it can get at that resolution.



    I tried deleting the last Spherify modifier, but it hardly changed the topology. You mentioned your method requires zero cleanup, so I'm curious how you created your quad sphere.
  • perna
    Offline / Send Message
    perna quad damage
    @Karnaj , it looks like if you scale down the cube you'll get all quads, but it'll be tight on the narrow parts.

    My QuadSphere script was written a long time ago and gives different results from "Spherize Box", which pinches near the edges.

    Try one of the QuadSphere scripts out there or experiment with a variation of this stack:

    • Spherize
    • Relax
    • Spherize
    • Cube





    Edit: This one looks good
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 6
    @perna Awesome, thanks a bunch for the help. It's a no-go for my original quad sphere since scaling the cube down as small as possible still results in tris. I tried the stack you suggested with various Relax values, but it still results in an imperfect sphere and tris. It's probably because I'm unaware of the magic values/combination of modifers.

    I saw the script page and the subdiv 1 sphere immediately reminded me of ZBrush, so I created a perfect quad sphere in there and exported an .obj to Max. With Turbosmooth on it, it seems to give the same results as yours. :)



    The only question I have left is how you scaled the ProBoolean cube down to line up perfectly with the quad sphere's vertices. I did this by selecting each face and vertex-snapping to the respective vertices around the poles. It's fast enough, but is there a way to do this faster?
  • perna
    Offline / Send Message
    perna quad damage
    @Karnaj , I just used the spinner while holding ALT to get more accurate values. I tried to work out a mathematical formula, but that needs custom handling based on whether or not the QuadSphere has an odd or even number of sides (since the shape is not an actual sphere, but polygons approximating one, the intersection with the cube varies based on the density of the quadSphere)

    Maybe I missed something, but since we don't make hundreds of these a minute it shouldn't matter, efficiency-wise.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    perna said:

    Let's flip the question around: Why do you prefer OpenSubDiv? In my experience it has been very buggy and unreliable.



    @perna Just habit, as well, I suppose. Based on a few factors:

    When Turbosmooth was first introduced we all had shit ram and it was its namesake over MS. When OpenSD came along I was creating a lot of offline rendertime sub-div models at the time and the old problem of linear Vs smooth UVs in Max was better (somewhat)solved with OpenSD. I have had it added to my custom modifier stack since then. Also, the fact that OpenSD defaults to isoline display and collapses to Epoly.(although I have collapse to Epoly hotkeyed so not as much of an annoyance)



Sign In or Register to comment.