Blender 3D: Noob to Pro/Materials and Textures
|Applicable Blender version: 2.57.|
In 3D graphics, materials and textures are nearly as important as shapes. Scenes would be boring if all the objects were gray.
The material system in Blender allows you to model a wide variety of materials and how they interact with light. The next few modules will introduce the available options.
Note that material and texture settings are renderer-specific. This page and the following ones describe settings appropriate to the Blender Internal renderer, which is the one selected by default when you open a new Blender document. Other renderers (both built into Blender and external) are available; you will learn about these later, in Advanced Rendering.
Material versus Texture
A material defines the optical properties of an object: its color and whether it is dull or shiny. A texture is a pattern that breaks up the uniform appearance of the material. Very few objects in the real world have completely uniform surfaces. Instead most of them have patterning or variation in color: consider the grain in a piece of wood, the pile in a carpet, or the mortar in a brick wall.
Blender allows textures to influence materials in various ways, such as altering their colors. Multiple textures can interact with each other to produce interesting effects.
Note that textures have to be attached to materials to affect objects, you cannot apply a texture to an object without a material.
Other Material Settings
Additional settings you can specify for a material include shaders, ray-tracing and halo.
Shaders determine how the appearance of a material varies with the angle of the light: diffuse shaders give a non-shiny look, while specular shaders give a mirror-like finish. Blender's material settings always involve both kinds of shaders, but you can adjust a material's diffuse and specular colours separately to control their respective effects; if you set the specular colour to black, the surface will no longer produce reflections.
Ray-tracing is a technique for modeling the physical path of light through the scene. It is capable of producing exquisite reflection and refraction effects, including different degrees of reflectivity, translucency and transparency, and representing materials with different indexes of refraction. Blender provides two separate groups of ray-tracing settings, one for reflection of light and the other for its transmission through the material. You can control these settings on a per-material basis.
Halo rendering means an object no longer looks like solid matter, instead it appears to be made of bits of light. This can be used for real-world effects like fire, smoke and plasma, or to create fantasy effects with no connection to reality.
Note that reflections produced by ray-tracing are separate from that produced by the specular shader: the former are controlled by the material's mirror colour, while the latter is controlled by its specular colour.
Reflection is done in two different ways because, while ray-tracing produces the most realistic renders, it is also very CPU-intensive. It is therefore best to apply the ray-tracing effects when you're completely done with your modelling to help reduce high CPU usage. Enough practice with ray-tracing can also help you get stunning effects with just few clicks without you having to do much trial and error. You would do well to dedicate at least a few hours of your time to experimenting with it, so that in a future real production situation, you will be spared all that hassle.
Types of Textures
When you create a texture in Blender, you will see a popup menu listing a whole lot of different types for the texture. The Image or Movie texture type lets you use a scanned image to texture your object: for example, you can scan an actual piece of metal and use that to give your object a realistic metallic appearance, or use a photograph of an actual brick wall to texture the wall of a building model, and so on. You could even use a movie, which plays during the animation of the scene.
The other texture types are called procedural, which means the textures are generated according to algorithms built into Blender itself. These can be useful for simulating various effects when you don’t have an image of the real material handy; they can also be applied to augment the appearance in various ways. For example:
- using a “cloud” texture to “dirty-up” a material
- using one texture as a stencil to create an amalgam of two other textures.
- Diffuse reflection at Wikipedia.
- Ray tracing (graphics) at Wikipedia.
- Specular reflection at Wikipedia.
- Texture mapping at Wikipedia.