In this tutorial you will learn know to import custom textures into UDK in order to use them to create a new material. We'll take a diffuse, a specular and a normal map texture and import them into UDK.
This tutorial covers:
- Texture size dimensions to use
- Saving your textures
- How to create a new package to save your textures into it
- How to import a diffuse map
- How to import a specular map
- How to import a normal map
- Saving your package
- How to reimport your textures
Texture Size Dimensions
Texture size dimensions are important before you consider importing them into UDK or any other game engine.
All of your textures need to be power of 2.
Power of 2 dimensions are 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096.
Example of texture dimensions: 256x256, 512x512, 1024x1024 etc. All these values are in pixels.
Power of 2 values are not the same as being divisible by 2. The size dimension of your texture has to follow the power of 2 guidelines.
You can have textures as a square (256x256, 512x512 etc) or they can be rectangular (512x1024, 1024x256 etc) . As long as they are in powers of 2. Although, a good rule of thumb that I recommend that extends beyond UDK is to stick with square dimensions but you do not have to.
If you are using to create for mobile IOS device, your textures have to be square.
Saving Your Textures
You can save your textures for UDK with any of the following extensions.
File format that I recommend and use to save my textures is targa (.tga). It is a lossless file format and it is able to save 24bit or 32bit (with alpha channel).
One downside to .TGA is the file size. With many textures saved as targa, total size of them will begin to add up. But don't worry about .tga high file size in UDK. After importing your textures, UDK will compress and save your textures as .DXT, so they can be used.
Make sure your textures are RGB. Do not use CMYK or Grayscale.
Save your textures with recognizable, explicit name and in any folder on your hard drive.
You should add a _D, _N or _S at the end of the name.
- _D is for diffuse maps
- _N is for normal maps
- _S is for spec maps
Example: BrickWall_D, BrickWall_N and BrickWall_S
You can come up with your own naming convention for more detailed explanation and texture differentiation.
Save your textures into a folder that you can easily find. I always have a project folder started for the environment that I am working on.
It is time to import the textures into UDK.
Step 1: Start up UDK and open the Content Browser
Step 2: Click on Import
Step 3: Navigate into the folder with the saved textures. Select one and click Open.
You can select all textures you want to import. But for the simplicity of this tutorial and learning the workflow, I will import textures one at a time.
Lets start with diffuse. Select the diffuse map and click Open.
Creating New Package
We haven't created a package yet, so with the first texture import we will create a package to save our textures into.
Package file will contain all of your assets for a specific level or assets with a specific theme and art style. Inside this package you will import your textures, static meshes, and create materials saved within this one package. A package in UDK will be saved as a .UPK file.
You only need to create this package once. Then every time you import, you will chose the created package as a place to import your textures or other assets.
So with importing our first texture (diffuse map) we will also create a package to import the rest of the textures and assets into.
First three menus we want to look at is Package, Grouping and Name.
Package: Name of the package that will show up in the UDK directory. This is the file that will contain all of your imported textures, static meshes and materials. I named this package 'WoLD_Import' because it will only be used for importing demonstration for tutorials and nothing else.
Note: If you input a new name in here, this will create a new package, new .upk file. But if you already have a package you want to import into, then use the drop down menu and select which package you want.
Grouping: Name of the group. Think of grouping as a folder within the Package to organize your work. I create groups for Textures, for Static Meshes and for Materials. In this case name the group Textures.
Name: Name of the texture. It will retain and use the name of the texture by default. You can rename the texture here if you want something different.
So for this diffuse texture import we are essentially doing two things. We are defining a new package and importing the diffuse into it.
Under options we want to leave all of these as default. Nothing needs to be changed for diffuse texture that contain only color information. These options will begin to make more sense after you've created few materials and worked with them.
One option to look over is under Compression Settings. Make sure it is set to TC_Default for diffuse maps and specular maps. This shouldn't be set to anything different right now, but if we were to import a normal map first then a diffuse map, compression setting will retain the last texture you imported. It is a good habit to look over compression setting before import.
OK To All is an option for multiple textures. So if you selected more than one texture, clicking OK To All will import them all with the defined options that you set.
This will create our package, and import the first diffuse texture into the group under 'Textures'.
Let's import a Specular Map.
From Content Browser, click Import and select the spec map.
We already have our package to import, just make sure that it is highlighted in the Package name window. If not, use the drop down menu to find.
Set the group to Textures.
You can leave the texture name as is or rename it.
Make sure Compression Settings is set to TC_Default and leave all other options default.
Now we have our spec map imported.
Click Import, select the normal map and click Open.
Make sure you are importing into the Package and Texture group. Set the name of the normal map or keep the default.
For normal map, we need to change one option, Compressing Setting. Change this to TC_Normalmap.
There are two Compression Settings you can choose here, TC_Normalmap and TC_NormalmapUncompressed. This is a bit more advanced and I will cover the difference between these two options in a later tutorial.
For now, in order to keep this tutorial simple we are going to use TC_Normalmap. Which is a good default and low memory usage compression for our normal map.
Saving The Package (.UPK)
All textures are now imported and we need to save our package.
Anytime you exit UDK, it will ask you if you want to save the modified map and package files. Just click Save Selected.
But you never know when something might happen, this is why you should manually save. In the Content Browser, in the Packages Panel, Right Click on the package and choose Save.
You can also go up to File --> Save All which will save the package and the map files. Or go to File --> Save Modified, which will only save any modified files.
Any time you need to update and reimport your textures, in the Content Browser, Right Click on the texture and choose Reimport Texture.
This only works if you haven't moved the texture from the original location where you imported from. If you moved folders or renamed the original file, Reimport Texture will ask you to look for a new location to track down and match the texture file.
In the next tutorial we'll use these textures and create our first material.