No Man's Sky uses mainly DDS images as texture maps but also accepts formats such as PNG, JPEG, and PSD as per Horde3D specification. As such, it is highly recommended to use the Nvidia DDS plugin for Photoshop, GIMP, or any image editor of choice with DDS file handling capabilities.
Due to the way shaders have been written, the arrangement of textures overall differ from what is more commonly known in other game engines. The most commonly used shader is called the Ubershader and functions similarly to Unity's Standard Shader (physically-based rendering) but with a few differences as discussed below and in the MATERIAL page.
Usable Texture Maps
The basic diffuse is practically the same as a basic 2D texture in most engines. The map contains RGB data containing the albedo colors for your object's texture. It is important to take note of the way channels are read by shaders.
- RGB channels - color information for your albedo map.
- Alpha channel - this channel is used for transparency, and emissive textures. (all these material flags read from the same channel and as such, you can't have all of these flags running at once)
The mask map contains other color information used by NMS.
- Red channel - As of Companions, this channel is used for metalness maps. Previously used as Ambient Occlusion map pre-Atlas Rises.
- Green channel - a gloss map is used here. Despite the material settings specifying this should be a roughness map, the way they look in the textures implies it's really a gloss map, basically an inverted roughness map.
- Blue channel - has something to do with detail textures but is largely unused for most models. It is also used for determining where custom colors are applied in base-building - White receives primary color, grey (#848484) receives secondary color, and black retains original texture color.
- Alpha channel - (most likely unused)
As of the NEXT update, NMS uses YX -> RG normal maps. In other words, whatever is usually in your R channel is in G and vice versa compared to standard normal maps.
Terrain texture formats
The terrain texture files are located in TEXTURES/ATLASES/TERRAIN
These textures are slightly different to the normal textures used by the game as the are volume textures, so each file contains 10 layers of textures.
There are 3 Textures, each in a specific .DDS format:
Diffuse - Four CC, 4-bit DXT1, 1-bit alpha
HSV - Four CC, 4-bit DXT1, 1-bit alpha
- HSV version of the RGB diffuse map (we aren't sure yet)
Normal - Four CC, 8-bit DXT5
- Red channel - most likely a heightmap for texture blending
- Green channel - actual normal map X
- Blue channel - looks like an inverted specularity map
- Alpha channel - actual normal map Y