Mia stands for Mental Image Architecture, it is the most used material to shade hard surfaces like wood, glass, metal, and stone. While there are 3 different Mia shaders, (mia_material, mia_material_x, and mia_material_x_passes), it is most convenient to always use the latter one, as the previous versions are identical except for the fact they miss some bump and render passes features.

A major advantage of Mia compared to standard Maya shaders like Blinn, is that it is energy conserving, meaning that the sum of its values (diffuse, reflection, refraction, translucency, etc.) never add up higher than 1. Suppose you have a Blinn shader without reflections and diffuse=1; if now you increase its reflectivity to 0.4 you will end up with a total shading value of 1.4, the surface will appear too bright and you’ll need to decrease diffuse to 0.6 in order to restore the total value to 1. In Mia material on the other hand, increasing reflections or refractions automatically decreases diffuse.

Because of its fast shading computations, Mia Material X is very effective for both 3D architectural visualizations and high quality 3D cartoon animations.

In this free interactive tutorial you find a complete list of all Mia material x attributes simulated with a dynamic value slider. This documentation is offered by the Swiss High-End rendering company VisualCenter.

Diffuse

1
0
360
0

Color

“Color” is the diffuse color of the object. This value can be a flat color or a texture map.

1
0
1
1

Weight

“Weight” is the brightness of diffuse color. This value is multiplied with color, therefore by default 1, the final color equals the diffuse color. If weight is 0.5, the final color is 50% of its brightness.

1
0
1
0

Roughness

“Roughness” is how rough a material appears. Hard surfaces like metals are usually rendered with the default value of 0, causing the object to look brighter at front angles. Rough materials like skin, rubber, and cloth tend to look more flat because they scatter light diffusely from every angle. Notice in the simulation how by increasing roughness the front of the object becomes darker and therefore giving the car a flat look, as if made of rubber. Remember if you increase roughness also to decrease “reflection glossiness”, rubber for example has not only rough diffuse color but also rough reflections, leaving reflections sharp would not make it look convincing.

Reflection

1
0
360
0

Reflection Color

“Reflection Color” is the color of reflections. Usually white for materials like plastic or covered in finish like car paint. In more diffuse materials reflections gain some coloring. Skin for example reflects a subtle bluish color, rust a brownish color; generally all reflections are slightly affected by the overall diffuse color and simulating it in the render adds a degree of realism.

1
0
1
0

Reflectivity

“Reflectivity” is the object’s overall reflectivity. The final reflectivity also depends on the BRDF (see below). In the Mia material reflections subtract diffuse, this means that the more reflective the material is, the less diffuse color it emits, qualifying the shader as “energy conserving”, meaning that the sum of diffuse and reflection never exceeds 1.

1
0
1
1

Glossiness

“Glossiness” is the blurriness of reflections. By default 1 reflections are glossy (sharp), like a mirror. The rougher a material is and the less glossy (matte) its reflections are, resulting in blurred reflections. Usually every material in real life, except for perfect mirrors, has some degree of matte reflections.

1
0
64
32

Glossy Samples

“Glossy Samples” determine the noise quality of blurred reflections. Notice that the more you decrease“glossiness”, the more blurred reflections become grainy. This is because blurry reflections require more samples to render smoothly. When “glossiness” is default 1, “samples” attribute is inactive, this is because sharp reflections require a single ray to be calculated. The default value of 8 is usually sufficient to render slightly blurred reflections and not close to the camera, values around 32 and 64 are used for blurry and key objects while values above 128 are rarely used and only for very blurry and very reflective surfaces. Consider using interpolation to avoid excessive sampling and therefore saving render time. A value of 0 causes the shader to emit only a single ray and therefore resulting in perfect mirror reflections.

1 OFF

Highlights Only

“Highlights Only” deactivates polygon reflections and keeps only final gather highlights, this option is used to reduce render time as no actual reflections rays are traced, but only highlights are shown. Notice that by activating this attribute all objects reflections disappear, including light panels, which in this case are polygon planes. While it may not be completely convincing for “hero” objects in a scene it can work well for less essential scene elements. It tends to work best on materials with weak or extremely blurred reflections. Additional note: highlights from Maya light sources remain visible regardless of this attribute, if you don’t want them to be visible you have to either set “Specular Balance” (in the Advanced tab) to 0 or uncheck the attribute “Emit Specular” in the light’s Attributes Editor.

1 OFF

Metal Material

“Metal Material” uses the diffuse color as reflection color and darkens the object around its edges. This simulates a more realistic metallic look, where reflections are affected by the diffuse color. This is not the case with plastic for example, where reflections are white no matter if its color is red or blue.

1 OFF

Use Max Distance

“Use Max Distance” is by default Off and lets reflection rays travel infinitely from a shaded point to determine its reflection color. Turning this attribute On allows you to set a distance limit at which they stop travelling, in this case you can see how the reflection of the blue sphere disappears.

1
0
200
200

Max Distance

“Max Distance” determines how far reflection rays travel from a shaded point. In the simulation you can see that by increasing the value, more distant spheres in the scene become visible in the car’s reflection. A value of 0 causes rays to travel infinitely.

1 OFF

Fade To End Color

“Fade To End Color” determines how reflection rays behave when they reach their “Max Distance” value. By default they render the environment color, in this case a bright HDR map. When activating this attribute however, reflection rays render the specified “End Color”, in this case black.

1
0
360
18

End Color

“End Color” is the color that reflection rays render when they reach their “Max Distance” value.

1
0
19
19

Max Trace Depth

“Max Trace Depth” is the number of times reflection rays bounce within a scene. This amount is by default set to 5 and is sufficient to shade the majority of scenes. This means that after the fifth bounce reflection rays die and get the first object or background color they encounter. A “Max Trace Depth” value of 0 means that Maya will automatically set the number of ray bounces. Be aware that if you want to increase “Max Trace Depth” you also need to do it in Render Settings, in the Quality tab, and under “Raytracing” increase both “Reflection” and “Max Trace Depth” parameters. In this simulation the camera is placed between two parallel mirrors resulting in an infinite loop of reflections.

1
0
1
0

Cutoff Threshold

“Cutoff Threshold” determines how much of reflections rays are cut off and rendered black.

1 ON

No Highlights For Visible Area Lights

“No Highlights For Visible Area Lights” is by default On and prevents Mia from rendering bright spots coming from Final Gather. This attribute is not related to the “Emit Specular” attribute or to the actual Maya’s area light.

1 ON

Skip Reflection On Inside

“Skip Reflection On Inside” is by default On and prevents the backside of polygons to unnecessarily render reflections, thus reducing render time. This can often be the reason of why Mia seems to not render reflections, you might have a car door with accidentally its Normals pointing inwardly and therefore not showing any reflections. To fix this simply go to the Polygon menu and click on Normals> Reverse; or in case of this example, where you want an object to reflect on both sides, uncheck the “Skip Reflection On Inside” option box to cause the object to reflect on both sides.

Refraction

1
0.1
2
0.1

Index of Refraction

“Index of Refraction” determines how much light bends within a transparent object. Water has an IOR of 1.33, a value of 1 causes light not to bend at all but to travel straight through the object. Suggestion: if you want to make a non-refractive material it is better to set transparency mode to “thin walled” but still have some refraction, instead of using a IOR value of 1. Notice: in the BRDF tab, if you switch on “Use Fresnel Reflection”, the value of IOR will be used to determine 0 and 90 degrees Reflection.

1
0
360
0

Refraction Color

“Refraction Color” is the color light gains when travelling through the object. Notice in this example how this color affects final gather and its surrounding illumination.

1
0
1
0

Transparency

“Transparency” defines how much light passes through an object. Remember that since Mia material is energy conserving, increasing transparency automatically decreases diffuse and reflection, so that their total value doesn’t exceed 1.

1
0
1
1

Glossiness

“Glossiness” determines how blurry refractions appear. By default 1, refractions render perfectly sharp. Decrease the value to increase blurriness.

1
0
64
0

Glossy Samples

“Glossy Samples” determines how many rays are used to calculate refractions. The blurrier refractions become, the noisier they appear. This is because matte reflections require more rays to render smoothly. The default value of 8 is sufficient to render “Glossiness” values around 0.8 and not very bright or close to the camera. 32 or 64 samples should be used for “Glossiness” values around 0.5 while 128 or 256 samples only for very blurry reflections on key objects.

1 OFF

Use Max Distance

“Use Max Distance” is by default Off and lets refraction rays travel infinitely through a transparent object. Turning this attribute On allows you to define a distance limit at which they stop travelling. You can see in this example how thicker parts of glasses become dark.

1
0
10
0

Max Distance

“Max Distance” is the distance at which refraction rays travel through a transparent object. The higher the distance and the thinner the material appears. Thick, solid materials tend to not let light travel through distantly, making it appear duller. A value of 0 means that light travels through infinitely.

1 OFF

Use Color At Max Distance

“Use Color At Max Distance” is by default Off and causes a refraction ray to render an environment color once it has reached its “Max Distance” value. Turning this attribute On allows you to choose a color to render instead, in this case blue.

1
0
360
0

Color At Max Distance

“Color At Max Distance” is the color a refraction ray renders once it has reached its “Max Distance” value.

1
-1
18
18

Max Trace Depth

“Max Trace Depth” determines how many times refraction rays are allowed to bounce. This amount is by default set to 5 and is sufficient to shade the majority of scenes. This means that after the fifth bounce the refraction ray becomes a plain straight transparency ray and gets the first object or background color it encounters. This is not the case with standard Maya shaders like Blinn, where refraction rays simply return black color once they have reached the Max Trace Depth value. Be aware that if you want to increase “Max Trace Depth” you also need to do it in Render Settings, in the Quality tab, and under “Raytracing” increase both “Reflection” and “Max Trace Depth” parameters.

1
0
1
0

Cutoff Threshold

“Cutoff Threshold” determines how much of refractions rays are cut off and rendered black.

Solid vs. Thin Walled

“Solid” or “Thin Walled” option defines if one or both sides of an object are taken into account for transparency and translucency calculations. While the default “Solid” mode renders more realistically objects like glass, where light enters from one part and exits from another, “Thin Walled” mode can be useful to render single faced surfaces like windows and curtains. Notice how in “Thin Walled” mode the back faces of the glasses are not visible.

Transparent Shadow vs. Refractive Caustic

Mia by default renders “Transparent Shadows”, meaning that light passes straight through the object casting shadows according to the material’s transparency and color settings. This is the best option for rendering surfaces like windows, where you don’t want them to cast caustic patterns on the ground. If you want an object like a bottle to refract photons and cast caustics, switch to “Refractive Caustics” mode.

1 OFF

Backface Culling

“Backface Culling” renders the backside of a surface invisible. The backside of a surface is the opposite side in which Face Normals point. To see Face Normals of a polygon go to Display > Polygons > Face Normals. To invert them, go in the Polygon menu and click on Normals> Reverse. In this example the car’s door has its Normals pointing inwardly, meaning that we see its backside

1 OFF

Propagate Alpha

“Propagate Alpha” is by default Off and causes Mia material to always render 100% white in the alpha channel. This can be a problem if you need to render and composite objects with transparency like glass, and turning On this attribute will output the object’s alpha channel according to its transparency value.

Anisotropy

1
0.1
5
0.1

Anisotropy

“Anisotropy” stretches reflections to simulate parallel running micro fibers materials like CDs and brushed metals. When a surface is flat or homogeneously bumpy (isotropic), its reflections don’t change depending on the object’s rotation or direction, but when looking at a fiber carved material (anisotropic), they do. In such a situation, specular highlights tend to be elongated and run perpendicular to the direction of the grooves. The default value of 1 stands for a flat surface without anisotropy, decreasing the value stretches reflections horizontally and increasing the value stretches them vertically. Important: anisotropy works in conjunction with “Glossiness” and won’t be visible if left at default 1. Decrease “Glossiness” to increase the anisotropic effect.

1
0
1
0

Rotation

“Rotation” simulates the orientation of the micro fibers, if they are oriented horizontally, reflections will be stretched vertically.

Channel

“Channel” determines according to which of the following components is used to calculate “Rotation”

-1: the base rotation follows the local object coordinate system.
-2: the base rotation follows the bump basis vectors
-3: the base rotation follows the surface derivatives
-4: the base rotation follows a vector placed in state>tex

BRDF

1 OFF

Use Fresnel Reflection

“Use Fresnel Reflection” is by default Off and allows you to control manually the amount of reflections facing the viewer (0 Degree Reflection), reflections perpendicular to the viewer (90 Degrees Reflection), and the falloff of this curve (Brdf Curve). By turning “Fresnel Reflection” On, these attributes become inactive and reflection is calculated by the Fresnel equation where its strength is determined by “Index of Refraction” in the “Refraction” tab. In such case, IOR should be increased to values around 5 and 20 to give visible results.

1
0
1
0

0 Degree Reflection

“0 Degree Reflection” is the intensity of reflections directly facing the viewer. This value is multiplied with “Reflectivity”, in the “Reflection” tab. If for example “Reflectivity” is 0.8 and “0 Degree Reflection“ 0.5, the total front reflectivity value will be 0.4. By default this value is only 0.2 and not one because it correctly simulates that materials reflect less from the front than from the side. If however you need to shade a mirror, set this value to 1.

1
0
1
0

90 Degree Reflection

“90 Degree Reflection” is the intensity of reflections perpendicular to the viewer. This value is multiplied with “Reflectivity”, in the “Reflection” tab. If for example “Reflectivity” is 1 and “90 Degree Reflection“ 0.8, the total front reflectivity value will be 0.8.

1
0
20
0

Brdf Curve

“Brdf Curve” defines the transition curve from 0 to 90 degrees reflection. The default value of 5 states that Normals facing the camera are considered to be “0 Degree Reflection” while Normals pointing at 90 degrees from the camera are “90 Degree Reflection”. If you decrease this value you shorten this transition range, meaning that for example you cause 60 degrees reflections to already be considered as 90 degrees reflections and therefore being more reflective. If you increase the value you cause most of the object to be considered as front angles and therefore appearing less reflective. Notice how in this simulation front reflectivity remains unchanged, exactly because this attribute doesn’t change nor front nor lateral reflection values but only its transition curve.

Translucency

1 OFF

Use Translucency

“Use Translucency” is used to simulate light scattering through a surface. Translucency works in conjunction with “Transparency” and “Solid” vs. “Thin Walled” mode, found in the “Refraction” tab. With “Thin Walled” activated, light scatters from the backside to the front of a surface, as demonstrated on the lamp rendering. With “Solid” mode activated, light travels from the backside of the object to its front, as demonstrated on the cactus standing in front of a light source. Notice that both objects are 30% transparent, that is why they appear transparent when Translucency is off; notice when turned on, transparency is converted into translucency. Translucency for Mia material is not as powerful and accurate as subsurface scattering shaders (SSS), as it doesn’t calculate light dispersion inside objects, but rather transports light from back to front faces. Another attribute to consider when working with translucency is “Refraction Glossiness”, objects behind a curtain for example don’t appear perfectly sharp, and adding a degree of blurriness increases realism.

1
0
360
0

Color

“Color” is the color of transparency converted into translucency.

1
0
1
0

Weight

“Weight” defines how much transparency is converted into translucency. A value of 0 ignores the translucency and renders the object only according to its transparency value. A value of 1 converts all its transparency to translucency. In this example both objects have always a transparency value of 0.3. Notice how the more Translucency increases, the less transparent the object appears, making it look thicker. Therefore, to simulate at best a translucent effect it’s best to have “Weight” at an intermediate value.

Solid vs. Thin Walled

Not found in the “Translucency” tab but in “Advanced Refractions”, these are two options that significantly affect translucency and are therefore appropriate to include them in this chapter as well. By rendering with “Thin Walled” mode, translucency takes into account only the front faces of the object, while “Solid” mode considers the entire object.

1
0
1
0

Transparency

Not found in the “Translucency” tab but in “Refractions”, “Transparency” is an attribute that significantly affects translucency and is therefore appropriate to include it in this chapter as well. In this simulation “Translucency Weight” always remains at 1, meaning that 100% of what becomes transparent becomes translucent.

Indirect Illumination Options

1
0
1
1

FG / GI Multiplier

“FG / GI Multiplier” is a multiplier of the material’s final gathering contribution. By default 1 it equals what defined in “Render Settings”; 0.5 means half of it and 0 turns off final gathering for that material.

1
0
10
0

Final Gather Quality

“Final Gather Quality” determines the quality of final gather for that particular material. If left at default 1, the shader performs like any other one, its total final gather quality equals the final gather quality defined in “Render Settings”. In this example the scene is rendered with very low FG quality, the ground is shaded with lambert and the car with Mia material x. Notice how by increasing “Final Gather Quality” the car’s illumination becomes less spotty while the floor remains unchanged. This technique is used to increase Final Gather quality on a per object basis, without the need to increase the overall scene’s FG quality and therefore saving render time.

1
0
1
1

Final Gather Quality Weight

“Final Gather Quality Weight” is a multiplier of “Final Gather Quality”. In this example “quality” is set to 10, if “weight” is 1 means that the total final gather quality is 10*1=10, which means unchanged. A “weight” of 0.5 results in a total final gather quality of 10*0.5=5.

Ambient Occlusion

1 OFF

Use Ambient Occlusion

“Use Ambient Occlusion” casts rays from an object into the scene, once a ray touches an object it casts a shadow on that point. This results in the darkening of areas where objects are close to each other. Ambient Occlusion is a technique used to add geometry contrast by restoring shadows which, especially with Final Gather and Global Illumination, tend to disappear. Attention: Ambient Occlusion for Mia material works only with Final Gather.

1
0
32
0

Samples

“Samples” are the number of rays casted to calculate Ambient Occlusion. Increase the value when shadows appear noisy, this tends to happen more on bright surfaces or with high “Distance” values.

1
0
100
0

Distance

“Distance” is the distance at which shadow rays travel. Low values cause rays to die off at short distance from the object, resulting in a subtle dark outline between objects. This setting can be useful to add scene geometry details. Longer distances can be used to simulate a diffuse sky illumination. For the sake of demonstration, in this example “Ambient Occlusion” is colored red in order to observe how it grows in distance. A value of 0 causes rays to travel infinitely, resulting in an overall darker image.

1
0
360
0

Ambient Shadow Color

“Ambient Shadow Color” is the color of the Occlusion’s dark areas.

1
0
360
0

Ambient Light Color

“Ambient Light Color” is the color of the Occlusion’s bright areas.

Use Detail Distance

“Use Detail Distance” is by default On and tells occlusion rays to always darken areas they hit, without taking into account illumination, colors and self illuminating objects. As you can see in the simulation, the room corners are unrealistically dark even though they are exposed to direct window light and there is an unrealistic shadow under the incandescent sphere. By switching to “With Color bleed” all these factors are taken into account and the scene renders correctly. Switching to “Off” completely disables ambient occlusion.

Interpolation

1

Grid Density

Grid resolution used to calculate blurred reflections, notice that increasing the number (lowering theresolution) the surface becomes more blurry and therefore also loses details.

0 = grid resolution is double that of the rendering
1 = grid resolution is same as that of the rendering
2 = grid resolution is half of that of the rendering
3 = grid resolution is a third of that of the rendering
4 = grid resolution is a fourth of that of the rendering
5 = grid resolution is a fifth of that of the rendering

1 OFF

Interpolate Reflection

“Interpolate Reflection” is an alternative option to blur reflections. Glossy reflections usually require a lot of sampling to render smoothly and therefore result in long render times. Interpolation pre-calculates blurriness on a grid across the image so that less “Glossiness” and “Glossy Samples” are needed. This fast and effective technique can however cause artifacts. Blurred surfaces can in fact loose details, overlap or blend with neighbor reflections. It is therefore recommended to use interpolation for flat surfaces and not detailed curvy ones. It is also not recommended to be used for animation as the grid pattern would become visible.

1
0
5
0

Reflection Samples

“Reflection Samples” determines how many surrounding grid points are used to smooth reflections. Higher values produce blurrier results.

1 OFF

Use High Detail Distance

“Use High Detail Distance” is by default Off and causes reflections to blur evenly throughout the entire surface. This can make reflections appear unrealistic as objects seem to look detached from the ground, contrary to the real world where reflections are sharper near reflected objects and blurrier further away. Activating this feature allows a second set of detail rays to be traced to create a clearer version of objects within that radius.

1
0
50
0

High Detail Distance

“High Detail Distance” is the distance at which reflections appear sharp. Notice in this example how by increasing the value the car becomes more and more clear, starting from the bottom of its wheels.

1 OFF

Single Sample from Environment

“Single Sample from Environment” can be turned On to take into account only a single environment sample even if multiple reflectivity rays are traced.

1 OFF

Interpolate Refraction

“Interpolate Refraction” is an alternative option to blur refractions. Blurry refractions require a lot of samples to render smoothly at the expense of long render times. Interpolation pre-calculates blurriness on a grid across the image so that less “Glossiness” and “Glossy Samples” are needed. This technique however is less accurate than the physically correct refraction glossiness and is not recommended to be used for hero objects or animation.

1
0
5
0

Refraction Samples

“Refraction Samples” determines how many surrounding grid points are used to smooth reflections. Higher values produce blurrier results.

Bump

1 OFF

Overall Bump

“Overall Bump” always affects both diffuse and specular, regardless of whether “No Diffuse Bump” is on or off. If you use mia_roundcorners it’s recommended to map it in Overall Bump.

1 OFF

Standard Bump

“Standard Bump” affects diffuse and specular, but if “No Diffuse Bump” is switched on, the bump map will only displace reflections and not the diffuse. If you use any Maya shader it’s recommended to map it in Standard Bump.

1 OFF

No Diffuse Bump

“No Diffuse Bump” works only with “Standard Bump”. If switched on, the bump map only displaces reflections, leaving the diffuse color layer flat. With “Overall Bump”, this switch doesn’t have any effect.

Advanced

Bump Mode

“Bump Mode” defines the coordinate space of vectors, and if they are additive or not.

0: compatible mode. The old bump parameter is used in place of “Overall Bump” and “Standard Bump”
1: “add” mode in “internal” space
2: “add” mode in world space
3: “add” mode in object space
4: “add” mode in camera space
5: “set” mode in “internal” space
6: “set” mode in world space
7: “set” mode in object space
8: “set” mode in camera space

Mental ray Bump

“Mental ray Bump” is used to map a mental ray bump node, this makes the shader incompatible with the Maya bump workflow.

1
0
1
0

Specular Balance

“Specular Balance” is the amount of specular reflections from light sources. This has no effect on geometry or environment reflections.

Cutout Opacity

“Cutout Opacity” is used to cut out invisible parts of an object. This is mostly used as a silhouette technique for leaves, branches, and people. In this example, the first image uses “Transparency” instead of “Cutout”, resulting in visible reflections and refractions where the polygons are not meant to exist.

1
0
1
0

Additional Color

“Additional Color” is the equivalent of a Maya shader’s “Ambient Color” or “Incandescence”. It’s used to self-illuminate an object like a TV monitor. This value can also be higher than 1.