Home Technical Talk

Generally Accepted Workflow

TAN
polycounter lvl 12
Offline / Send Message
TAN polycounter lvl 12
Hello everyone. I was going back to ZBrush tutorials to make another skill-improvement dash for myself but before that I wanted to ask something that has been bothering me for a while.

When it comes to creating next-gen game assets ( lets just say an in-game character) is there a industry-wise accepted way of creation of normal maps ? I Guess it is a bit vague, right ? Sorry, let me be more specific.

I have been using this method for a quite some time about modelling for game assets:

Create low poly in 3ds Max -> Export to ZBrush -> Create a high poly -> Export Normal and Diffuse Maps from ZBrush

But when I talked to a fellow 3D artist he said that he starts with a high poly, then reduces it to a low poly, then does the baking in a third party program ( XNormal or something akin to it).

I started to wonder if there is a generally accepted way of doing that in the industry.
I also wonder if there is any benefit in using XNormals over ZBrush as a baking option. I normally try to use as less tools as possible during my work. It always feels better to accomplish the work with main packages.


So how is it really ? How are you people doing it ? And of course WHY you are doing it that way ? IS it because it is faster, more reliable, more versatile ?

Replies

  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    TAN wrote: »
    When it comes to creating next-gen game assets ( lets just say an in-game character) is there a industry-wise accepted way of creation of normal maps ? I Guess it is a bit vague, right ? Sorry, let me be more specific.

    There's no standard way of doing things. People do things the way they think will produce the best results. This can change depending on game engine, platform, or art style.
  • igi
    Options
    Offline / Send Message
    igi polycounter lvl 12
    You may want to add one another step to your workflow right after creating hi-poly sculpts in Zbrush.That step is mostly called 're-topology',creating your final low-poly before creating the hi-poly model is way too much limitating. You had better to create your low poly model after completion of your hi-poly.Though Zbrush is bad at creating human-readable uv-map,you may want to add one uv unwrapping step after creating low poly as well.So the general workflow mostly follows this.

    Low-Poly Base model(not final low-poly,a simple blockout model that helps you to start your hi-poly model from)--->Hi-Poly--->Final Low-Poly
    >Unwrap your Low poly---->Bake

    Now about baking stuff,xnormal is a free tool and its pretty versatile,because it only requires hi and low poly model files (cage model too,which is optional though).Baking in Zbrush would give you some unsynced tangents which will give you errors in the game-engines and presentation shaders (xoliul,marmoset and so on).

    So,you can either use 3dsmax,maya or xnormal. Those three are pretty much industry standarts. Xnormal's benefit is being a more versatile solution.It's renderer is fast,but you're still free to use max or maya as well.Quality of output is highly depend on the artists,not tools.

    For the baking proccess this link would help you: http://wiki.polycount.com/NormalMap

    Kolay gelsin :)
  • Mark Dygert
    Options
    Offline / Send Message
    Low poly base mesh in 3dsmax it won't be the final game ready topology but it will be made of mostly even quads that subdivide well. Or just go straight to it in zbrush whatever your more comfortable with. There are some new tools in Zbrush that I haven't gotten the hang of yet and they do seem to make it a lot easier to start in zbrush.

    I use max for baking, normally after running the highest subdivision through Decimation Master so it's easier for max to handle. Max's UV tools are easier to use and it's great for modeling precise low poly objects over the top of something else.

    The baking tools in max are great (provided you side step mentalRay or dance around its quirks), being able to tweak the projection cage and bake all in the same app sometimes with custom light setups is crazy helpful and fast. xNormal is great, gives great results but bouncing between a bunch of different apps gets tedious and annoying. Zbrush just doesn't have the same fast and flexible tools, or I have trouble discovering and unlocking their hidden potential (not a good sign if your app isn't easy to use) but zbrush can get some decent results.

    Base mesh
    Sculpt
    Decimation master, export highest and lowest
    Retopo the lowest in max
    Bake in max
    Rig, skin, animate
  • Asyme
    Options
    Offline / Send Message
    I'd recommend xnormal for what its worth.

    At my last job the workflow was something like:

    a) Block out model in 3dsmax
    b) Export to zbrush and create a high poly sculpt
    c) Export the high poly object for normal mapping
    d) You'll probably need a better low poly mesh at this point than the block out. I'd normally decimate a clone of the high poly in zbrush and export it into 3dsmax. All you need is enough polys to keep the rough outline. Either clean it up, retop or remake a new low poly object.
    e) Unwrap the new clean low poly object. We had 3dscoat and I tended to use that more and more as its unwrapping is fantastic. Max, maya, etc are all fine though. Important thing (especially with objects) is to break the model into islands where the geometry angle gets sharp. A plank of wood is better as 6 polys slightly apart than one connected as much as possible.
    f) I ran a textool script that turned all the UV islands into smoothing groups. There's a mel script for maya which does the same with hard edges.
    g) export object
    h) Bring that and the high poly object into xnormal and bake. Note if the objects are complicated (such as a gun) you'd probably bake them in chunks and combine them later in PS.
    i) Oh and when combining normal maps I have an action that goes to a layer, turns it to multiply then goes to that layers levels>blue channel and sets it down to 128.

    Almost always get very crisp and clean results with the above.
  • Ruz
    Options
    Offline / Send Message
    Ruz polycount lvl 666
    mark i am guessing you mean 'baking' rather than 'banking', he he, i thought I had missed some extra tools there for a minute.
    have to agree though max is great for baking stuff, just have to do a few extra steps. I generally just do quick tests either from zedbrush itself or xnormal
  • Mark Dygert
    Options
    Offline / Send Message
    hahaha, yea 'baking'.
  • TAN
    Options
    Offline / Send Message
    TAN polycounter lvl 12
    Thanks for the great advices you great people :D

    One last question. How do you prefer to create your diffuse maps ?

    The main reason I stuck to ZBRush for baking was being able to create both normal map and diffuse map in one pass. Of course I used Photoshop whenever necessary but that looked really... convenient.

    So.. you guys just use a similar software to do polypainting or just use Photoshop and work on UVs ?
  • Mark Dygert
    Options
    Offline / Send Message
    I will use viewport canvas to block in basic colors on the model, its a little lack-luster when it comes to features but it holds up pretty well as a "3D painter". Generally if I do a decent UV layout I don't have a problem using photoshop to do most of the texture work. I've worked that way for a long time so it's second nature.

    I've been playing around with 3D coat and its actually a pretty decent 3D painter, but again its another app it doesn't do everything that photoshop does so I end up back in photoshop and checking it in the max viewport.

    I haven't really taken the time to get used to polypainting in zbrush, I find it kind of limiting and your mesh needs to be as dense as your final texture. It isn't painting on the polys but coloring the verts, you get one color per vertex so you need a lot of verts to get anything detailed. Which discourages you from running decimation master on it, making it tough for other apps to work with such dense meshes.

    Also the paint tools aren't as robust as photoshop. Juggling materials and sub-tools can get kind of complex on some models. I guess once you get used to it and work around the kinks it probably works fine, but I've been doing it the tried and true photoshop -Max way for so long that zbrush has just enough resistance to keep me from using it.

    It might be important to know that I animate character 8hrs a day and I generally stick to environment art in my down time and I prefer painterly styles so my methods might not suit other styles that might be more hyper real.
  • TAN
    Options
    Offline / Send Message
    TAN polycounter lvl 12
    Thanks Mark.

    SO is there anyone who uses ZBrush for texturing here ?
  • Deadly Nightshade
    Options
    Offline / Send Message
    Deadly Nightshade polycounter lvl 10
    Regarding mergin NM's inside Photoshop - use nDo for that or try this:
    http://www.moddb.com/members/niteshade/tutorials/photoshop-combining-normal-maps

    my download link is broken so make your own action following those steps and you will never fuck up your blue channel (which you will if you are lazy and just apply "overlay" to the top layer)
  • TAN
    Options
    Offline / Send Message
    TAN polycounter lvl 12
    İnteresting tut. really :D
  • mr_ace
    Options
    Offline / Send Message
    mr_ace polycounter lvl 9
    i think most people generally prefer to create the high poly first as it provides freedom to make it how you want without worrying about restrictions, then create the low poly around that. You can still polypaint without uvs or a lowpoly, you just bake it like you would other maps when you've finished the low poly.

    i bake maps in 3ds max because i find the quality of the maps it can make are better than in zbrush/xnormal/whatever. you can get really nice ao maps from max, and you have more control over how the maps bake via cages etc.
  • Asyme
    Options
    Offline / Send Message
    I tried texturing in zbrush a few times but... eh.... Pixologic seem willfully stubborn about making their texturing properly useful compared to other packages.

    It misses some key features. Firstly you can't paint on a low poly model. Your only option is to subdivide it with smoothing turned off. Which is a faff. Secondly it wants you to use its vertex painting mode instead of painting on texture sheets. Lastly it's not really got much in the way of layer implementation.

    Nice brushes and symmetry mode but its not designed for games.

    Nor, for that matter, is mudbox despite its claims to being a great matpainter. its got a nasty bug where painting on low poly objects often causes errors at the edges of polygons (especially long polygons).

    Personally the only 3d painter I've reliably used is 3dcoat which works perfectly and links to Photoshop. Well worth a look.

    In general though I tend to Render out a normal map and AO in xnormal. Which is great. I then (because I'm lazy) tend to combine the AO with some base colours or textures (e.g. 'grey' or 'neutral stone' in PS as a diffuse, load up the normal map in crazybump and load in my diffuse into the diffuse slot of CB. Its handy for playing around for a bit to get highlights and cavities. More importantly its great for then being able to generate a spec texture.

    The diffuse you end up with is a good basis for my diffuse but obviously needs grime, dirt or whatever added.
  • TAN
    Options
    Offline / Send Message
    TAN polycounter lvl 12
    Hımm. Guess it really goes different than how I think it does out there.

    OK then I am going to try both methods ( vanilla ZBrush and 3rd part programs) to see which has the best quality/time ratio. hen I am going share what I find here with screenshots and numbers.
    Maybe we can even leave that here as a way pointer for the newbies like myself ?
Sign In or Register to comment.