Home Technical Talk

Sculpting or Texturing surface details?

3D4Eva
polycounter lvl 4
Offline / Send Message
3D4Eva polycounter lvl 4
I was wondering what is everyone's thoughts on doing surface details. If I was working on a face would it be more beneficial to sculpt the details and bake down, or texture them in substance? Skin pores, lips, wrinks?

I read up online from someone that sculpting will give better results because when you height paint in substance you only have up and down values, but in zbrush if you build up details you get angle info from the normal bake.

Replies

  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    Texturing is faster and less destructive. Sculpting can give better results in some situations. Try both, then you'll know which to choose in the future based on the situation. If making a cinema quality character I think a reasonable compromise is to use sculpting up to the point of secondary details then use something like XYZ maps for the skin level, non-silhouette changing details.

    A heightmap is grayscale, meaning it has only two values, 1 and 0, black and white, up or down. 

    A normal map is 3d dimensional though (or uses 3 channels, anyway.)

    Honestly though, unless you are trying to get more into tech art, just use both and see if there is a visual difference. While one might technically give a better result, that might influence you to choose it despite higher cost and despite the fact that the visual difference is so minor no one in the audience would ever know the difference.

    There is no right answer, you just have to know enough to balance time considerations with quality considerations.
  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    I agree with the previous comment, and with the general sentiment that sculpting will look slightly better but texturing will be slightly more efficient / faster. (In general - of course there are exceptions). I just wanted to add that re-usability is a big consideration.

    Example......If you're making a unique character, say some weird monster creature that won't necessarily look like any other character in your game/movie/whatever, then maybe do everything in ZBrush. That could potentially be faster than trying to find the right alphas or smartmats in Substance Painter, and potentially alleviate some of the tedium of laying out UVs so they're all oriented to receive detail maps oriented the same way.

    Another example......if you're making a bunch of characters that are all humans, or all part of the same culture that uses the same type of clothing, etc., then try developing some smart materials in Substance Painter, for pores, fabric weave, wrinkles, etc. In this case it's probably worth the extra time being a bit more meticulous with UVs so you can re-use a bunch of textures without having to make dedicated sculpted detail or new textures per character.

    Basically it all depends on what's faster or easier in the particular pipeline, project, etc. And like Alex_J said perhaps technically sculpting detail looks better than texturing it but in reality the difference may be negligible. It's easy to think of "better" as "as much realistic detail as possible" (ie sculpting) but often "better" is actually "most consistent" (ie shared maps for multiple assets).
  • 3D4Eva
    Offline / Send Message
    3D4Eva polycounter lvl 4
    Thank you for your replies. I also heard of a technique to plug in the micro details at a shader level and apply it to the mesh that way? Is this a common thing?
  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    Yes that's common but maybe not for what you're trying to do. Unity by default allows one tileable overlay texture per material. I assume Unreal has some equivalent though I can't remember how it works offhand. What I was talking about with using textures for pores, fabric wrinkles, etc would maybe be better done in either Substance Painter or a custom shader. Thinking about how many layers and masks you may use in Substance Painter you would need a shader to replicate that if you wanted that level of control. I don't know of any out-of-the-box shaders that provide that though it's likely feasible for someone with enough technical knowledge to custom create. 
  • FourtyNights
    Offline / Send Message
    FourtyNights polycounter
    I've been thinking about these two workflows for a quite sometime, and there are two major differences:

    (No.1 is baking the character's base + micro details and No.2 is baking just the character's base)

    1. Sculpting skin details -> PROs: let's you bake ambient occlusion, curvature, cavity and convexity for the use of procedural effects in SP, and you can use your AO as is in the game engine + cavity for diffuse and specular masks (Marmoset specifically). CONs: The result is permanently baked, even though it's non-destructively in ZBrush's 3D layers, but in the low poly's textures it's destructively printed to your maps. Also, ZBrush's 3D layers are heavy to work on high res meshes sometimes, a bit delayingly laggy.

    2. Using procedural and tileable skin materials (SP or MT4) -> PROs: It's non-destructive and you get a control of the whole material, not just normal or height details like in ZBrush, and it's somewhat light on performance, especially if lowering the resolution of the texture set while working. CONs: No AO, cuvature, cavity or convexity details to work with or to be used later in the final game engine.

    ...unless there's a smart way to get or convert SP's procedural details multiplied to initially baked AO, curvature, cavity and convexity maps.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    ...unless there's a smart way to get or convert SP's procedural details multiplied to initially baked AO, curvature, cavity and convexity maps.

    All of the things you say you cant do with painter can be done with painter. 


  • FourtyNights
    Offline / Send Message
    FourtyNights polycounter
    poopipe said:

    ...unless there's a smart way to get or convert SP's procedural details multiplied to initially baked AO, curvature, cavity and convexity maps.

    All of the things you say you cant do with painter can be done with painter. 



    Can you shed a light on this specifically? Like how would you do this?

    Well, there was one plugin in Substance Share which converts AO and curvature from layer's height information, but that was old and outdated and it didn't behave the way it should on newer SP versions.
  • 3D4Eva
    Offline / Send Message
    3D4Eva polycounter lvl 4

    2. Using procedural and tileable skin materials (SP or MT4) -> PROs: It's non-destructive and you get a control of the whole material, not just normal or height details like in ZBrush, and it's somewhat light on performance, especially if lowering the resolution of the texture set while working. CONs: No AO, cuvature, cavity or convexity details to work with or to be used later in the final game engine.



    One of my mentors told me that you can export a normal from Painter which has those details, then import it back into Painter to get the AO, Curvature bakes. Also you can convert any height channel info to AO in Painter by using a filter.

    I'm still new to some of this stuff but isn't the cavity map just a range of another map? I forget which one it is!
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    Anchor points are what you use to push data around. Most filters and all fill layers/masks can take input from an anchor point which means anything you paint/generate can be used to drive an effect or filter - the docs were admittedly a bit crap last time I looked but that was a few years back. 

    You might have to make a filter in designer to get curvature (height-normal-curvature) although I'd be very surprised if one hasn't appeared on substance share or as part of the default shelf by now - I haven't done much painter work for a year or two so my knowledge of the supplied tools is out of date.

    Tbh.  we rarely need to build tools for painter anymore outside of shaders, very specialist stuff that has to interact with game resources or the occasional weird filter so we can feed a shader - they've basically covered everything 99% of people need.


  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    I like anchor points in SP but I don't like the big caveat that in order to feed height/normal information into anchor points, that information has to exist in a layer itself, not as a mask. This is not great for a non-destructive workflow. There are workarounds but they get cumbersome. Curious @poopipe if you know of a better way that I'm missing.

    For @3D4Eva here's a simplified example. If you want to add pores to skin in SP you could (Option1) add a fill layer with a procedural noise in the height channel, or (Option 2) add a fill layer with a flat value for the height and then add a mask with a procedural noise in the mask. I prefer Option 2 because then I have an additional control for the height, separate from the parameters of the noise. However, when using anchor points, Option 2 will have no effect because anchor points will only read the height information from the fill layer, not its mask, so the anchor point will read the height as 100% flat. So if you wanted to use the height info from those pores in an anchor point in a filter you'd be stuck with the slightly less non-destructive Option 1.

    The workaround is to create an extra layer with blending mode set to passthrough on the height/normal channels. They will pass the height/normal info of the layers below (whether from a mask or paint/fill) into the paint of the passthrough layer. The reason I say this gets cumbersome is because if there are multiple layers (with or without masks) from which you want the height/normal info, you may need to make multiple passthrough layers, which gets harder to navigate the stack. (And maybe laggier? Not totally sure).
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    The passthrough method is how I handle it - if you group everything up it's not too bad.


  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    Thanks @poopipe. For some reason I've always found that cumbersome. Maybe worth doing more
Sign In or Register to comment.