#1: ImproviseWhen you’re looking for a texture, it’s usually quite difficult to find an image online that suits your needs perfectly. There are so many different kinds of wood, metal and concrete and a variety of photos of each kind making it difficult to find exactly what you’re looking for. In the end, I often fall back on old images I’ve collected that are friendly to manipulation. Who ever said you have to use a photo of a piece of concrete as a concrete texture? Why should we have to sift through dozens of pages on CGTextures before finding something suitable? I have several pieces in my portfolio featuring a rock texture used as a part of a metal material. Why not? The cracks and crevices on a boulder are not all that different from the dirt and scratches on metal. Is there even that much of a difference between plaster and concrete? What about dirty metal and concrete? Heck, you could even use a stretched metal texture to give some more grain to your wood! Of course you can’t go too far and using a single image does give this technique away a bit, but if you combine a few images and adjust the colors and contrast enough, you’d be surprised by how far from the original texture you can go.
#2: Think in mathDid you hate math in school? I know I did! Unfortunately for us, animation happens to be one of those industries where math is actually pretty useful. While finances and statistics are pretty useless in this field, understanding interpolation types and coordinates can be extremely helpful. As shading artists, we can use certain aspects of our geometry as a part of our shader. Want to make something darker at the bottom and lighter at the top? Just use the Position output of the Geometry node: The red, green and blue channels simply correspond to the position of each point on the surface on the X, Y and Z axes. Add 1.0 to the blue channel (the Z axis) to slide the gradient down, multiply it by 0.5 to stretch it to the top – and voilà! Sure you can do that with a gradient texture, but what about something more complicated, like the distance formula? Though you can do that with the gradient texture too, by the way… And that’s only the beginning! Since we can do all this math in the node editor, we can create all sorts of procedural textures ourselves.
(Hexagonal Tiles by SynaGl0w)Or perhaps manipulating UVs with procedural textures:
#3: Texturing only takes you so farAll too often I see folks asking “How do you make a metal texture?” Actually, the appearance of metal has much more to do with the material setup than the texture you use. Texturing is important but, along with lighting, the material is what determines how good your model looks, whether you’re going for realism or a stylized piece.
(gramophone model by thesage)The only difference between the two images above is the material setup on each object. In the first one, the wood doesn’t really look like wood, it’s not varnished, yet it’s not old and damaged either. But the most obvious flaw is that all the metals look like plastic. In the right image, however, I’ve taken the time to get the materials to feel real, like shiny metal and solid wood with a coat of varnish.
#4: Keep it real…If you’re going for realism, being physically accurate is obviously important; by this I mean you need to obey the laws of physics like energy conservation and fresnel reflections. The law of energy conservation states that the amount of light bouncing off a surface cannot be greater than the amount of light that hits the surface. Cycles takes care of this nicely for us, as long as we use Mix Shaders instead of Add Shaders, since each shader alone is the result of the full amount of light being reflected off the surface. Using Add Shaders, we’re forcing more light to be reflected than the amount of light that was originally emitted. For example, if we have a 100% white diffuse shader and we add it to a 100% white glossy shader, the result will be a shader that’s twice as bright as is physically possible (200% white). But if we use a Mix Shader we’re controlling a ratio between the two shaders, mixing a bit of the one shader with a bit of the other, making the total 100%. However, some shader nodes are merely building blocks and are not meant to stand on their own, like translucency, hair and volumes. In such cases it may be better to add them. The other really important thing to remember is fresnel, which is a function that gives us a lighter value at the grazing angles (where the surface normal is perpendicular to the camera normal) than in the middle: In reality, things are always more reflective at the grazing angles. It is crucial to use fresnel when getting things like plastic and ceramics right:
Left: Plain mix with 0.065 Fac – Right: Mix with fresnel (IOR: 1.5)Everything from rocks, asphalt, paper and even dry wood have at least a tiny bit of glossy reflection in them, and thus we have to use fresnel to control their reflectivity.