From Blue Mars Developer Guidebook
| This tutorial describes the components and settings of the Material Editor window that appears in each of the 8 Blue Mars Sandbox Editors It is in a first draft state and consists of two pages due to length. The second part can be found at Material Editor 2. It is partly based on the CryEngine2 Manual by Crytek GmbH. See the section in that manual under References > Material and Effect > Material Editor Reference. Some items are incomplete because either the CryEngine manual does not have enough information, or the Blue Mars version is different, and I have not been able to figure out what those items do. If you know more about it, please fill it in. As a statistical note, I have found no less than 200 settings total in the editor. Not all can be used at once, but it is an amazingly flexible graphics engine.
See Also MaterialEditor Overview
Basic Material Information
Objects within Blue Mars have three parts that determine how they look on the screen. These are the geometry, material settings, and texture maps.
Geometry - The geometry is contained in a Crytek Graphics File (.cgf) format file. This file lists the vertexes (corners) of the polygon shapes that make up the surface of an object, and where the various texture maps are applied across the polygons, a process called mapping. Geometry files are generally created in an external 3D program, and then exported to .cgf format directly, or to the COLLADA .DAE format and then converted to .cgf by one of the Sandbox Editors. An exception to this is terrain geometry, where the geometry is recorded in a height map file created when you first create a new city.
Material Settings - The material settings are contained in a Material file with a .mtl file type. It is actually an XML format text file. While the Material file can be edited directly with a text editor, the Material Editor window is organized better and show you the changes to your object on the screen immediately.
Texture Maps - The texture maps are what make your object look like something in particular rather than a generic grey shape. They include a Diffuse map, which is what we normally think of as a photo type image, but also a number of other maps which encode additional information about how that part of the object should look. Texture maps cannot be changed within the Blue Mars editors, and so must be created externally, and then linked to from the material file.
Sub Materials Simple objects have a single set of material settings applied to the whole object. Complex objects can have up to 31 sub-materials, each with their own settings, applied to different parts of the object. To avoid making the graphics engine work too hard, it is recommended that you limit sub-materials to 10 or so per object. Each object can have only one geometry and one material file assigned to it, but different objects can share a geometry file or different material file. If you item is very complicated, and needs too many polygons to define the shape or too many sub-materials to define how it looks, it needs to be built in parts, and then linked together once placed in the Editor.
Sub materials in a single .mtl file are identified by their ordinal number in the list of sub materials in the file, not by name. This order can change when even seemingly minor edits are made and a new cgf file generated and will definitely be changed if a new material is added. Practically this means that when editing a mesh, if the materials assigned to faces are changed, or materials added or deleted, it's necessary to create a new mtl file. That requires assigning new settings to the material and any sub material.
The Materials Editor distinguishes between single materials and multi-materials by their icon shape and when creating them within the editor. This is discussed more below.
Reusing mesh files with different materials In some cases it may save substantial download memory if the same mesh cgf file can be used more than once for quite different purposes by using a different material on different instances of one mesh. Please see the Block Editor Comments page for more on instancing to save memory.
To use the same mesh, the replacement material must have the same number of sub-materials (or not be a multi-material if the original wasn't). To create a new multi-material with the same number of sub-materials using the Create Material or Create Multi-Material discussed below. Then select the object instance whose material is to be changed, right click on the new material and select the Assign to Selected Objects option. Then fill out the new materials' slots. It is very helpful if the materials have meaningful names when assigning different ones to a mesh. Load the slots in the sub materials with the new values, or copy and paste them (see below) if there are existing materials to use or start from.
To go back to the originally assigned mtl file, select the object and hit the middle "Box Icon" at the top of the window Reset Material on Selection to Default
The Material Editor Window
The Material Editor window can be opened using the View > Open View Pane > Material Editor menu command, the "M" keyboard hotkey, or the "Opens Material Editor Dialog" Toolbar icon (looks like a blue ball). Once open it can be resized, docked to one edge of the main Editor window by dragging to the edge, or torn off and dragged anywhere, including onto another monitor by click-drag on the title bar. The window consists of three main parts, the toolbar on top, a material browser pane on the left, and the material settings pane on the right. The divider between the panes can be shifted by dragging with the mouse. The Material Editor window may be docked together with the RollupBar and other items. In this case it will show as a tab on the bottom of the grouped windows. Dragging the tab will tear off a separate window, and dragging one title bar onto another will dock them together. Dragging one title bar onto the Toolbar line just under the title bar will show both at once stacked vertically.
Creating Material Files - Some 3D graphics programs can export some of the material settings data into the DAE type file when exporting. Importing to one of the Blue Mars editors will then create a corresponding .mtl file, but apparently none of them transfer ALL of the settings. In addition 3D programs use a different graphics engine, and so do not display items as they will appear in Blue Mars. The Blue Mars editors do, however, use the same graphics engine as the BlueMars.exe client software, and so show items as they will appear in the virtual world (given the same lighting settings in the level). Thus in your workflow, don't worry too much about how things look in the 3D program, since you will need to adjust the final settings in the Material Editor window.
If your 3D program does not create an exported material file, you can create new material files from within the Material Editor window using the "Add New Item" button on the toolbar (page with + sign icon, just right of the "Materials Library" box), or by right clicking in the browser section and choosing "Add New Material". A "Save As" window will open, and you should navigate to the correct folder. This would be the same folder as your geometry model for individual items, and the City or Common folder for City and Block type items. Whatever UV mapping you had set up for your model should carry over and be picked up by the various sub-material IDs.
The order of sub-material IDs seems to be somewhat random. If you have to figure out which ones got assigned to what UV map, some easy ways are:
- Turn the glow amount slider to maximum for each ID slot and see what parts glow.
- Make a set of numbered diffuse textures and apply them to the various IDs to see which is which. The UVcheck textures in the AR_Common.pak in the \Game directory can be used as a source if you don't have any others. This is a 7-Zip archive and can be opened by that program and the files copied out to use.
Changes to material settings once locked in are immediately saved into the .mtl file. Therefore if you are experimenting and do not want to lose saved settings, make a copy of the file as a new material and work with that. To lock in a setting generally requires clicking somewhere else, but there is no global save function for the material file as a whole.
Hovering the mouse over the toolbar icons will give a tooltip with the name of the function. The toolbar buttons and functions from left to right are:
Assign Material to Selection - Assigns the currently selected material in the browser pane to the currently selected object(s) in the perspective view
Reset Material on Selection to Default - Resets the material to the original one used when the object was created.
Get Material from Selection - Will open the browser pane to highlight the material assigned to the currently selected object.
Pick Material from Object - When clicked, and the mouse hovers over an object, the object will flash pink and red and displays in text at the mouse pointer the material assigned. Clicking the object will open the browser to that material.
Materials Library - Sets which list of materials will be shown in the browser pane from among the library, all materials, or the ones used in the current level.
Add New Item - Opens a "Save As" window for you to choose the location of a new material file. After you hit enter the file will be created with default settings, and appear in the browser pane on the left side.
Remove Item - When a material is selected in the browser pane, this icon will let you delete it.
Copy Material - Appears broken.
Paste Material - Appears broken.
Generate CubeMap for Selected Object - Appears broken, use the instructions at Creating Cubemaps instead. A cubemap is a single image made up of 6 views in the orthogonal directions (east, west, north, south, up, and down) around a given point, and is used for reflections from an object located at that point.
Open Large Material Preview Window - Opens a material preview window.
Material Preview Window
This window shows a re-sizable preview of a material. It can be re-sized like any normal MS Windows window. The following mouse functions can change the view of the sample object:
- Left mouse + move mouse - Rotates and tilts the camera view
- Middle mouse + move mouse OR scroll wheel - Zoom view
- Right mouse + move mouse - Pan camera view slightly sideways & vertically
In addition to the Assign, Reset, and Get material toolbar items, which should work the same as the main Material Editor window, there are two menus:
- Sphere, Box, and Teapot - Lets you choose as a sample object among these three shapes.
- Custom - Opens a file selection window to let you choose any .cgf model as the sample object.
- Update Always - If the material has active features such as texture map motion, it will update the sample in real time.
- Fog - Use unknown.
Material Browser Pane
The left pane shows a materials file list in a standard Windows Explorer type file structure. The dropdown list in the upper toolbar lets you choose to show All Materials, your library, or just the ones used in the currently loaded level.
Second toolbar row
- The circular arrows mean reload the folder list which is used if mtl files have been updated to force the editor to re-read them. NB Proxy materials cannot be reloaded, it is necessary to exit and restart the editor if the proxy objects have been changed.
- The pushpin button lets you filter by name according to the text entry box to the right of it.
Clicking the [+] buttons will open sub-folders. If the opened folders list gets too long, a green scroll bar will appear on the right side of the pane. Simple materials have a blue ball icon, while multi materials have a three blue balls icon. Multi materials can be further opened to show the individual sub materials. Locked materials have a lock symbol, and represent materials in .pak files you cannot edit. The currently selected material or sub material is listed at the very bottom of the Material Editor window. To change a locked material, make a copy to your own directory, assign the copy to your object, then edit as needed.
[Put info about where files should be located here]
Right clicking on an different parts of the Browser Pane will bring up a "context menu", whose items depend on where you clicked:
Empty space or Folder Heading:
- Add New Material
This is used if you are creating a material from scratch within the editor as opposed to using and existing mtl file. Selecting this creates a material slot for a single material, not a multi-material, so it won't support sub-materials. You'll be prompted for where to save the new mtl file and name.
- Add New Multi Material
Same as New Material but creates a material file that can support sub materials. If the mtl file is going to be used for an existing cgf file, it must have at least the same number of sub materials and they will be used in the same order, the names don't matter with the exception of the proxy material if any which must be or end with "proxy".
- Add to Source Control -
- Check Out -
- Check In -
- Undo Checkout -
- Get Latest Version -
- Set Number of Sub Materials -
This is only available for a mult-material and allows setting the number of sub materials. If matching an existing multi-material set this to at least as many.
- Make Sub Material
Creates an empty sub-material slot if on the materials header. If on an empty slot created by using "Clear Sub Material" or "Delete" puts another in it's place.
- Clear Sub Material
Removes the slot, leaving a blank so the others aren't renumbered.
Copies a material or sub-material to the clipboard and clears the slot.
Copies a material or sub-material to the clipboard
Copies the material settings in the clipboard into the selected material or slot. This will bring up a file dialog to save the existing material. To not save it, hit Cancel and the copy will be done. This is very handy if there are several cgf files that use some of the same sub-materials.
- Copy Name to Clipboard
Copies just the name, not the settings, useful for renaming a material after copying the settings.
Only works on materials, not sub materials. Clones the material with it's sub materials.
Renames the material or sub-material. This can be very useful if a material file is being regenerated, but several of the existing sub-materials are going to be reused. If the new material file is generated at best it will overwrite the existing one, and often it won't be created because the existing mtl file is write locked. By first renaming the material, then regenerating it, the existing materials can be easily copied from the old renamed file into the new one. Then the old file can be deleted.
Same as clear for sub materials, deletes an entire material.
- Assign to Selected Objects
Same as the leftmost "box" icon at the top of the editor.
This is used to do operations like reusing a mesh with a different material which is very useful since the mesh cgf files are much larger than the mtl files. To do this, the mtl files must have the same number of sub-material slots and they will be used in the same order. Select the instance of the object whose material is to be changed, then right click on the material and select this entry. Just the selected instance(s) of the object will have their materials changed to the selected one, other instances of the same mesh will not be changed.
- Select Assigned Objects
Selects objects with the material.
- Add New Material
Same as above.
- Add New Multi Material
Same as above
- Source Control -
- Add to Source Control -
Multi Material Header:
Same as for Sub-Material, except delete first two items and add
- Set Number of Sub-Materials - After creating a new multi material you can set how many sub-material IDs it has. The maximum is 32, but for performance reasons you should try to keep it to ten or less.
Simple materials only have a single set of settings. The list is the same as for Sub-Material except delete the first two items.
Material Settings Pane
This pane consists of three main sections, the sample icons, main settings area, and a description of the current item at the bottom.
The sample icons are shown in a row at the top of the Material Settings pane on the right. They give you a preview of what the material settings will look like. Dragging the spacer between the samples and the settings pane will re-size the samples. Clicking a sample will outline it in yellow, and bring up settings for that item bwlowRight clicking on a sample icon brings up a context menu that lets you change the sample icons and their background:
- Use Box - Changes the sample image to a Cube.
- Use Sphere - Changes the sample image to a Sphere.
- Use Teapot - Changes the sample image to a Teapot. The "Utah Teapot" is a standard shape used in 3D software to represent a generic complex object.
- Black, Grey, and White Background - self explanatory.
- Use Back Light - Appears not to work, should turn on second light source to better show lighting effects.
At the bottom of the settings pane a single line of information is shown about whatever setting your mouse pointer is hovering over. The first part indicates what type of entry that setting is:
- : Is a header only and further settings are opened using the [+] button at the left of the heading.
- [Selection]: Uses a dropdown list to select a choice.
- [Bool]: Short for "Boolean" which means it has a value of 1 or 0, or True of False, set by a checkbox.
- [Float]: Short for "Floating point number", which means it accepts fractional values to the right of the decimal point such as 1.34 .
- [Int]: Short for "Integer", which means it only accepts whole number values like 2, 5, or 7.
- [Color]: Uses three integer values in the range of 0 to 255 separated by commas to define the red, green, and blue components of a color.
- [Texture]: Uses a directory path to locate a texture map file under the "C:\Program Files (x86)\Blue Mars City Developer Tools\Game\" directory or equivalent on your computer. Since all files must be located under the Game\ directory, the part of the path before and up to Game\ does not need to be entered.
After that the name of the setting, the current value, and sometimes an explanation of what the setting is for is shown.
Main Settings Area
Displaying the Settings: All of the detailed settings for a submaterial are shown in this section under 8 main headings. Either clicking a sub-material on the Browser panel on the left, or one of the the sample icons on top will display them.
Adjusting Detail Settings View: The headers for each section will open or close the details for that section if you left-click on them. Right clicking on the header brings up a context menu which also allows opening and closing sections. Items with a plus sign [+] on the left can be opened further by clicking the + sign. When the list too long to fit in the pane, you can left-click on an empty area and drag the mouse to slide the list up and down, or use the green scroll bar on the right.
Entering and Copying Settings: Individual settings use a combination of text entry boxes, dropdown lists, checkboxes, sliders, file selection folder, and number entry boxes as described below. Text entries generally require clicking elsewhere to lock in the new value. Changed settings are recorded in the .mtl file immediately, and do not require saving in the main editor window. Therefore if you are experimenting with changes and do not want to lose the previous settings, make a copy of the material and experiment on the copy. Right clicking an empty area within a section allows copying or pasting that section as a whole.
Materials Settings Section
Shader - This item determines what shader is used for the sub-material. A shader is a set of software instructions that tell the graphics card or chip what to do with the settings and texture maps to produce the image on the screen. Depending which shader is chosen, different Shader Generation Params choices will appear in that section, and then different Shader Params based on which of those are checked. The relevant texture maps that can be used also depend on the shader chosen. Although the shader names indicate the kind of item they are designed for, there is no rule against using them for other purposes. For example the vegetation shader can be used for curtains because of the back lighting features.
Some shader effects are turned off at lower Config or System settings. This is a major part of how slower graphics cards are accommodated by the settings. It is suggested you use the main menu Config Spec > Very High, and also check by logging in with developer mode/check item in Blue Mars on Low graphics setting, to see how your items look across the range of what users will see.
Some combinations of Shader and texture maps cause the item to vanish from the perspective view. If this happens, go back to another setting, save and restart the editor and it should re-appear. Changing shader can reset some other settings. Most shader names are self-explanatory. Ones that start with "Ar" are made by Avatar Reality for Blue Mars, the remainder were created by Crytek originally for the Crysis game series. The ones that require some explanation are:
- Ar_illum and Illum - (Short for Illuminated) Used for general objects which do not require one of the other shaders.
- Nodraw - Used for the physics proxy submaterial and any objects that need to be invisible.
- Vegetation - Includes added settings for detail bending of an object. It can be used for other types of objects than green plants which need to move.
- Common.cloud, Distanceclouds, Oceanbottom, Sky, Stars, and the 4 "Terrain..." shaders - Used for general city feature settings and not for individual objects.
The list of available Shaders by editor is as follows:
- Block Editor: Ar_cloth, Ar_decal, Ar_glass, Ar_illum, Ar_metal, Ar_plaster, Ar_volume, Ar_watersurface, Nodraw
- Body Editor: Ar_eye, Ar_humanskin, , Ar_illum, Ar_metal, Fireparticles_vs2, Nodraw
- City Editor: Ar_cloth, Ar_decal, Ar_fur, Ar_glass, Ar_illum, Ar_metal, Ar_mirror, Ar_plaster, Ar_volume, Ar_watersurface, Common.Cloud, Distanceclouds, Illum, Nodraw, Oceanbottom, Sky, Stars, Terrain.Layer, Terrainhighlod, Terrainice.Layer, Terrainlowlod, Vegetation
- Cloth Editor: Ar_cloth, Ar_glass, Ar_illum, Ar_metal, Fireparticles_vs2, Nodraw
- Furniture Editor: Ar_cloth, Ar_decal, Ar_glass, Ar_illum, Ar_metal, Nodraw
- Item Editor: Ar_cloth, Ar_glass, Ar_illum, Ar_metal, Nodraw
- Shop Editor: Ar_cloth, Ar_decal, Ar_glass, Ar_illum, Ar_metal, Nodraw
2 Sided - If unchecked, will only render the front (postive normal) side of a surface. If checked will render both sides. This is useful for planar objects with zero thickness, and transparent objects or objects with holes so the interior faces are rendered properly.
No Shadow - If checked, will cause that part of the surface of an object the submaterial applies to not cast a shadow, even if the object as a whole has the RollupBar Params > CastShadowMaps = True
Use Scattering - (Use unknown)
Hide After Breaking - If checked, and the object is breakable, this surface will be hidden after the object breaks.
Force using shadow bias' -
Glow Amount - Sets the overall glow of the surface. Glow is multiplied by the diffuse color, so white objects will glow more than dark colors, and black objects will not glow at all. Either the number entry box or the slider can be used. The range is 0 - 1.5.
Post effect type - Post processing effect (use unknown)
Surface Type - This sets sounds and particle effects when something else interacts with the object, for example an avatar walking on it.
Opacity Settings Section
Opacity - Sets how opaque the surface is, which is the inverse of transparency. Some 3D programs use the opposite scale (% transparent instead of % opaque), so the value needs to be reset after importing the object to make it visible or look correct. If Opacity is set to 100, then the alpha test is activated, otherwise opacity is set according to the value between 0 and 99. Number entry values above 100 act as increased lighting on the surface, producing whiteout or glare, up to values of around 10000, after which higher values are not noticeable.
AlphaTest - If Opacity is set to 100 and the Diffuse Texture Map below has an alpha channel, this setting will determine the alpha value at which the texture becomes entirely opaque or transparent. It is in percent of the full alpha channel range of 0 to 255.
Additive - If checked will add the background color to the transparent object color. This gives a glass or liquid type effect.
Lighting Settings Section
This section sets up general settings that apply across the whole submaterial, while the next section, Texture Maps, allows variable settings per point on the texture map. The two sections have a combined effect in the graphics engine.
Diffuse Color - Sets the overall diffuse light source color for that submaterial. Since diffuse reflection from a colored surface cannot add light which was not there in the source, this is a multiplier to the Diffuse texture map colors in the next section. Clicking the color swatch will open a standard color picker window. Values can be set in four ways in the color picker: The color map and slider, The Hue/Sat/Lum values, the Red/Green/Blue values, or the eyedropper to pick up a color from the perspective view. The saved values are the RGB numbers regardless of which method you use. Alternately RGB values between 0 and 255 can be entered directly in the text box to the right of the swatch, separated by commas. The values in this setting will multiply the colors in each of the diffuse texture map channels by a ratio of value/128. Thus colors are intended to render normally with a setting of 128,128,128.
Specular Color - Sets the color of mirror type light reflection from a surface. Most real objects are imperfect mirrors, and so affect the color of reflected light of this kind relative to a light source. The settings work similar to the Diffuse Color setting above.
Glossiness - Glossiness defines how diffused the reflected light is. A low value means light is spread in all directions, while a high gloss surface reflects light in a tight pattern. Floating point values from 0 to 255 can be used.
Specular Level - This is a multiplier to the specular color, defining how much light is reflected, rather than what color. This value will attempt to normalize to 1 by adjusting the specular color. If that is not possible, the value can go up to 100, which makes a high glare surface.
Emissive Color - This setting generates a slight colored glow from the surface. The color picker or number entries can be used like the other color settings.
Texture Maps Section
About Maps in General - The various texture map slots to use in this section depend on the shader chosen, shader generation options checked, and how you want the object to appear. If no texture map is selected, or the file reference is to the wrong location, or the file is the wrong type, a default blue "No Texture" image will be shown on any objects that use that material. The text box can be used to type in the file location directly, by copy/pasting, or you can click on the open folder icon and use the file browser to find it. Directory paths entered here start after the "...Game\" root, with then next folder level below that. The file should be located in the correct Blue Mars directory to avoid problems when exporting the item or city later. Hovering the mouse over the name of an occupied slot will show a preview of the texture map with info about the size, file type, and MIP levels.
Texture maps can come from any source as long as they are in the correct format. Blue Mars texture maps use the Direct Draw Surface (.dds) scheme which is part of the Microsoft DirectX definition. The recommended method is to use Photoshop with the CryTIF plugin, since that saves CryEngine specific header information, but other file converters can be used. You can save in CryTIF format, which will be converted by the Editor to .dds format, or save in .dds format directly. DDS has multiple variations, so if you choose that, make sure you use the correct variation.
Texture Maps can be any "power of two" size (i.e. 64, 128, 256 etc) in pixels in width and height up to 2048x2048. The width and height do not have to be the same. Since there are limits on total data package size for items and cities, you should use the smallest textures that look good, and consider re-using textures with different material settings for variety. Large textures also use more memory in graphics cards, and so take longer to load and process.
As a general guide, consider how large the texture will appear on the largest window setting (ie 1920x1080 size) in pixels. The texture map generally does not need to be larger than that size, since each pixel in the original map will end up less than one pixel on the screen. Also consider using the detail map slot or decal type objects to add detail to your object where you only need fine detail on one part of it, rather than making the entire texture map high detail.
The following headings will give some general background on that type of map, then specific use in Blue Mars:
Diffuse - When light reflects off a rough surface it "diffuses" or spreads out in all directions, so this texture map gives the diffuse component of color as seen from any viewing angle with respect to a light source. It corresponds to what most people think of as a photograph. All real materials absorb some of the light. If certain colors are absorbed more than others, the remaining ones that reflect are what gives an object its color as we see it. Your eyes are sensitive to three primary colors, red, green, and blue, so defining the brightness in these three colors is sufficient to make any possible color you see. The color scale for textures in the CryEngine goes from 0 to 255 in each color, 0 being none, and 255 being maximum brightness. The reason for the range is that can fit in a single data byte of 8 bits.
Each color is carried in a separate "channel", which can be thought of as a layer in the texture map with all the values across the map for that coler, while a pixel is a vertical colum with the values from the different layers at the same point on the map. Thus a pixel with values of 0,0,0 in the red, green, and blue channels equals pure black, and 255,255,255 equals pure white. Each point on the map has these three color values, and if it also contains transparency information, that is carried in a fourth, or alpha, channel. The alpha channel defines transparency per point on the texture map, while the opacity setting in the section above controls the transparency of the texture as a whole.
If all you need is a single simple color, you can use the white default with the path textures/ar/common/ar_solid_255_255_255_diffuse.dds, and pick the color using the Diffuse Color setting above. This and a number of other default texture maps are actually located in the AR_Common.pak 7zip archive. The archive contents are read by the game engine as if they were real directories under the Blue Mars City Developer Tools\Game\ directory, which is considered the root for file paths in the Material Editor. If you are creating an item, such as furniture or clothing, you can copy these default textures from the archive to your folder under Game\Objects\MyData where the .cgf and .mtl files are located. In a block or city, the ones in the AR_Common.pak can just be referenced where they are, since that archive is provided to everyone using Blue Mars.
The submenu options are opened by clicking the [+] button on the left. They are used to get particular effects.
- TexType -
- Filter -
- IsProjectedTexGen -
- TexGenType -
Specular - When light reflects off a smooth or mirror-like surface the reflection is directional realtive to the light sources. So this map gives the specular component of reflected light from an object. It is most intense at the proper reflection angle and falls off at other angles. The Glossiness value above will set the spread of angles for the reflection, and the Specular Level sets the overall intensity, while this map gives the relative intensity per point on the map (if greyscale), or intensity and color (if colored texture). If no map is specified, the values for Lighting Settings are applied uniformly across the whole surface. Sometimes specular maps are provided as part of a matched set of texture maps.
Bumpmap - Bump maps create the illusion of a rough or bumpy surface. Any surface will reflect more or less light depending on the angle it makes with a light source. The bump map uses a greyscale value to change the calculated angle without changing the actual angle. This has the effect of darkening or lightening the calulated brightness at that point as if it was tilted, and thus producing the illusion of roughness in the surface. While any texture map can be used in this slot, only the overall brightness matters, so usually a greyscale map is used. Bump maps are often supplied as part of a matched set with a diffuse map, or they can be generated from a diffuse map in various ways.
Normalmap - Normal maps do a better job of creating the illusion of a rough surface than bump maps since they record the angle of the surface in both horizontal and vertical directions by using the red and blue color channels of a texture map. They can be used to replace the details of a complex 3D model with a simpler model and a normal map. CryTek created the PolyBump tool to do this, and normal maps can be generated with the Nvidia plugin to Photoshop, and are often supplied a part of a matched set of texture maps. For a certain type of effect called "parallax occlusion", height information is additionally recorded as the alpha (4th) channel in the normal map.
Environment - To make a surface appear reflective, the environment around the object can be supplied as a special texture map and used in this slot. The environment map is then presented as a reflection from the surface. Settings in the Shader Generation Params and Shader Params sections control how much and what type of reflection is presented.
Detail - This slot is used for a few different purposes depending on Shader Generation Parameters chosen. If no SGP is selected, it will make a subtle overlay to the main Diffuse texture when seen at an angle, and not be affected by the UV modifiers on the diffuse texture.
Opacity - The opacity slot is not functioning. For an opacity map use the alpha channel of the Diffuse map.
Decal - With some shaders, this slot will display as a glow map. With some shaders the decal is a fixed map unaffected by UV Modifiers.
SubSurface - The subsurface slot appears to only apply to some of the Body Editor shaders.
Custom - ? What this slot does is unknown
 Custom - ? What this slot does is unknown
THIS TUTORIAL IS CONTINUED AT Material Editor 2