I had a question about the way Unity handles materials in the engine. As I understand from here:
Unity can apply a specific material effect to a given object. IE, make the object have a highly reflective, metallic finish. However this appears to apply universally to the entire object, so if I were to make an object reflective, the ENTIRE object would be affected.
Now, let’s say I have an object like this sword hilt:
For sake of argument, the yellow and gray parts are meant to be gold and silver, respectively. The grip is ebony with a low polish, the black on the pommel and guard is polished jet, and the red parts are meant to be garnets. This model is all one object, however different parts of the hilt should react differently to the light:
The gold and silver would be highly reflective, as would the jet and garnets. The wood grip would be more diffuse. Let’s also say that to make it more complex, the background to the clips holding the grip together is more of a frosted texture than being highly polished, to make the raised details “pop” more. The background there would then be more diffuse.
As I understand from the Materials and Shaders manual entry, if I were to apply a particular effect to the model as it currently exists it would affect the entire thing, since it’s all one object and material. What I’m curious about is whether it’s possible to create a shader that can apply multiple material effects to the same object based on a mask image.
I’m not talking about a specular map, as I’m not JUST trying to determine how diffuse or shiny the surface is. This would be a separate map that works WITH the spec map by setting the material properties of whatever is under a map. Say, (255, 255, 255) is a very reflective surface ideal for the “jet” and “garnets” on this sword, while (65, 65, 65) is somewhat less reflective, but still very polished (ideal for the polished “gold” and “silver” parts of the hilt). This would essentially allow multiple materials to be applied to the same object. It could be either a separate map, or used as an alpha mask applied to the Spec map.
Any thoughts?
