[ NEWS | LEVELS | TUTORIALS | PRESS | CONTACT | LINKS ]

TEXTURE CREATION FROM REFERENCE

by Yan "Method" Ostretsov

INTRO

This tutorial will cover the creation of textures from photo reference. As an example, I will be using a texture that was created for my Doom 3/Quake 4 urban texture set. This is what the final version looks like:

PHOTO REFERENCE

Game visuals have drastically improved in several years. Back in the days, Texture Artists created most textures from scratch. With next-gen games such as Doom 3, Gears of War and etc. it’s very hard and time consuming to make textures from scratch. So the best way to go is to get a digital camera and hunt for some textures outside. Then use that as a reference photo and tweak it to suit your game needs.

TIP: It is best to take photo references during overcast day, when the shadows are very soft. This makes texture tiling much easier.

Alternative way would be to use a texture library. Although make sure that the texture reference in it is not tillable or “game ready”, otherwise your textures will look like a lot of textures in the games that used the same library. The key is to use a solid source, but modify it to suit your needs and personalize it.

There would be cases where you cannot find a texture you envisioned or something that suits the mood. You may see an environment in a movie or a photo, which you like, but don’t have the ability to take a picture of. In those cases you can recreate a texture using little bits and pieces of textures in your texture library.

Looking through numerous websites that have photos of abandoned and industrial buildings, I came across this picture:

TIP: Look through numerous website with abandoned/industrial photos, such as Dubtown.de, Opacity.us and etc. for some great texture inspiration.

TEXTURE REFERENCE

I thought that white/blue texture would look nice. The next step was to find an appropriate texture reference that could be tweaked to look like the photo reference. Looking through texture libraries, I found this:

TIP: You can find some great texture reference on CGTextures.com. The great part about this is that the author lets texture artists use them for personal and commercial use. See the agreement license for more info.

DIFFUSE MAP

The next stage is to use a digital paint program such as Photoshop, Paint Shop Pro, etc. to tweak the texture reference. Personally, I like to use Photoshop, since majority of game industry uses it.

TIP: If you cannot afford Photoshop, you may find using freeware software named GIMP quiet useful. It supports similar features to Photoshop and most importantly it’s FREE.

I'm going to briefly go over each step I took in tweaking the texture.

1. Once the image has been opened up in Photoshop, I resized it to 512 x 512 px resolution. Since the bottom part of the base texture was clean, I copied the top part, flipped it horizontally and adjusted the color by going into Image->Adjustments->Match Color... and pointing into the cropped part of the photo texture that had the blue color.

2. Next step was to add dark blue line that is in the middle of the photo reference. Since paint has layers, the surface that has been painted will have a different surface texture. Therefore I couldn't just simply selected a line, filled it with blue and lowered the opacity. Instead, I selected a part of the base texture with the shape of the line, copied it and lowered it to the middle. Then I adjusted the colors by going into Image->Adjustments->Match Color... and pointing it to the reference photo.

3. Now to add that realism, I decided to look for the dirty and wet concrete photo. Something that will make the current texture not so flat. Once I found an appropriate texture reference, I pasted it as a separate layer and set its mode to Overlay.

4. The texture looked promising, but still too clean. Looking closely at the photo reference you can see that the paint has been worn out out and scratched off. So the next step was to find some scratches. I came across a nice metal texture that had variety of scratches on it, which would be perfect for the current texture. I pasted it as a different layer, set its mode to Lighten and Opacity to 65%. That way the scratches weren't too dark and blended in nicely with the paint. The layer mode depends on the color and brightness of the image.

TIP: Try to play around with various layer blending modes in Photoshop. You'll be surprised what kind of effects you can achieve.

5. The next step was tiling. I made the texture tillable by going into Filter->Other->Offset... then set Horizontal to 256 and Vertical to 0. The values can be calculated by dividing texture res in 2. My texture was "512", so the value will be "256". Since the texture I am using in the example does not tile vertically I put "0" instead of "256". The best tools for making a texture tile are Healing Brush Tool and Clone Stamp Tool.

To add the final touches, I flattened the layers to one, made a copy of it and went to Filter->Other->High Pass.... I set Radius to 1.Then set the High Pass layer mode to Vivid Light and it's Opacity to 50%. This made the texture a lot sharper.

BUMP/NORMAL MAP

To make bump maps you can either use modeling application to generate normal maps or use NVIDIA Normal Map Filter plug-in for Photoshop, which I highly recommend.

1. After saving the diffuse texture, I created a new layer and used Rectangular Marquee Tool to select parts of the texture that will have bumpy surface. The concrete will stay gray (medium bump) and paint will be a bit brighter, especially the middle line. This is what I got:

2. Then I set the layer Opacity to 75% so you could see a little bit of base texture.

TIP: You can also overlay other textures before generating the bump to give that extra depth.

3. After collapsing the layer, I opened NVIDIA Normal Map Filter by going to Filter->NVIDIA Tools->NormalMapFilter... and set Scale to 4.

Naming conventions vary based on game you creating textures for. Since I was making textures for Doom 3 engine, the naming convention for bump maps had extension of _local. So file name was paint_blue_local.tga.

SPECULAR MAP

Specular maps differ in games like Doom 3 and Half-Life 2. HL2 needs a very contrast spec map, while D3 uses very subtle spec. The following steps were applied with Doom 3 in mind.

1. Once the diffuse map was open, I copied it and set the layer mode to Overlay. This way black and white became very distinct.

2. Next step was to make another layer and fill it with black color. I set the Opacity to 80% so the specular map won't be too dark or too shiny. This is what I got:

TIP: You can use custom brushes to paint white/black marks on the specular map which are not seen on the diffuse and bump to give that extra detail.

Naming conventions for specular maps in Doom 3 engine has extension of _s. So file name was paint_blue_s.tga.

IN GAME

After writing material file, which is specific for each game, I tested the texture in Quake 4 (Doom 3 engine). This is how the final texture looked like:

OUTRO

I hope you enjoyed this article. If you have any comments or questions you can contact me at yanostretsov[at]yahoo.com.