I’ve always been wondering how to combine two normal maps in Maya with normal nodes that are included in Maya. The reason I wanted to do it with the default tools that are included in Maya because anyone can do it. There’s been a few times where I find a awesome shader that does exactly what I want but the support for it or the actual shader has been dropped before I was born or just a long time ago.
This method I came up with in Maya was a MASSIVE big thank you to Marie-Michelle Pepin thanks to Marie who put up a tutorial she did on combining normal maps in Photoshop which you can find here on eat3D. I remembered I use to just pretty much do overlay in photoshop and thought that was it. But as Marie shows that actually isn’t quite accurate, I always thought that the overlay option seems a bit wrong but it looked alright to me. But again thanks to Marie she has confirmed to me that it is wrong, not by much but still wrong.
So I have a older tutorial back in 2011 oh how to combine two normal maps, but as you can see in the end they both get dulled a little so it’s not a proper way but if you need something quick does the job. Now I have another method which doesn’t dull the effect.
So to start of I’m going to assume you have some knowledge in using Maya.
So I want to combine these two normal maps I’m using Viewport 2.0 to view the normal maps in the viewport.
So we have the lol face(I think it’s called that) and a fabric normal I found by just googling.
So I have a Plane set up in Maya with a normal Blinn shader assigned and the lol face normal assigned, remember to swtich the bump2d to tangent space.
Now if we want to do like what is done in the photoshop tutorial we need to make the blue channel of the second normal map a 50% gray which is overlayed onto the original normal map. Then we would need to take the green and red channel and make it white and have that multiplied over the the original as well.
So to do this I made two “Remap Color” which can be found under “Utilities”
The reason I used “Remap Color” is because I want to control the RGB channels. So with my two Remap Color nodes I plug in my second normal map to each I rename one of the nodes to RG for Red and Green and the other one B for Blue. This is just so I know which channel is being affected. The FabricNormal is being plugged into the Color of the remap color nodes, if you choose default it will ask you for a specific channel you can just put color
Now with RG I want the Red and Green Channel to be white to do this I changed the graph to look like this.
As you can see the Red and Green channel is basically solid, By making it solid and at the very top with a value of 1 it means that channel will be a solid white colour now. You can test this out by plugging this remap color node to the colour of a shader. What you should see if pretty much mostly white with some really saturated yellows, it may be very few though
For the B remap color node I changed the Blue channel to a 50% gray like this
As you can see in the Blue channel I deleted one of the controllers and had the value moved to 0.5 which is a 50% gray.
Now after this is done I go into “Other Textures” and create a Layered texture
I plug the original lolface normal file node to the layered texture as well as added in the two remap colors
The way the Layering for the layered texture works is by what’s on the right is the bottom and what’s on the left is the top. Think of it as photoshop layers but flipped onto it’s side
The order of the RG and B remap color node doesn’t matter as long as the original is on the bottom(right side)
So for RG which we want to set to mutiply
and for B we want to set it to Illuminate. I actually original put Over because I thought Over meant Overlay, but I think all over means is putting the layer over so as if it was set to “normal” in photoshop
With this done you can plug the outAlpha of the layered texture to the 2dBump node.
And that’s it we now have lol face fabric
So what’s the point of this, well say you are doing clothing you can now overlay the fabric normal over it and it can be a small tillable texture that’s 512×512 and you can repeat the amount to have the fabric be small or bigger.
Also you can overlay more than just 2 if you want to add more you will just need to add two more remap color nodes and do all the same just make sure the two new RG and B remap color nodes are on the left side of the layered texture.
The Over you can see in this blendmode is just me showing the File1 options, which is at the bottom of the Layer(right)
So there we have a double lol face overlayed with fabric. I made the UV repeat on the fabric higher so you can see how it changes.
So this works in the Viewport however when you try to render it, it just turns into a bump map which pretty much defeats the purpose of this. So there is a way to fix this, for some reason when Maya takes the filenode and plugs the outAlpha into the bumpvalue for a 2dBump that has tangent space on it becomes a normal map. But if you take the outAlpha of the layeredTexture and plug that into the bump it turns it into a Bump.
make sure that Alpha is Luminance is ticked for the layerTexture
This is to tell Maya to take the Alpha from the overall value of the node. You can find a similar setting in the fileNode mine were all ticked
Now I copied the filenode of the original normal map which had the lol face normal map image. It doesn’t actually matter what file node is used we just need a image loaded up pretty much but since there is already a file node might as well use it. For this copy I deleted the place2DTexture node since we won’t be using it anyway basically I want to override the image file to display our layeredTexture instead. To do this I went down to Color Balance and turned color Gain to Black(none) and plugged in the outColor of the layeredTexture to the ColorOffset
After this is done I would just plug the fileNode into the 2dBump node.
And that’s it. Here is how it looks rendered
sorry about the dark render it was a quick dirty job. Rendered using MentalRay
Again Big thanks to Marie-Michelle Pepin for her tutorial in photoshop which made this possible. I hope this helped some people out. It’s been bugging me for 3 years and finally have it now. I hope