SamSuka
Kruithne
Kruithne

patreon


WoW 3D: Recolouring Assets

Chapter 1: Introduction

Have you ever found an item or prop that was otherwise perfect, but you wish the colours were different? In this guide, I'm going to show you how I quickly and easily recolour things for artwork!

There are many different ways to do this and everyone has their own preference, but for this guide we're going to be doing everything in Blender as it's free, open-source and means we don't need any external editing software.


Chapter 2: Recolouring Models (Basic)

To start out, export a model that you want to recolour from wow.export and import it into Blender. For this example, I'm going to be using a simple apple (6hu_inn_apple01) prop.

With the correct material selected, which in this case is mat_6hu_inn_food1, turn your attention to the Shader Editor panel.

Go ahead and add a Mix RGB node to the shader (AddColor Mix RGB) and place it between the Image Texture (orange) node and your Principled/Diffuse BSDF (green) node, as shown below.

Set the Blend Method of the Mix RGB node to Color and set the Factor slider of the Mix RGB node to 1.0.

It's worth playing around with the different blending modes as some may be better suited depending on the scenario, but for now let's stick with Color.

Now we're all set to recolour. In the Color2 input of the Mix RGB node, select yourself whatever colour you like and you should notice that your prop has changed colour.

But wait, our entire prop is recoloured! In most cases, we only want to re-colour certain parts of it. In this example, we don't want to turn the stem and leaf green.

The quick and easy solution to this is to duplicate your material as many times as we want colours, in this case twice. To do this, add two more material slots to your object and in each slot, assign the original material.

Once you have three material slots all with the same material, select the second one and click the confusingly named New Material button. You'll see it's now renamed with .001 at the end, indicating it's a duplicate.

Repeat this again for the third material, so now you should have the original material and two duplicates .001 and .002.

It helps to stay organized, so let's give these three materials some better names. To rename a material, simply double-click on it.

Since the three components of our apple are the skin, the stem and the leaf, we'll name the materials like that.

Now we're going to assign those materials to the parts of the apple. Turning our focus back to the 3D Viewport, switch into Edit Mode and make sure everything is deselected (Select None).

To assign a material to a certain part of the mesh, we need to select it. The quickest way to do that is to hover your cursor over the part in question and do Select Linked (L).

With just the faces of our stem selected, go ahead and select the stem material we created earlier and then click the Assign button below.

Repeat this process for all the separate components you have, which in this case is the leaf. Be sure to deselect everything first (Select None), so we don't re-assign the wrong materials.

If everything went to plan, you should now have three materials assigned to the relevant parts of your apple mesh.

Select both the stem and leaf materials in turn, and down in the Shader Editor, adjust the green colour to something more fitting; you should see the effects immediately.

This method works well for objects with individually defined mesh sections that don't have overlapping textures, but it doesn't work for every scenario.


Chapter 3: Colouring Models (Masks)

In the last chapter, we learned how to recolour a model by creating different materials for individual mesh components and blending them with a given colour.

This works for basic models such as the apple, but falls apart for characters, NPCs or when parts of an item are defined by the texture not the mesh.

In the above image, we can see that with shield_1h_zandalarquest_b_01 as an example, a lot of the different coloured details are not defined on the mesh.

To recolour assets like this, we're going to use a mask. If you're not familiar with the term, a mask is basically a black and white image often used to represent texture data between 0.0 (black) and 1.0 (white).

Let's start by opening up the Shader Editor for the material of our shield and adding a new Image Texture node (Add Textures Image Texture).

Click the New button on the Image Texture node. In the modal window that pops up, give it a useful name, some dimensions and disable the Alpha checkbox.

For the dimensions, you don't need a great deal of resolution for this. I generally stick with around same dimensions as the diffuse image.

Whatever resolution you choose, be sure to use the same aspect ratio as the diffuse texture, and powers of two always work best for GPU optimization (128, 256, 512, etc).

Add a Mix RGB node (AddColorMix RGB) to the shader and place it between our Image Texture node (with the diffuse texture) and our Principled/Diffuse BSDF node, just like we did with the apple before.

Just like we did before, set the Blend Method of the Mix RGB node to Color and the Factor slider to 1.0.

Connect the Color value of the mask Image Texture we created to the Fac input of the Mix RGB node. Finally, set the Color2 input of the Mix RGB node to something bright, I often use pure red.

In the Shader Editor, make sure that the Image Texture node with our mask in is the active node (the white outline) by clicking on it.

In the 3D Viewport, switch to Texture Paint mode and ensure our Brush Colour is set to white. You can now paint on your shield and it will turn red!

You're not actually painting on the shield, but rather the mask we created. This means we don't need to worry about editing our original texture.

If you make a mistake while painting, you can quickly erase by holding CTRL and painting over the error to remove it.

Go ahead and paint the areas that you want to recolor, as I've done in the picture above. You might find some parts are harder to paint in 3D, such as the stumps on the outside.

What I prefer to do here is switch back to Object Mode, create a plane (AddMeshPlane) and give it the same material. Back in Texture Paint mode, you can now paint on the plane as well, which a lot of the time can be easier.

Once you've painted everything that you want to recolour, switch your focus back to the Shader Editor and play about with the red colour to find the exact colour you actually want, and you'll see the changes taking place in real-time in the 3D Viewport.

There are many advantages to recolouring using painted masks, and it's definitely my preference over using external editing software.

The original image hasn't been edited and you can come back to the shader at any point to change the colour as necessary.

Once you're done painting the mask, be sure to save it as a file somewhere so it's not lost when you reload your scene.

This will only save the black/white mask, not the recoloured texture itself. If you want to save the full image, check out Chapter 5.

Now you can rapidly create recoloured variants by simply duplicating the object, duplicating the material and then changing the RGB value.

You could take this one step further and set a custom property on the object with the Subtype set to Linear Color, and then feed that into the shader using an Attribute node with the Type of Object

Now you only need one material, and every duplicate object can define it's own colour directly on the object itself.

You can apply multiple recolours to the same object. Repeat the steps above to add another mask image, and link it in with another Mix RGB node as shown below.

There's no limit to how many masks you can add to a shader, just chain them together as necessary.

You're not limited to a flat colour either, you can achieve pretty much any kind of effect using shaders. How about a gradient?

Did I also mention that you can animate this? You can set keyframes on the custom property, on nodes in the shader, or even keyframe the UV map.

Remember that Color is just one of many blend methods. It's useful to play about with all of them depending on the situation. As one example, the Saturation mode is often useful when you want less vibrant colours, such as the trim on this bag.

The possibilities are as expansive as your creativity, so go wild and get colourful.


Chapter 4: Recolouring Characters

Following on from Chapter 3, we can apply the same methods of creating a mask to recolour assets to also recolour character models.

To do this, we're going to be using my character rigs from my Character Models guide with their dynamic skin shaders. If you're using pre-baked character skins, this won't be applicable, instead just use Chapter 3.

Start by setting up a character in the gear you wish to recolour. For this, I'm using the human female rig and I've set them up in the Stormwind armour from Warlords of Draenor.

The first approach you can take here is to create a mask for each of the texture components and recolour them on an individual basis.

To do this, we follow Chapter 3 and create a mask texture with the same aspect ratio as the texture component. For example, this belt texture is 256x128, so we create a mask with those dimensions and then intercept the node with a Mix RGB just as we did in Chapter 3.

One advantage of this method is that when you're painting, you won't accidentally be able to paint onto other texture components, which helps when painting around edges, such as on the right side of the belt here.

The main disadvantage here is having to add masks for each and every texture component, which can take a while and bloat the shader.

An alternative solution in a situation like this where we want to recolour all of the blue to a different colour is to create a single mask for the entire character and link it in at end.

You need to be slightly more careful here when painting, as it will effect everything in the shader, but in general that's not too tricky, especially when painting on a plane as shown in Chapter 3.

Everything that we learnt from Chapter 3 also applies here, such as being able to use multiple masks to colour different sections. 

Item components, such as the shoulders shown on my guard character here, are not covered as part of the character skin. We can recolour these just like we would a normal prop with a mask and a Mix RGB node.

That's pretty much it! As you can see, there's not much difference between painting masks to recolour props and painting them to recolour characters.


Chapter 5: Baking

Once you've recoloured a character, prop or some other asset, you may want to take those recoloured textures out of Blender for some other use.

To do this, you can bake the textures. Rather than cover that here, I recently wrote an in-depth article about texture baking which covers everything you need for this, including automation macros; go check it out!


Chapter 6: Conclusion

That's it for this guide, hopefully you learnt something new! As mentioned at the start, this is just my preferred method of recolouring things, there's plenty of other ways out there.

I opted not to cover external editing software such as Photoshop as not everyone has access to it, whereas Blender is free, widely available, and also used in 99% of my other guides.

As always, if you run into any issues with my guides, wow.export, or Blender, feel free to ping me directly in the #champions-lounge channel on my Discord server.

Have fun, and happy colouring!

WoW 3D: Recolouring Assets

More Creators