Home Technical Talk

How do you take a model from a high-poly zbrush model to a low-poly one for games?

I see gorgeous characters that are modeled in zbrush and then optimized for games, but I have no idea how to go about it. I'm eventually going to start making a game as a personal project when I feel i can, so I need to learn how to do this kind of thing sooner rather than later.


Do you bring the high-poly model into Maya (or your program of choice) and then trace it with polygons? If you do this, then how to do you get normal maps for the low poly model?

Or do you let zbrush make the low poly model and normal map from the high-poly, and then bring that into Maya to edit it until its perfect?

Thanks!

Replies

  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    You can retopologize it in zbrush, though many people prefer using other 3d applications to make the low-poly.

    How you bake the map depends on the program (and there are separate specialty programs which could be used too, like xnormal.
  • wannabeartist
    Options
    Offline / Send Message
    wannabeartist polycounter lvl 8
    Hey!

    I was about to ask the exact same question!

    I've been starting out with ZBrush for a week now and the most trouble has been with the same thing.

    You can very easily take your base mesh into ZBrush, divide and detail it and then bake the maps and bring everything back to your other app (in my case Max), with just one click (GoZ).

    BUT. How do you get those maps on your low poly game model? Because you can't really use that optimized game model with tris and whatnot for sculpting - it seems to be very important that your sculpting base-mesh is all quads and pretty evenly distributed ones too.

    I find this workflow very difficult to grasp - how do you easily do that? Is there some magical way of copying your sculpting base mesh UVs onto your optimized game mesh (which has the same outer edges) in Max?

    Oh, and I also tried xNormal. I'm not sure if I did that right, though. I exported the huge, 5+ million poly, detailed sculpt as obj and the ridiculously low poly game model and tried baking that - I didn't really get a clean map with that method.
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    If you're doing the baking in zbrush, the trick is to make sure the lowest subdivision level has the topoplogy and UVs that you want your game-mesh to have. Usually that's not the case as a sculpting basemesh is built for subdivision sculpting instead of optimized animation, and typically does not even have UVs.

    The workaround is that zbrush has several methods to project details from one tool to another, regardless of toplogy. You can import your game-ready UV'd mesh into zbrush and append it as a subtool to your highpoly sculpt, subdivide it so that it has enough polygons to handle the detail, and then project all the detail from the original sculpt onto this new model (subtool palette> project all) . Alternatively, if you just import the new obj with the sculpt active, zbrush usually asks if you want to update the topology and project the details onto it.

    GoZ should work both ways as well, so if you retoplogize the model in Max/Maya/whatever and GoZ it back into zbrush, it should automatically update the topology while keeping the sculpted detail.


    Otherwise, you could export your highpoly sculpt from zbrush as an .obj. This can be read by any 3d program worth its bits, and then you can use Max/Maya/Softimage/xnormal/whatever to bake the details from that mesh onto a new lowpoly mesh.
  • wannabeartist
    Options
    Offline / Send Message
    wannabeartist polycounter lvl 8
    Right,

    I just learned about that projection feature earlier today - it's great, but doing exactly what you described, I found myself in trouble trying to divide my game mesh in ZBrush, as it has tris. I also tried disabling smoothing - then there was no trouble with dividing - but as I went on with projecting, the resulting maps had errors in places where the tris were.

    Would it make more sense to project on an "intermediate" all-quads mesh and go with tris after the baking?

    I haven't yet tried bringing the 5 million poly mesh to Max, I'm not sure if it will work, but I must try it.

    But I did try "double baking" - I first baked the maps in ZBrush and used GoZ to bring the base mesh and the maps to Max. Then I took the game mesh and baked the imported stuff on that - it works if you mess with the materials a bit, although the normal map is a tad blurry.

    So the is no one "best practice" for detailing non-quad game models with ZBrush?
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    Projecting should work just fine with triangles; I just tried a mesh that was 100% triangles and it worked perfectly.

    Use decimation master on the highpoly sculpt if you're worried about it being too big to import into Max.

    You may want to bake on a mesh that is triangulated to prevent the possibility of vertex normals changing around. Also, be careful transferring a normalmap from one mesh to another. To me it sounds like it would be very prone to errors for anything that isn't a plane (as otherwise the tangents would be different?).
  • wannabeartist
    Options
    Offline / Send Message
    wannabeartist polycounter lvl 8
    Thanks for the tips!

    About your triangle test, did you divide it before you projected? I should try it again, although I'm pretty sure it was the fact that it had some tris, but not all and that I divided it before the projection. Hence it probably had quite strange topology after dividing.
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    It was all tris, and subdivided to around 1 million.
    projected.jpg
  • wannabeartist
    Options
    Offline / Send Message
    wannabeartist polycounter lvl 8
    Thanks a lot!

    That should help me as a try that again in a moment...
Sign In or Register to comment.