Welcome to my Hellsite!

My name is Anaïs and I'm confused.

Textures
x

Remember what I've said about the Laws of Optimization and the Laws of Shaders ? Everything that applies to a 3D mesh applies to a texture as well.

Textures types

Just like human kind, textures comes in a wide range of shapes and colors. Let's talk about diversity, inclusivity, and all sorts of texture wokeness. (If you ever cried because your favorite game didn't have a white cishet male as a protagonist, you better not dig into LUT gradient textures – clearly leftist propaganda).

I gathered here a list of the main textures 3D artists will encounter – if they ever have to face a more uncommon one, most likely a local technical artist would be the one in charge of the situation.

Base Color

This is the easiest one you can have in a projet. Boom, RGB channels all have RGB informations so your asset can have RGB colors.

Normal Maps

This is a tricky one. Looks tricky at first, then looks easy, but really is even more tricky. Normal maps import settings have to be carefuly done otherwise the Gods of Black Magic will be angry at you. Why would you hurt their favorite angel ?

This one works with lightning, and each texel gather a normal data that interact with the light, and then gives a more detailed look without having meshes with a vertex density so high it is a nightmare and cannot load. Bless God Normal Maps.

Others (metallic, roughness, AO, etc.)

You can have a lot of textures that really are just a black and white and 254 Shades of Grey and they all react differently to the light in the material you are using. Because of this, they can take only one channel in a texture, and this is leading us to the next point : texture packing.

UI

Sprites

Texture Packing
x

In a texture file, preferably .png or .tga, you have 3 to 4 channels, each of them is represented by a letter R (red) G (green) B (blue) & A (alpha). But no textures takes all the space of the 3 channels, so you can gather them all in a single .png or .tga file. Easy !! But it is better to assemble them (Law of Optimization) according to their type (Law of Shader). Here's my advice :

Because these textures can have the same import settings without any problem ! It takes less memory space to have everything gathered this way and it is faster to send them to the GPU (Law of Optimization), and they work similarly inside the GPU (Law of Shader), so the GPU can say « OKAYYY who are you ? Metallic ? And your friends they are ? Oh, Roughness, Ambiant Occlusion and Opacity ! Welcome, you can all get in the taxi I'm calling for you because you all need to go to the same direction. Oh hi Normal Map ! I'm calling another taxi for you because you go your own way:) Albedo already went where he needed and he was with Emissive ! Can you believe that ?? ». That transitions to the compression settings, because if they are packed this way, it is because deep inside they are the same (can have the same settings).

Compression settings

One of the setting is « is it sRGB or Linear » and to know if its sRGB ask yourself this question : are the colors of this texture designed to be fancy this way in game (like an albedo/base color) ? If yes, it is sRGB (and have a gamma correction). If the colors of the different channels are pure data exploited by the shader and are NOT fancy (for example, the colors of a normal map are not here to be fancy, but to calculate how the light react with the object) its linear.

Warp Mode

It defines how the texture is going to act if they are out of the UVs, the most common way is to select « Repeat », but Miror (with is like Repeat but the other way) and Clamp (just an endless smudge of the edges texel) can be used as well. Please don't think twice about it.

Filter Mode

It is simply how the texels are blended with the neighbors according to the camera distance and angle. Please use bilinear and nothing else. If any of the other settings are required, your local technical artist will tell you (trilinear can be, for example, used for walls and grounds and everything seen from a weird angle because it will also blend with mipmaps)(mipmaps are like your texture's kids and grand kids, you have mips levels that decrease in size and they are called by the GPU to avoir calling a 4k sized texture for an asset that is far in the background and takes like 50px max on screen – Law of Optimization here).

Import Settings

Trying not to drown anyone anymore with complicated Black Magic Theory here, I made a whole page on how to import everything on unreal. You also have the 3D import and the perforce tutorial.