Just a quick lowpoly exercise. The focus was mainly on my normal map pipeline. Everything went smoothly, at least initially. I did run into some issues while uploading to Sketchfab. It wanted to to see if I could push the normal map to work on my model without using any edge splits (smooth groups, for you Max users). While initially successful, when I uploaded to Sketchfab, there were nasty artifacts in the lighting. Now, the reason has to do with the extreme smoothing (no edge splits, remember?) and the differences in tangent normal calculation between the baking program (Blender) and the render engine (Sketchfab). This is sometimes referred to as a desync.
So, there are really two solutions to this kind of issue:
- Alter the model to include either edge splits and/or additional loops (low-tech and still imperfect). This requires a quick rebake, and demands that all hard edges double as UV seams with padding between islands. Now, with less overall distortion, there will be fewer visible artifacts, when the model is lit. But, if the tangent spaces are out of sync, there will always be some visual problem-areas.
- Use HandPlane3D to ‘calibrate’ the tangent normal map (high-tech and mathematically correct option). The program smartly uses an object-space normal map and the lowpoly mesh to generate synced tangent-space normal maps. Since object normals do not vary between software, it allows for some clever programming to translate it into a wide variety of tangent normal standards. Very cool tool/tech. Oh, also, it’s free. So jump on it.
So, which solution did I choose? Well, since my model is hard-surface and has ample right angles, the first option worked just fine. There are some quirks, but they’re hidden in dark places, mostly invisible. Lurking… like the Sith. Also, contributing to the ‘quick and dirty’ decision is the fact that I actually don’t know which standard Sketchfab is using (there’s no documentation that I can find). I can certainly look into this in the future, but I don’t feel like taking the trial and error route for the peace of mind, knowing that my normal map is now invisibly superior to its previous incarnations.
Oh, and if you’re a Blender user, Download the .blend