Home Technical Talk

Dealing with partial asymmetry and normal map

polycounter lvl 12
Offline / Send Message
Kyalie polycounter lvl 12
Hey guys!
So, as an oldschool character artist and also someone working in the mobile games industry, i tend to be a tiny bit obsessed with optimization, even more so when we're talking about UVs.
Meaning that whenever i make a character, i tend to have everything i can symmetrical and just move away the asymmetrical bit, such as a scar on a face, or a shirt that's asymmetrical on the front but symmetrical in the back.
From what i could see, it works well for a character like Fang from FF13 (don't pay attention to the seams on the rest of the face) who only has one quad away from the rest, where her mole is and there's not seam visible at all (and the part without the mole is merged with the UVs from the rest of the face).



As for me, i've tried several things and almost always get a visible seam:
- if i leave one part merged with the symmetrical part (which is what was done for Fang) then i get a very visible seam on the other side, which makes sense, since one loop is merged and the other isn't. (c)
- if i make a cut on both side but leave the asymmetrical part touching the symmetrical part, then i'll get a slight seam because the normal map will be 'discontinued' where the seam is, and  with antialiasing one side is gonna take texture info from the other side, the similar kind of thing that happens when you have no padding. (b)
- the only way this works is if i cut the whole think and move it away (because there's gonna be a padding of some sort), which is fine for a torso like in this example but not great for a face. (a)
On the left is the symmetrical part (half of it is off the grid for baking sake) and on the bottommost example a seam appears on the right side.


So two questions:
- is there a way to 'lock' uv coordinates (in the same way that you can lock vertices normals in place) so as to make the mesh 'believe' that the right border (in yellow on the last pic) is actually welded to the symmetrical part? (basically being able to have orange lines on both sides, instead of green ones)
- do you think the seam was manually corrected on Fang's face or is there a way to bake this properly? How come a quad with cut borders and a quad that's merged with the rest can be using the same normal map if what i think is right and what makes it look buggy is the fact that there's a seam?

I've only tried xNormal to bake.

Thank you for your help!

Replies

  • Scruples
    Offline / Send Message
    Scruples polycounter lvl 10
    Eh, for Fang you could make sure the edges of the single quad and the edges of the rest contained only flat normal information (128-128-255 signed unsigned, whatever).

    The area with the seam must remain symmetrical on both sides of the model when baking. Within Zbrush storing the symmetrical shape, modelling the asymmetry and then restoring the seam with the morph brush was one method I tried, it worked but in retrospect there should be an easier way.
  • Kyalie
    Offline / Send Message
    Kyalie polycounter lvl 12
    Mmh, so 'a perfect blue' works for any situation, cut or uncut?
    Scruples said:
    The area with the seam must remain symmetrical on both sides of the model when baking. Within Zbrush storing the symmetrical shape, modelling the asymmetry and then restoring the seam with the morph brush was one method I tried, it worked but in retrospect there should be an easier way.
    Oh yeah, no worries, it is, i've mirrored and projected the symmetrical part and i've got a good buffer between the symmetrical and non-symmetrical areas.
Sign In or Register to comment.