Tool 2: Resize/Rotate Texture

With this tool you have the ability to resize, rotate, mirror and add padding to the textures raw data – retaining its custom settings and adjustments.

A lot of textures come in very large sizes, it’s not uncommon to have 4096×4096 and 8192×8192 pixel textures used by your projects assets. Often they will never be displayed on objects large enough to see that much detail, or your project is aimed at mobile or lower end PC hardware. In these cases it is common to specify a higher “LOD Bias” for the texture and at packaging time it is saved as that lower resolution. However it is still in your project folder (and all backups) as the larger size – and that can be 50Meg or more for each texture (think diffuse,normal etc). Reducing them can re-claim a large amount of storage space.

Note: Unreal Engine re-sizes textures to any specified “LOD Bias” when it packages your project so if you have plenty of hard drive space and backup space it pays to keep textures at their maximum size.

The other options in this tool are aimed at adjusting imported textures, aligning and rotating them for use in your materials.


Area1: Resize Settings

The options here are for re-sizing the texture on disk.

Source Mip You can specify which Mip to use from the textures source file (not the UE Mips) here – most textures don’t contain them but some do so it can be useful to be able to extract them with this option.

New Texture Size You can specify the new texture by selecting the X and Y resolutions from their drop-down options. Note that textures should usually have each of the dimensions at a power-of-2 (16,32,64,…,1024,2048 etc) – otherwise there will be no mip-maps created and the texture will always be stored in the GPU at the maximum size.

If you are resizing a texture that has a dimension that was not a power of 2 – you will need to edit the texture afterwards and change it to create mip-maps.

Resize Technique A selection of interpolation types for smoothing the re-size. Version 1.1 supports Nearest Neighbor, Linear, Bilinear and Bicubic interpolation. Version 1.23 adds Average interpolation.

Texture Format The pixel format that you want the color information to be stored in. If you select “(Use Existing)” it keeps the format each texture already is. If you’ve opened the Resize tool from the Texture Editor rdTexTools toolbar menu it defaults to the original format. Note this is the source data format, not the Compression type. The Compression type can be set to options such as Alpha or Mask using just one channel while the source is stored in RGB – it can conserve disk memory if the source format is changed to be grey-scale.


Area2: Rotate/Mirror Settings

The options here are for rotating and/or mirroring the texture on disk.

Rotation You can specify 90° increments for the texture rotation from the drop-down menu.

Flip Vertical/Horizontal Selecting these options will mirror the texture in those axis.


Area3: Padding Settings

The options here are for rotating and/or mirroring the texture on disk.

Padding The number of pixels to pad each side of the texture. Note that if you are using the texture with existing meshes, the UVs will be different, not allowing for the padding size and subsequent shrinkage.

Padding Color The color for the padding space.


Area4: Misc Settings

Currently just the one option here:

LODBias Processing type allows you to either ignore, reset, or recalcuate the LODBias setting used (if any)

MaxTex Size Processing type allows you to either ignore, reset, or recalcuate the MaxTextureSize setting used (if any)

Apply to All textures If you select this option, rdTexTools will search for all related textures in the same folder and apply the re-size/rotation etc to those.

The related textures are things such as normal maps and the search is done by looking for the currently edited texture name with the suffixes for the various map types added.

For example, if you are editing the texture “T_MyTexture” – rdTexTools will search the current folder for “T_MyTexture_N” etc. If you are editing the texture “T_MyTexture_N” or “T_MyTexture_D” etc the suffix is removed and it will still search for “T_MyTexture_N” etc (ignoring itself).

The following list shows the suffixes it searches for:

Basecolor
Normal   
Metallic   
Roughness
Specular  
Gloss
BC, D, Diffuse, Albedo
N, Normal
MT, Metallic
R, Roughness
S, Specular
G, Gloss
Emmissive
Opacity
Mask
Displacement
Cavity
SRO
E, Emmissive
O, Opacity
M, Mask
DP, Displacement
C, Cavity
DpRA
AO
Height
Flowmap
Lightmap
Bumpmap
SRAODP
AO, Ao
H
FM
L
B, Bump
SRAODP