Home Technical Talk

Baking Complex Objects Without Exploding

polycounter lvl 8
Offline / Send Message
dirigible polycounter lvl 8
I ran into a particularly nasty case of an issue that I'm sure all of us face frequently - baking normal / AO from one complex model onto another.

Now in my case, both the high and lo poly models are comprised of 23 objects. I want to bake each separately. I cannot explode the object, because the high polys have to be exported from zbrush (else I lose polypaint), and the lo polys have to be exported from maya (else I lose normal softening / smoothing groups), so it's basically impossible for me to get the exploded high poly to match the exploded lo poly.

What do you clever people do when you run into this kind of issue? The only option I seem to have at the moment is to bake 69 maps (normal + AO + polypaint x 23) and then composite in photoshop by hand.

Replies

  • divi
    Options
    Offline / Send Message
    divi polycounter lvl 12
    Explode a copy of the high inside zbrush, export that and import it into maya, explode a copy of the low to match the exploded high (offset valus probably wont be super sweet), export and bake. Should work okay unless you need to tweak the UVs. Then you'll probably have to re-explode the low again. Only way I can think of right now.
  • Macattackk
    Options
    Offline / Send Message
    Macattackk polycounter lvl 7
    Do you mean explode by moving the individual parts out so the baking knows what detail to use instead of accidently catching details from other parts? cause usually that works for me and then i make sure the bake isnt shooting rays too far out to catch unwanted details.

    to make sure my low and high poly match i usually export a mid-division level of my high poly and import that into maya and move the low poly parts to make sure they sit exactly on top of the high poly.

    you should post a picture of your problem though
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Mat ID's should do the trick.
  • dirigible
    Options
    Offline / Send Message
    dirigible polycounter lvl 8
    Hey, okay.

    I could have exploded the high, and then moved the lo by hand BUT I was worried about matching the objects up precisely (and that's kind of a lot of tweaking).

    However I think I have a solution anyway. I can GoZ the objects from Zbrush to Maya. Then I move them both at the same time, to make sure the exploded versions match perfectly. Then I GoZ back into zbrush, and the polypaint data is preserved, as is the explosion. Honestly it's so simple that I'm ashamed I didnt think of it sooner.

    @Ace-Angel, Mat ID's? Is that something I can use with XNormal?

    To give you all an idea of what I'm working with, here's the unexploded low poly
    2ah6po4.png
    And here's the exploded low poly.
    1osv4l.png
  • EarthQuake
    Options
    Offline / Send Message
    What is the reason for so many separate meshes in the first place, certainly your lowpoly count be merge down into much fewer chunks?
  • dirigible
    Options
    Offline / Send Message
    dirigible polycounter lvl 8
    @EarthQuake
    1. Trying to merge everything into a contiguous mesh would increase the poly count.
    2. The joints on the character are robotic, so I'd rather not have the legs and arms (and fingers and ankles, etc) as solid pieces, as that would require deformation on a surface that shouldn't be deforming.
    3. This model was an effort to get used to having floating pieces of geo, instead of having everything contiguous.
    4. There are a lot of details that I knew wouldn't project very well if I didn't make them separate.
    5. There's a few pieces which will need to be switched out, so they have to be separate.
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Well, first of all, are you going to show your model in real-time or offline, and in which software? If you're using Maya, then baking in Maya is the solution since the Normal map baking process is very much homogenized to perfection.

    Baking your normals from xNormal won't work since you will get seams, since xNormal and Blender are the only two applications that use the same math for the normals you are baking, so unless you plan on using xNormal or Blender for your model, I would suggest against baking in it.

    Secondly, MAT ID is this:
    [ame="http://www.youtube.com/watch?v=oIwHbBm9DG8"]matID - YouTube[/ame]

    No idea what in Maya it's called, or if you have such a way, but usually, you can give an ID for each LP and HP piece, and use that as your baking solution as a way of correlation.

    However, personally, it doesn't look too much of an issue, and I don't think you even need anything fancy, you just need to be simple and smart about it. Don't increase your workflow to a grindwork.

    I think EQ meant what your picture shows, why don't you attach/merge certain parts that are far away from each other, and do the same for the remaining body parts separately. You're baking out only two normal maps and you just have to combine those two.

    Example: Attach/Merge the Body, Head, Upper Arm and Hand together as one group. Then do the same for Fingers, Arm Joint, Neck, Back-Pack, etc.

    So you only have to make two bakes, without any unnecessary explosion, and since the pieces aren't overlapping each other (they do have some space between pieces in their groups) controlling your cage will be the solution, and that's that.
  • dirigible
    Options
    Offline / Send Message
    dirigible polycounter lvl 8
    @Ace-Angel
    I'm creating this for UDK.
    I need to bake in XNormal because afaik it's the only program (besides ZBrush) that recognizes poly paint.
    I've haven't really heard complaints about xnormal's baking before. Link to more info?
    I've never worked with the source engine (only udk and unity), but I know of something similar to Mat-IDs. I don't think it would help, tho.
    I could do what you're describing, I have before. Overall, tho, I prefer the headache of exploding my stuff so that I get 100% clean results, to the headache of trying to find which combination of objects gives me mostly clean results.

    Anyway, the solution I found actually works really well.
    1h9ts8.png
    Don't worry, the color is just for easy masking in photoshop.
  • [HP]
  • Tom Widdowson
    Options
    Offline / Send Message
    Tom Widdowson polycounter lvl 3
    @Ace-Angel, how do the material ID's work in XNormal for linking the HP and LP meshes by association? is there something in the settings? 
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    This thread is super old. Handplane baker has projection groups and substance has a matching by name feature to accomplish something similar. Xnormal doesn't support his kind of functionality. 

    You can see a bunch of overlapping mechanical parts baked at once in this video:
    https://www.youtube.com/watch?v=ACkX_t3QDnU
  • Tom Widdowson
    Options
    Offline / Send Message
    Tom Widdowson polycounter lvl 3
    Thanks for that, Il try it when I get home, Substance painter would be perfect but I have had a few issues with it. 1, It wont bake with my 20 million poly mesh even though its separated into 60 seperate .obj's and  it doesn't seem to support more than one cage file.  
Sign In or Register to comment.