Home Technical Talk

Quick normal map question

CheapAlert
polycounter lvl 18
Offline / Send Message
CheapAlert polycounter lvl 18
Say if the model was made and unwrapped in one half, and duplicated/mirrored symetrically appropriately, and you want it normal mapped.

Would duplicating the material for the other half of the model, and changing/swapping it's green/red color channel in the normal map work? I think it will...

Replies

  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Yes, I think that would work. Just invert the Red channel for left/right mirroring, I think it is.
  • FatAssasin
    Offline / Send Message
    FatAssasin polycounter lvl 18
    I was wondering about that myself. But wouldn't you get seam down the middle?
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    I think you would get a seam down the middle. It depends on the angles the central geometry meets at, I guess...

    However if you've already built and mapped one half of the model, why not just mirror and attach it, and scale each half's set of UV-maps down by 50%, so that they both fit in the square, then render out a normal map at 1024x512 instead of 512x512 or whatever?
  • Eric Chadwick
    If you're making a game model, duplicating the material (and thus adding a second normal map) is not a good way to go, the extra texture will eat up memory and the material-change will up the vertex count too. Just get your coders to fix the normals.

    (ignore me if you're just rendering the model instead)
  • FatAssasin
    Offline / Send Message
    FatAssasin polycounter lvl 18
    Would you have to have some sort of flag on the polys so that the coders would know which normals to fix? How would the engine know just from the exported model which normals needed to be adjusted?
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    its the winding of polys that tells them that they are mirrored on UV. However the part where the seams are, ie the border of the uv-mesh, those will always make a problem. Afaik the only way to fix that is to duplicate all vertices that lie along this borderline, however this can as well be done in code.
    NV MeshMender is a lib that does stuff alike.
Sign In or Register to comment.