The CC0 Textures naming scheme

Having a clear overview over the naming scheme can be use useful when parsing the library with an automated script.

TL;DR version (works for all PBR materials but not for models or SBSARs)

ZIP files

<AssetID>_<Resolution>-<Extension>.zip

Note the dashes and underscores!

Examples:

Bricks045_4K-JPG.zip
PavingStones036_8K-JPG.zip

The maps inside ZIP files

<AssetID>_<Resolution>_<Map>.jpg

The map names are:

Color

Displacement

Normal

Roughness

Metallic

AmbientOcclusion

Opacity

Emission

Metalness

Scattering

var1 and var2 (used for imperfection maps that can be applied in several ways)

Examples:

PavingStones036_4K_Color.jpg
Road003_4K_Roughness.jpg

If your automation project also includes substance files (sbsar) or 3d models from CC0 Textures or if you are generally curious about why the names contain both underscores and dashes in seemingly random places then continue reading …

AssetIDs

The AssetID simply represents the internal name for that asset. It consists of a category (“PavingStones”,“3DBread”,“LeafSet”,“TilesSubstance”) and a three digit counter with leading zeros.
The names for 3D models begin with “3D”, substance files (.sbsar) have their own separate categories (so there exists “Marble” and “MarbleSubstance”, “Fabric” and “FabricSubstance”). Writing it out like this sounds more complicated that it really is…

ZIP files

The names of the ZIP files are composed of two main parts - AssetID and attributes:

<AssetID>_<Attributes>.zip

<Attributes>
The second part of the zip's file name (after the “_”) contains several attributes separated with dashes (“-”). Most zip files only have two attributes attached to them: resolution and the file extension of the maps within them (this is mainly for future-proofing since the CC0Textures.com website only serves JPEGs at the moment). This results in names like this:

PavingStones036_2K-JPG.zip
Tiles070_8K-JPG.zip

But some assets require more attributes on their zip files - for example to accommodate different ZIPs for High-Poly and Low-Poly photogrammetry models such as 3D Pear 001.

In this case the ZIP's filename gains an additional attribute to go along with the model:

3DPear001_HighPoly.obj
3DPear001_4K-HighPoly-JPG.zip

PBR maps (inside ZIP files)

The PBR maps inside the ZIPs generally follow a structure that is similar to the one ZIP files use:

<AssetID>_<Attributes>_<Map>.jpg

<Attributes>
99% of all maps only carry one attribute: The resolution. However, some maps (especially the the textures for a model) have several attributes which are seperated in the same way the are for ZIP files:

3DBread001_8K-MidPoly_Color.jpg

Please note that the file extension attribute from the ZIPs is no longer applied here since it would be redundant.

<Map>
The map defines how the image should be used in the context of a PBR material The map names are:

Color

Displacement

Normal

Roughness

Metallic

AmbientOcclusion

Opacity

Emission

Metalness

Scattering

var1 and var2

var1 and var2 (“Variation”) are only used in very rare occasions where an image has no clear PBR map assigned to it. This is the case for some surface imperfection maps (Example) where one image can be used to manipulate several other PBR maps (such as color and roughness for stains or fingerprints). These maps are not really meant to be imported in an automated fashion anyways.

Models and Substance Files

Models usually only come with one attribute:

3DBread001_LowPoly.obj

Substance files can also come entirely without any attributes. In that case the underscore is removed:

MarbleSubstance002.sbsar

The Patreon Google Drive folder

Patrons of CC0 Textures can get access to a Google Drive folder containing JPG and PNG versions of all assets. The folder is structured like this: