Advanced multi-channel texturing in Max - Blood Knight

Fig. 01 d_Fig.

Fig. 01 d_Fig.

Over the years I've learned and developed my own solutions and methods for complex texturing. The blood knight is the second of several characters I'm making and since he's the one who experiences the battle up close and personal, I've decided that with him I will try to push my methods and add lots of details such as dirt, scratches, stains, blood, decorations etc using a method I like to call "multi-channel texturing". My main focus on this character was the texturing / shading and in this tutorial I will share the process, considerations and a few other tips (Fig.01).

Multi-channel texturing - general idea, pros and cons

The method I refer to as multi-channel texturing takes advantage of the ability to have many different map channels (in other software, like Maya, these are referred to as UV-sets) for the same object, while it's material is made out of many maps mixed together using masks with these map channels.

In other words - almost the entire texturing process of the character's armour parts is done within Max, through the UV's and using only one material and a few textures.

The end result of this is that all of the armour's parts (over 40 different objects in the blood knight's case) use the same material, with just a few textures. This is opposed to the "classic" texturing method in which you end up with many materials and hundreds of different texture files (assuming each material will have several textures for colour / bump / specular etc') (Fig.02).

Fig. 02 d_Fig.

Fig. 02 d_Fig.

Pros

  • Major resource saver - all of the armour parts use only one material and a few textures for everything.
  • Since many of the textures are applied in tiling, it allows for very high res details at a relatively low resources cost.
  • Immediate feedback from within the viewport as to where details fall. This is especially helpful when working on things such as the side decorations, which can be deformed specifically to the shape of the mesh (which is rather hard to do with UV's / Photoshop using "standard" methods).
  • Ability to quickly clone your models and create many variations in the textures by simply altering the UVs (if I wanted to make many clones of this character with variations in the details such as scratches, blood stains, dirt, I wouldn't need to create new textures, just play around with each clone's UV'S)

Cons

  • Somewhat limited control for specific details (making "global" textures that will be used for all the model's parts kind of limits you if you want some parts to have unique details without making new textures specifically for them).
  • The material tends to be heavy and give slow feedback in the material editor when "show end result" is on, due to its complexity. The more details you add, the heavier the material becomes and it does get harder to keep track of everything.

Fig.03 shows a few close-up examples of the multi-channel texturing technique.

Fig. 03 d_Fig.

Fig. 03 d_Fig.

STEP1 - Getting started - mesh preparation and base material

The base of this workflow begins at the modelling stage. The modelling process of all the armour's parts was pretty similar:

Step 1 - Work on the base shape of the armour's part and prepare it's topology for the details to come with as few polygons as possible (Please note: while it may seem I used more than the minimal amount of required polygons, that is only because the end result required many sharp corners to be able to easily modify it later on if that would be required). These polygons receive polygon ID 1.

Step 2 - Add Shell modifier to the model and set "Override Edge Mat ID" to 2. Once I decide the model's base shape is final I collapse the shell to editable poly and modify the edge polygons a bit further as I find fit.

Step 3 - Take advantage of the prepared topology from step 1 to extrude the polygons in (to prepare the socket), Change their ID into 3 and then extrude them out to create the diamonds.

Step 4 - (Optional) In some of the armour's parts I've used another polygon, ID 4, for silver when I wanted more variation in the materials, this was also used for the sword's blade (Fig.04).

Fig. 04 d_Fig.

Fig. 04 d_Fig.

Throughout the modelling process I've had the base material ready for early testing. The base material is made out of 100% procedural maps and that is why it did not require me to unwrap the model as I was still working on it. The complex final stage of the texturing only came once I'd decided modelling was done.

The base material is made out of a multi sub object with four ID's: 1- The main armour's metal, 2 - The armour's outer gold, 3 - The diamonds, 4 - Silver. I will focus this tutorial on the main armour's metal (Fig.05).

Fig. 05 d_Fig.

Fig. 05 d_Fig.

For the base main armour metal material (ID 1) I thought of going for a standard material, but decided to go with mental ray's A&D; shader because it supports blurry reflections. This decision made the material pretty heavy but also made it look good!

The parameters I've decided to add maps to are as follows: Diffuse colour, Bump, Glossiness and Reflection colour. The idea is to add matching maps with different colour brightness levels to these parameters, while keeping in mind that brighter colours mean the following:

  • Diffuse colour - brighter diffuse colours
  • Bump - outer dents
  • Glossiness - sharper reflections / highlights
  • Reflection colour - stronger reflections.

Obviously, darker colours below 50% gray would mean the opposite (Fig.06).

Fig. 06 d_Fig.

Fig. 06 d_Fig.

The map I've created for these parameters was made out of a few procedural textures. This made it easy to control the brightness level of the colours for each of the parameters. For example, in one of the specific textures, I used a bright colour for the dirt in the diffuse colour but changed it to dark in the bump map to make it cause an inner dent. I also used a dark colour for the reflection colour, because this is supposed to be less reflective then the armour's metal. Making the base material with procedural textures is also good because a simple combination of a few procedural textures can hold a very high res detail level at a low resource cost and every single armour part will have different detail features (as opposed to mapped texture files which tend have duplicated features look) (Fig.07 & Fig.08).

Fig. 07 d_Fig.

Fig. 07 d_Fig.

Fig. 08 d_Fig.

Fig. 08 d_Fig.

I'm not going to go through all the specific parameters of each map, because many different combinations can work just fine and it is all a matter of trial and adjustments; you can look at the shading network chart I've made to get the general idea. My advice for this step is to add one map at a time, and always make sure you keep track of the contribution each map gives to the details. It sometimes helps to copy the specific map you are working on to a clean new material and apply it to the model just to check how it fits it.

Tip - I often use an Ambient occlusion map as a mix map at the base of the diffuse colour for added depth detail. For the white colour I simply add the maps I was going to use anyway and for the dark colour I add some noise maps for "corner dirt".

Adding a mix level procedure and a few material editor notes

Before we go further, I just want to share a few insights about the material editor and explain the process of adding more and more details to an existing map - these things will be relevant for the next step.

General idea of the process of adding another mix level

So we have a nice base shader by now, but we want to start adding more specific details to the maps we already have in the diffuse colour / bump / glossiness / reflection colour. How can this be done?

The answer is to add another mix level to these maps and then add another mix level and another - there is no limit to this except that the more levels we add, the more complicated it will get. This is why it should be done in an orderly fashion, as follows:

1. Go to where the map you want to add a mix level to is located, right-click and cut that map. For example, if the map is in the diffuse colour slot then we go to the diffuse colour map slot in the base material (Fig.09).

Fig. 09 d_Fig.

Fig. 09 d_Fig.

2. Add a new mix map where your map was, right click on the map1 slot and paste your original map back. After this step your material should act the same as it did before; you've simply prepared your map for additional details (Fig.10 & Fig.11).

Fig. 10 _Fig.

Fig. 10 _Fig.

Fig. 11 _Fig.

Fig. 11 _Fig.

3. Add a black and white bitmap in the mask slot and name the mix map accordingly to the mask. For example, if you added a "blood stains" bitmap you should name the mix map "blood stains". Naming your mix levels will help you later on when the material starts to get complex. The black pixels of your mask represent where your original map will be and the white pixels represent the new colour2 / map2 (Fig.12).

Fig. 12 _Fig.

Fig. 12 _Fig.

4. Adjust colour2 / add a new map to map2 slot of the mix. For example - blood: in the diffuse colour you might want to add a red noise map there; in the reflection colour you might want to add that same noise map, but with a darker shade of red since the blood is dry and less reflective than the armour's metal; in the bump map you might want to use that same noise map, but with bright greyscale colours since the blood stains act as outer dents (Fig.13 & Fig.14).

Fig. 13 _Fig.

Fig. 13 _Fig.

Fig. 14 _Fig.

Fig. 14 _Fig.

5. Go to the mask and give it a new map channel. This is the last step in the material editor. Since you're going to use several different masks you're going to need to use different map channels in order to create different UV's to map each mask separately. I'll explain a bit further about map channels next (Fig.15).

Fig. 15 _Fig.

Fig. 15 _Fig.

6. To add another mix level, cut the map in colour1 and repeat the process (Fig.16).

Fig. 16 _Fig.

Fig. 16 _Fig.

Map channel (material and UV map / unwrap)

What are map channels ? Usually, when we add a texture and the modifiers UVWmap / Unwrap they come at the default of map channel 1. But an object can have more than one UV; you can add more than one of these modifiers and when set on different channels they do not override each other. All you have to do is keep track of which map channel each texture is using and which modifier is set to that channel.

Output benefits

Back to the material editor. Since we covered most of the process in the material editor, in the next step I'm going to focus mostly on how to work with the UV's. But first, I would like to share how I go about doing most of the tweaking once I've already added some mix levels.

I've noticed that not many people are aware of how useful the "output" tab is. Through the output tab you can easily override and adjust the weight each and every map gets in the mix levels. It allows you to manipulate the colours and sometimes "override" the limit of the contribution a map gives.

I will go quickly through the parameters:

  • Output amount - gives control to override the amount of contribution the map will have to the material.
  • RGB offset - this basically controls the darker colours of the map. I often give this parameter values below 0 to strengthen the contribution of the darker colours to the material.
  • RGB level - this basically controls the brighter colours of the map. I often play with both RGB level and RGB offset - these two parameters can balance each other and the further they are from each other, the more "overridden contrast" the map gets.
  • Bump amount - this parameter is very useful to tweak the contribution to the bump for each map. It has effect only in the bump slot, obviously.
  • Enable colour map - this one gives a bit further control to most of the things mentioned before, but here you can manipulate the map itself and its colours. It is very useful when you want to use the same bitmap but with some variations - it eliminates the need to create new bitmaps just for that or going to Photoshop just for some basic colour adjustments.

Working with the limits of "show map in viewport"

One last material editor note before we move on. Max is very limited in its ability to show how the maps sit on the model in the viewport - it often doesn't show the correct scale of procedural maps and when several maps are mixed together it can't show the combined end result in the viewport. That is why for the next step you will always need to go to the specific mask you are setting the UVs for and turn "show in viewport" from there. In any case, doing a test render every now and then to see how everything combines on the model is a must to progress correctly.

STEP2- Mixing in details in different map channels and adjusting them on the mesh

Everything done so far can be considered as preparation for this step: this is the main step for this technique.

I've explained how I go about adding more mix levels to the material editor, so now I'm going to focus on what I've done with the UV's for each mix level I've added (Fig.17).

Fig. 17 _Fig.

Fig. 17 _Fig.

Map channel 1 - blood and general maps

Map channel 1 is the default channel that comes when you work with objects and textures.
That is why I didn't really need to make a new map channel for it - just moving around existing UV's to set where the blood stains fall was enough. I didn't even need to unwrap any model because even if inevitable stretches and overlaps occurred - it didn't really matter too much.
There is a meaning to the order of the mix levels and since the blood will cover the rest of the details, it goes to the base of the maps (Fig.18).

Fig. 18 _Fig.

Fig. 18 _Fig.

Map channel 2 - Side decorations / diamonds' gradient

This is where this technique really takes advantage of its potential. When preparing the mask, I had to make sure that it is seamlessly tileable horizontally and that I have enough "empty black space" to work with the UV's. I went through every armour part and added an Unwrap modifier and set its channel to 2. First step is to scale down all the UV's to a really small chunk and put them on the side on an "empty black space", then select a few polygons on the side of the model through the unwrap, hit planner mapping and organize the UV's while seeing in the viewport how the side decorations fit the model. This process is repeated with every few polygon chunks from the corners of the model and then I weld them all into one long "UV line". The great thing about doing it this way is that I can really easily manipulate the side decorations to grow or shrink with the model's flow and get the feedback in the viewport in real time (Fig.19).

Fig. 19 _Fig.

Fig. 19 _Fig.

In this tutorial I am focusing on the shading of the armour's metal material, but I just wanted to mention here that I've also used the same map channel 2 unwrap for the diamonds - in the diamonds' material I've placed a radial gradient map in the "extra light" slot to give them extra subtle depth. I went through every object that had diamonds in it and in the same map channel 2 unwrap modifier that was already there, I've selected the diamonds UV's and manipulated them around one of the tiles of the gradient (and not necessarily in the centre of the UV's to avoid cluttering) (Fig.20).

Fig. 20 _Fig.

Fig. 20 _Fig.

Map channel 3 - Symbols

Again, when preparing this mask, I made sure I kept enough "black empty space" between the symbols. That is also why for this map I turned tiling off - to have more empty space to work with on the corners.

So now we go again through every armour part, add another unwrap modifier and set it to channel 3. First step is to select all the UV's, scale them down and take them outside of the UV box (which should be enough to "make a clean start" since the tiling is turned off). The idea now is to select the polygons that will have a symbol, hit planner and manipulate the UV's until you are happy with how the symbol sits on the model. Again, immediate viewport feedback makes it possible to nicely "deform" the original shape of your symbol to fit the shape of your models more "naturally", this also helps avoiding having a cloned look when using the same shape several times. (Take a look, for example, at how much the big shape on the helmet is deformed from its original texture to fit the flow of the helmet) (Fig.21).

Fig. 21 _Fig.

Fig. 21 _Fig.

Map channel 4 - scratches

I added this one later, but since the scratches should also appear on the side decorations and symbols, I've added this mix level below them (like I've mentioned earlier, the order of the mix levels in the material is important and it wouldn't make sense to have the scratches on the armour stop where there are symbols and side decorations).

For most of the armour's parts I've simply placed an UVWmap modifier with map channel 4 and did a quick move/rotate/scale tweak to the gizmo to determine how the scratches fall (Fig.22 & Fig.23).

In Fig.24 you can see the final image.

Fig. 22 _Fig.

Fig. 22 _Fig.

Fig. 23 _Fig.

Fig. 23 _Fig.

Fig. 24 _Fig.

Fig. 24 _Fig.

Fetching comments...

Post a comment