Materials and textures
- Creating Tileable Textures
- Displacement mapping
- Materializing Using File Textures
- Materializing Using Shaders
- Mental Ray Ambient Occlusion tutorial
- Mental Ray Contour Shader tutorial
- Preventing obvious tiling of textures
- Quick Material Assignment Tutorial
- Texture positioning - Normal mapping
- Texture positioning - Projection mapping
- Texture positioning - UV mapping
- Texture positioning - UV Texture Editor
- Using file textures
- Using procedural textures
Materials determine the appearance of object in your model. In Maya, these are called Shaders. Shaders assign properties such as color, reflectivity, transparency and many more to objects. Maya has base shaders, such as Lambert, Blinn and Phong, but these are mainly being used for very basic renderings and render plug-ins such as the Vector Render plug-in. The base shaders are replaced by much more powerful shaders that are available for Mental Ray in Maya. The most well-known Mental Ray shader is the MIA material.
Properties of shaders, such as the color, are normally specified as a single value. To be able to vary these on a surface, you can use textures. Textures are patterns that are used to vary properties such as the color or reflectivity across a surface. You can use images as textures (File textures) or generated patterns (Procedurals).
When you use textures, you need to pay attention to the way the 2D textures are placed on 3D geometry. This is done by texture positioning, or 'mapping'.
Shaders and textures are created and managed in the Hypershade.
You can access the Hypershade through:
The Hypershade has the following components:
- Menu- and Toolbar
- Menu's and buttons for frequently used functions
- Overview of all the shaders that are present in your scene. Note that there are tabs for other types of shaders, besides materials, as well.
- Create Bar
- Overview of all types of shaders that are available. When you click an item, a shader of that type is created. It will show up in the Work Area, but also in your library
- Work Area
- Shaders may be linked to create advanced shader networks. This is done here.
MIA Material for Mental Ray
The MIA material is the most used shader. It is a multi-functional shader optimized for architectural applications.
You are much more flexible and you have many more features available when using a MIA material in comparison to the Maya base shaders. Examples are; translucency, glossiness, refraction index and many more.
Textures are patterns that can be used to change the appearance of the shader. The most straightforward application of textures is for the color of a material. Instead of a single, plain color, you can use a texture to get a more detailed or realistic material. But the application of textures is not limited to the color of the material. A texture can also control the transparency, shininess, reflection and relief (bump) for example. Some of the properties of a material can be defined using a color image. Typical properties are: diffuse color, transparent color and reflected color.
Other properties are defined by a grayscale color value between 0 and 1. Textures can be used for these properties as well, but instead of color images, gray-scale images are used to represent the values between 0 (black) and 1 (white). Some examples are: transparency, reflectivity and bump (relief).
There are many different textures that can be used for shader properties, generally called attributes: If you click on the checkered box next to one of the material attributes, you can access the "Create Render Node " window with the different texture attributes that can be assigned.
There are two main categories for textures:
- File-based textures: using an image file from disk (jpg, png, tif, tga, etc.)
- Procedurals: computer generated patterns (like fractal, checker, noise etc)
In the image to the right several texture examples are show on the same polygon sphere.
- On the bottom right the standared Lambert1 is assigned. This is the Shader all materials get assigned when you create a new object.
- Next to that is a shader with a checker texture assigned to the color attribute.
- The bottom left displays the same checker shader, but this time the checker texture has also been assigned to the transparency of the material (as the transparency works with the grayscale color values as stated before, you notice that the white parts of the checker became fully transparent whilst the black parts remained opaque).
- The top right has the checker additionally assigned to the bump mapping. You can clearly see the illusion of relief in the white parts in comparison to the Black parts (this again indicates how the grayscale values of the checker do increase the hight of the white parts whilst leaving the black parts at its original relief hight).
- The top left shows a sphere which has a Brick file-image assigned the the color attribute of the shader.
File textures are typically images, such as a digital photograph, scanned image or an image downloaded from the internet. File textures are very effective as a basis for generating realistic materials. By using photographs of materials and applying them to a 3d object, all the detail of the photograph is transferred to the virtual object.
File Textures are mostly assigned to the color attribute of a shader. Application of file textures is discussed in more detail in Using file textures.
When working with file textures it is mandatory to set your project. Maya needs a central place where it can find all the files you link: the "Project".
A Maya project can consist of many files in various categories. To keep all this data structured, Maya uses a defined project structure. It is important to use a Project to make sure all relevant data can always be located. You may run into trouble, especially with file textures when you don't use this structure or when you forget to Set your project.
Some typical locations for different types of files within your project
- Maya scene files (.mb) are stored in the scenes/ directory.
- all pictures used as file textures are stored here.
- all rendered images data are store by Maya are saved here.
More details on how to start a new project or continue working on an existing project: Organizing your work: Projects.
Textures can also be generated by Maya using a mathematical expression. These textures are called procedural textures. Because these textures are generated by Maya, there is a range of settings available to alter the appearance of the texture without loss of quality, making it a flexible alternative for the digital image. An example of this is the use of the Checker in the Image of the different sphere textures in the "Textures" paragraph.
Application of procedural textures is discussed in more detail in Using procedural textures.
Positioning textures on 3D geometry is covered in Texture positioning.
When you are texturing and you are assigning different file textures or procedural textures to your Shader color, transparency, reflectivity etc. a network starts to form between all these different files and the shader. This network is called a "Shading network". This network displays all the different nodes that are intertwined to form the shader. Each shader is a network. The network for each shader can be displayed in the Hypershade.
- Select your material Shader in the material tab screen of the hypershade.
- Press the double arrow button at the top of the hypershade. This will show the inputs and outputs of the shader.
- If you want to clean up the work area where the shading networks are displayed, press the eraser at the top of the hypershade.
To the right is an example that shows the shading network of a simple lambert material in which a File texture is connected to the color of the material. All the different 'building blocks' you can see are called nodes. When you create a material you initially get a node displaying the material and a shading node. but when you create a file-image texture or procedural texture you get additional shader nodes for the placement (and sometimes projection )of your texture. More on texture placement later on.
In order to create creative or realistic materials using the shaders that are available, several additional 'building blocks' (nodes) can be linked to the shader. These nodes can be found in the library of the hypershade. There are a lot of node types for different applications. 2D texture, 3D texture, general utility nodes, etc. All these different nodes give you different possibilities. To the right you can see an example that uses the Luminance node form the Color Utilities tab to receive color input and transform it into grayscale output and the set range node form the General utilities to increase the resolution range of the output. There is a huge range of different nodes in the library. Maya nodes as well as Mental ray. It takes quit some experience to find your way with the different applications.
To make connections between different nodes you can middle click and drag from one node to another in the hypershade workspace. This will give you the different connection options for which output from the first node you want to connect to the input of the latter. If you select the "other" option, the "Connection Editor" will appear. This window will give you the option to see all the attributes you can connect between the different nodes. It can be quite intimidating when you are confronted with this window for the first time. Different nodes can have different attributes to connect and there can be quit a lot of attributes. The connections you want to make are also different on a per case basis. To make a connection you leftclick one of the Output attributes to the left of the window and you leftclick the attribute in the Inputs attributes on the right side of the window with which you want to connect it with. If you want to disconnect attributes you can just click again on the connected attribute.
As an example, when you connect a file-image based texture to the color attribute of a shader a connection is made between a file node and the shader node. The connection connects the outcolor atribute from the file texture to the color attribute of the shader. This connection is depicted in the first image of this paragraph. The connection made is: file1.outColor - lambert5.color
Shading networks covers this topic in more detail.