3D model should be a valid and complete glTF or GLB file with all textures present, you can validate them using Khronos 3D Viewer.
All transformations should be applied prior to export to glTF/GLB.
Maximum 100 primitives per model.
Archived file size containing all textures and geometry data should not exceed 50 MBs.
There are restrictions on number of triangles in the model, which vary by category.
Category
Max triangles count
Max texture size (auto-resized)
Footwear
65'000 per shoe
1024x1024
Watches
100'000
2048x2048
Bags
130'000
2048x2048
Other objects for 3D Viewer
130'000
2048x2048
UV maps and textures
Only one UV set per object.
Total amount of pixels across all textures shouldn't exceed 18 MP, for example three 2048x2048 textures or nine 1024x1024 textures.
Red ORM channel should either contain baked-in AO map or be #FFFFFF.
By default Substance Painter exports it as #000000, resulting in absolutely black image.
Distance between the UV islands should be:
512x512 textures = 4px
1024x1024 textures = 8px
2048x2048 textures = 16px
UV islands should not be close to the boundaries of the UV space
All details of the UV should be within the range of 0 to 1 on the coordinate grid, as on the picture below.
Transparency
Use alpha channel for transparency.
If the transparent geometry (e.g. glass) covers another transparent geometry (e.g. gems under that glass), then they must be separate materials to ensure proper rendering order.
Supported KHR extensions
Index of refraction (KHR_materials_ior)
Volume (KHR_materials_volume)
Sheen (KHR_materials_sheen)
Specular intensity & color (KHR_materials_specular)
Clearcoat (KHR_materials_clearcoat)
Transmittance (KHR_materials_transmission)
Not supported / Ignored
All other KHR extensions are not supported, and model with them will be rejected.
Emissive map, displacement map or any other map except for albedo, normal, and ORM will be ignored.
Vertex colors are ignored.
Animation, except for watches animation (see respective article).
Materials like the mother of pearl and car paint, reflective fabric and fur are not supported.
Automatic changes by WANNA backend
Albedo texture are converted to JPEG (unless it is a PNG with alpha channel transparency).
Other texture maps: JPEG is kept as is, all other formats will be converted to PNG.
All textures are resized to recommended size for the category if they are too large.
16-bit textures are converted to 8 bits per channel.
Color Settings
By default, you should use the sRGB color space while creating 3D models for Wanna for better color accuracy. To do this:
Add padding to texture maps for smoother seams between elements (we recommend 4 pixels padding for 1024x1024 maps).
Make sure that all details in the UV file are as relaxed/optimized as much as possible to avoid texture distortions.
It is best to use normal map and albedo instead of mesh to model very small details, as that avoids aliasing and reduces number of polygons.
Avoid z-fighting if there are multiple meshes.
Model orientation
Make sure that model orientation is correct before uploading the asset to Substance Painter. Doing so will match lighting in Substance Painter and Wanna Studio.
Footwear
The toe of the shoe must be positioned on the x-axis.
Watches
Bags
The front part of the bag positioned on the x-axis.