Recently I began work on a new version of the virtual museum I created a few months back. The goal is to take the time to make the museum more visually appealing as well as a bit more user-friendly.
As part of my efforts to make everything look better, I began learning how to use Substance Painter – a texture painting software. It lets me create completely custom textures for the models I make instead of relying on seamless texture maps available online like I did for the first museum. For CAVE, we used Mudbox which, admittedly, does have texture creation capabilities, but that project didn’t require us to create normal, roughness, or metallic maps for our models. After about a week of playing around with it, I managed to finish my first asset, a window. It was a lot of work. I hand-painted nearly every part of it. When I was done, I exported my textures into Maya and then onto my model expecting everything to look like they had in substance painter. But to my surprise, that wasn’t the case. Maya didn’t seem to apply the normal map for the model the way it was done in Substance Painter. It was showing curves in areas that were supposed to be flat.
My first thought was that something had gone wrong in the texture export process from Substance. But there weren’t any options for me to select when exporting, I was simply able to choose what maps I wanted to export. As it turned out, the problem was in Maya from when I first created the model. When creating UV maps for a model, especially when you are applying multiple types of texture maps, you need to specify which edges are considered “hard” and which ones are considered “soft.” Hard edges set normal angles to 0 degrees which makes the edge look like a hard or defined edge and a smooth edge has the normals set to 180 and gives the edge a softer, more rounded appearance. This allows maps to be correctly placed onto a model. I hadn’t bothered with this before because I hadn’t needed to. By default, the normals are averaged and it’s understood that the outer edges of a UV group are the hard edges and that worked well enough for my previous work. However, for some reason, the outer edges of a majority of my UV groups had been smoothed out. This meant that when substance painter exported out the normal maps I had created, it would combine them with the normals in my model and create curves where they shouldn’t be. The way to correct the problem would be to select the original model, harden and soften the appropriate edges and remake the normal map.
I thought I had set up my UV maps in a fairly efficient manner, but I didn’t know about hardening and softening edges at the time. It turns out that a single UV group cannot have a hard edge in the middle of a smooth edged UV group. Whenever a hard edge is created, you need to split that UV along the hard edge and create some space between the UV groups – this is called padding. Not doing so creates visual artifacts along the hardened edge.
I couldn’t make this correction to my window model because it would have meant having to redo almost all of the texturing for something not extremely noticeable. And so the final result of my work is this.
But after all the trouble I went through for the window, I have figured out what exactly I need to do when creating UV maps. So, my next model, the main entrance to the museum, does not seem to have the same problems.