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