Home Technical Talk

How to easily and quickly create a high-res, smooth version of hard-surface props for baking normal?

polycounter lvl 11
Offline / Send Message
MMKH polycounter lvl 11
Hi Polycount 3D modelling experts, I am working on some props which require a normal map to go with diffuse textures. They don't need to exhibit much detail though, and are mostly just there to help bake a better diffuse texture and to make the final model look somewhat smoother. What I am looking for is a very easy, fast and cheap way to subdivide low-poly models, while retaining the general shape, edges or curvature, and minimizing artifacts when baking said normal maps. Optimally this would be a process that is very duplicatable or systemized that I can repeat for future prop models. These prop models would have several different kinds, each one having minor variations and differences in the overall geometry.

Here is an example of the first prop model I made. I had to insert edge loops around the edges and toggle smooth mode on/off in Maya before smoothing/subdividing them. Even after I got the "hi-poly version" done and used it to bake normal maps, there were still artifacts on the normal map and I needed to clean some areas up in Photoshop or 3D-Coat.


Any advice? Thanks :)

Replies

  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    Too preserve the silhouette, there's no getting around adding more cuts to achieve a 'smooth' finish without to much 'blockiness' evident for the player ingame via your proxy but also dependent on how close the camera is positioned as well?! so minor shading errors might not be that much of an isssue.

    Anyway your model is basically symmetrical which optimises the texturing phase nicely and in addition for re-usability, look into kit-bashing if you're thinking about differing variants the object may assume with future iterations in mind.

    ADDENDUM:
    Ben Bolton's Pro-Boolean workflow is an insightful demonstration that enables both an effective and efficient workflow generating HS assets.

    https://polycount.com/discussion/168610/proboolean-dynamesh-hardsurface-workflow-tutorial/p1
  • Mink
    Offline / Send Message
    Mink polycounter lvl 6
    In blender I just use hardops to create bevels to achieve the effect you're talking about. Subdivision is usually not a good idea with hardsurface props.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Mink said:
    Subdivision is usually not a good idea with hardsurface props.
    Where, oh where did you get that idea from? It's been an industry standard since normal maps were first introduced in the early 2000s.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    If you're making something that's largely composed of primitive shapes or something that's been machined then bevelling/chamfering is usually the way to go as it reflects how the things are made in real life and saves a huge amount of fannying about. 

    Dismissing subdivs is very silly though. Sensible people play each method to its strengths 

  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    If somebody says, "such and such is not a good idea," do the opposite. Do whatever they are saying not to do. I don't care who they are.

    At some point, somebody is going to tell you that n-gons are bad. So what? You just gonna trust some stranger? What's next? Never model on a Monday? Don't use the mouse with your left hand?!?

    Either way -- whether you determine the person was right or wrong or something inbetween, nothing will be broken that you can't fix and you will have a new understanding.
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    @BIGTIMEMASTER said:

    "If somebody says, "such and such is not a good idea," do the opposite. Do whatever they are saying not to do. I don't care who they are. 


    At some point, somebody is going to tell you that n-gons are bad. So what? You just gonna trust some stranger? What's next? Never model on a Monday? Don't use the mouse with your left hand?!?

    Either way -- whether you determine the person was right or wrong or something inbetween, nothing will be broken that you can't fix and you will have a new understanding."

    Hmm...kind of a curious comment there, I may be mistaken but seems like on the face of it anyway, your train of tbought advocates "Throwing The Baby Out With The Bath Water" whereby informed advice is dismissed out of hand and as a consequence leaving no alternative but for the OP too go it alone from scratch?! or am I indeed wrong?



  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    @sacboi from what I gathered from BTM's post was more of a roundabout way of saying  'don't be afraid to experiment, makes mistakes, and learn from them through your lived experience.....' Or maybe not. :)
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    Ah...ok makes sense, thanks.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    sacboi said:
    Ah...ok makes sense, thanks.
    Well, that's just my interpretation. Maybe I'm way off. :D
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    yeah, it was a roundabout way of saying something simple. I think when people read something that they've already seen before they tend to dismiss it, especially if its general advice you'd hear anywhere.

    I don't advocate being a contrarian. But when it's learning time, I advocate questioning everything and making an effort to not learn a checklist of rules but instead to understand. And to understand the "rules," the easiest way is to simply break them.


  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    Fair enough.

    Although your initial reply, too be frank did irk just a tad, was as if advice offered here relevant to a discipline which is my specialty that I've sought to master since 2004 had little or no merit, but all good we're a divers community after all and sometimes what we seek to impart can be lost in translation.

    Cheers.
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    I wasn't talking about you guys giving advice here in this thread. Was talking about the need to question what they may be learning in tutorials or just reading on the internet in general. Because in the initial post there was something like "I won't do such and such (extremely common practice) because that's bad" Looks like it's been edited now. :(

    .Sorry that wasn't clear.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Not to worry lads, looks like the OP hasn't bothered his arse to give any sort of acknowledgement of his own thread anyway.
  • MMKH
    Offline / Send Message
    MMKH polycounter lvl 11
    sacboi said:
    Too preserve the silhouette, there's no getting around adding more cuts to achieve a 'smooth' finish without to much 'blockiness' evident for the player ingame via your proxy but also dependent on how close the camera is positioned as well?! so minor shading errors might not be that much of an isssue.

    Anyway your model is basically symmetrical which optimises the texturing phase nicely and in addition for re-usability, look into kit-bashing if you're thinking about differing variants the object may assume with future iterations in mind.

    ADDENDUM:
    Ben Bolton's Pro-Boolean workflow is an insightful demonstration that enables both an effective and efficient workflow generating HS assets.

    https://polycount.com/discussion/168610/proboolean-dynamesh-hardsurface-workflow-tutorial/p1

    Thanks for the information. I use Maya instead of Max, but found the guide useful. I'm familiar with using the Polish feature in ZBrush and have tried it out, but it does not quite give me the best curvature if the curve is too low-poly. I've now beveled some of the edges on the front to smooth it out and will test it out again.

    Not to worry lads, looks like the OP hasn't bothered his arse to give any sort of acknowledgement of his own thread anyway.
    Heh, I was just busy reading the comments here. I learn from these good discussions.

  • kanga
    Offline / Send Message
    kanga quad damage
    sacboi said:
    Too preserve the silhouette, there's no getting around adding more cuts to achieve a 'smooth' finish without to much 'blockiness' evident for the player ingame via your proxy but also dependent on how close the camera is positioned as well?! so minor shading errors might not be that much of an isssue.

    Anyway your model is basically symmetrical which optimises the texturing phase nicely and in addition for re-usability, look into kit-bashing if you're thinking about differing variants the object may assume with future iterations in mind.

    ADDENDUM:
    Ben Bolton's Pro-Boolean workflow is an insightful demonstration that enables both an effective and efficient workflow generating HS assets.

    https://polycount.com/discussion/168610/proboolean-dynamesh-hardsurface-workflow-tutorial/p1
    Yup this is the way to go. Unfortunately it seems to be a bug bear of prop builders to start with a low poly and then try to extract maps that will give hipoly detail. The only way I know of to derive a high poly curvature from a lowpoly base is to use an addon like MeshMachine, or remodel the curved parts. The solution above relies on edgeloops where you need them. Then polish in zB works just fine.
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    MMKH said:
     I use Maya instead of Max, but found the guide useful. I'm familiar with using the Polish feature in ZBrush and have tried it out, but it does not quite give me the best curvature if the curve is too low-poly.

    You can crease hard edges & subdivide before dynameshing to preserve curved surfaces after dynameshing. The OpenSubdiv Loop-type subdivision in particular handles very tricky ngons that booleans create like a boss.

    Alternatively you can look into baking round edge shaders.


  • MMKH
    Offline / Send Message
    MMKH polycounter lvl 11
    ilari said:
    MMKH said:
     I use Maya instead of Max, but found the guide useful. I'm familiar with using the Polish feature in ZBrush and have tried it out, but it does not quite give me the best curvature if the curve is too low-poly.

    You can crease hard edges & subdivide before dynameshing to preserve curved surfaces after dynameshing. The OpenSubdiv Loop-type subdivision in particular handles very tricky ngons that booleans create like a boss.

    Alternatively you can look into baking round edge shaders.


    Interesting, thanks for sharing. :)
Sign In or Register to comment.