Mapping 103: Texturing

Now that we have a pretty good basic understand of how to place and modify brushes, it's time to learn how to properly texture our beautiful brushwork.

Let's create a new map and I'll walk you through the process of texturing your map as we build together.

## Tutorial

Let's start by figuring out first how to add **new** textures to Netradiant. This way you'll know how to do this in the future!

There are a lot of sites which offer free textures. As usual, the id Tech Mapping Trello has a range of good resources for quake maps and at suitable resolutions for JKA, too!

I'm liking the look of this texture pack I found there named Andromeda. Most textures you find online are not going to have already-made shaders for the textures or at a nice size, so this is a bonus and works well for our demonstration.

Opening up the andromeda pk3 using WinRar I am finding two directories: textures and scripts. For other quake 3 games, .shader files can have different properties but a lot of the properties are shared. Jedi Academy however, puts .shader files inside the shader directory, so we will need to move the shaders out of scripts and into our base/shaders folder. We'll also move the textures out of the pk3 and into our base/textures folder. Now, in order for the already-made shaders to load properly in netradiant, we also need to edit our shaderlist.txt file with the names of these new shaders. You'll always need to do this when adding new shaders into Netradiant.

Now that things are set up, let's hit this refresh button at the top of our surface browser:

If everything was done correctly we should be seeing the andromeda directory pop up in our texture browser:

Let's pick out a few of our favorite textures from this pack and add tags to them so it is easy in the future to find them.

The 'Tags' tab is not enabled by default. To enable it, click the eyeball button and select the following checkbox.

*Note: this gui is very different in the SDK GTK version.*

After this, go to the 'Tags' tab and add a new tag, name it whatever you want. Right click for this menu:

To add to your new collection, simple navigate to the texture you want to add, select it in the surface browser, click back to the Tags tab and click the unchecked box for it to be added.

To remove that texture from the Tag, simply uncheck the same box next to the name of the tag.

Let's go ahead and add some andromeda textures and a few useful system brushes to this tag collection using this process.

Navigate to system, click on caulk -> check your newly created tag to add it there. Let's also add slick so we can make a slippery surface. >:)

Alright, now that we have a little collection of textures to work with (and saved for future use if needed), let's begin learning how to texture.

#### The UV tool

First, create a floor using a caulk brush. Deselect it and then paint just the top face of that bush by selecting a texture and then middle mouse + shift clicking the brush.

I purposefully chose a texture which I know wouldn't look good 'tiled' properly for demonstrative purposes:

To make this texture fit the whole brush, we have a couple of methods. First, let's try using one of Netradiant's best features - the UV tool. UV mapping is the 3D modeling process of projecting a 2D image to a 3D model's surface for texture mapping.

To select **just** the face of this brush which has this texture, ctrl+click this brush. Once highlighted, press G to open up the UV tool.

A big ol' grid will pop up and you may need to change your camera angle to see the whole thing.

Let's break this tool down.

As you mouse over areas of this grid, you'll see certain lines getting highlight. Click and drag to see how the UV map moves. Keep in mind, your entire UV map will scale depending on the placement of your Origin Point. For most general purposes, you'll want to place the Origin Point on the corner of your brush. Once it is there, click in between the squares to move your texture along that brush face. Now try scaling by clicking on one of the lines and dragging your texture to fit the entire brush. The shift key pressed after you click is your friend here for keeping the texture from getting too skewed. If you want to rotate the UV, highlight the circle (green in image above) and drag in a circle. If you want to skew your UV map, grab a part of your grid and hold alt while clicking.

For this tutorial, just try getting your texture to fit the brush entirely, something like this:

Nice!

Let's try another technique now.

Create a box from a caulk brush. With the entire brush selected, click a texture to apply it to that brush. Depending on the size of that brush, the texture might not fit properly and look like this. Press Ctrl+F to fit the texture perfectly to each vertex, here is a before and after image showing what that does:

Very handy. Let's not forget the bottom part of our box here doesn't need to have a texture and press F4 to autocaulk it. Time saver!

##### Surface Inspector

Texturing in Netradiant is not too difficult once you understand how to use these tools. Let's move on to the other tool which helps with this process, the Surface Inspector (press S).

This tool is going to take some playing around with to really understand how it works, but it is a very powerful tool as well for fine-tuning texture work. You can shift, stretch and project textures in micro amounts.

ctrl+click one face of your box. Hold shift and press your arrow keys while looking at your Surface Inspector. You'll notice that the nudges move in increments according to what you set in Steps. So if you ever need to nudge, rotate or stretch your texture just a tiny bit, this is how you'll do it.

The 'project' section of the Surface inspector is more useful for terrain. Try selecting multiple faces by holding ctrl+mouse 1 and playing around with your camera angle when using the various projections (Axial/Ortho/Cam). Axial tries to project default projection of current map format projection type (set in preferences). Ortho is top down and cam is based on where your camera is. Generally speaking, Axial should be your go-to if you set your brush preferences to use either axial projection or Valve 220 projection:

The 'natural' tool is very important when trying to align patches with brushes. If you can't seem to get a patch to match with a brush, try selecting your patch and clicking 'natural' and then trying again to align the two.

Nice work, you now have learned the basics of texturing in Netradiant!

Here's another situation you might run into from time-to-time. Let's say you have two brushes connecting at an angle and for whatever reason they have differently rotated UV wraps, like this:

Pressing shift+middle mouse to try to align these two textures won't work. Instead try CTRL+middle mouse to have it force alignment between the two brushes.

##### Mouse texturing hotkeys:

* Mouse 3 (m3) copies texture name, alignment, color, light power, etc
* alt + m3 pastes texture name (to pointed and selected stuff)
* shift + m3/drag pastes texture name, alignment, light power
* ctrl + m3 pastes texture seamlessly between brush faces, patches, light color
* ctrl + shift + m3/drag projects texture from copied brush face, paste light power, color
* alt + ctrl/shift/ctrl+shift + m3/drag  - respective texture alignment paste without texture name

Nice!

Time to move on to learning how to make patches! Just keep in mind that using the UV tool on Patches is a bit trickier.

Mapping 103: Patches