Textures

General Rules

Every single texture embedded in GLB must comply:

  • The texture must be square shaped and Power-of-Two size, ex: 512x512, 1024x1024 and so on

  • Both PNG and JPEG are allowed. JPEG is recommended as it’s smaller in size

  • Minimum size is 16x16

  • Maximum size is 2048x2048

Texture Set

A set of textures for different effects, for the same UV layout will be called Texture Set. Texture Set can consist of:

  • Base Color (mandatory)

  • Normal Map (optional) - RGB texture

  • Emission (optional) - RGB texture - color of emission

  • Occlusion/Roughness/Metallic (optional) - RGB texture - R channel is Occlusion, G channel is roughness, B channel is metallic

Texture size (Simplified)

Option 1

The model can have only one texture set. All textures in it are no more than 2048x2048. I.e. base color, normal map (optional), emission (optional), ORM (optional) - each of them 2048x2048 or less. All model meshes are mapped into this texture set.

Option 2

The model can have 4 separate texture sets. All textures in each set are no more than 1024x1024. You can have, say, footwear in one set + top in the second set + bottom wear in the third set and everything else in the forth. 2 or 3 texture sets are allowed too, just no more than 4.

Texture size (Advanced)

If all textures from all texture sets fit a theoretical 4096x4096 square - you are good to go. You don’t need to pack it like this, just make sure it’s possible to do.

Example 1

One texture set, all 4 textures, 2048x2048 in size:

All textures can fit the square - we are good to go.

Example 2

Arbitrary character. With different textures in different texture sets.

We have several textures 512x512 and one texture 256x256. All textures can fit the square - we are good to go. However we have a lot of unused space - so any of those textures can be increased in size up to 2048x2048. As long as they can fit the square - the model is valid

Last updated