Popular topics: General 3D model requirements WANNA Environment Maps

General 3D model requirements

Applicable to all 3D models used in Wanna technologies

Overall

  • 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.
  • Textures must be exported in 8 bits per channel
  • [Try-on] Total amount of pixels across all textures shouldn't exceed 18 MP, for example three 2048x2048 textures or nine 1024x1024 textures.
  • [3D viewer] Total amount of pixels across all textures shouldn't exceed 38 MP, for example nine 2048x2048 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 or KHR_Transmittance 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

If you have both iOS and web experiences of the same type, then the supported extensions are applied based on the lower version.

Extension name Supported from the following WEB SDK versions Supported from the following iOS SDK versions
Index of refraction (KHR_materials_ior) 2.6 6.1
Volume (KHR_materials_volume) 2.7 6.1
Specular intensity & color (KHR_materials_specular) 2.6 6.1
Clearcoat (KHR_materials_clearcoat) 2.6 6.1
Transmittance (KHR_materials_transmission) 2.7 6.1
KHR Draco Mesh Compression 2.7 6.1
KHR materials emissive strength 2.6 6.1

Supported WANNA custom extension

Extension name Supported from the following WEB SDK versions Supported from the following iOS SDK versions
WNB_materials_gem 2.7 Not supported yet

Not supported / Ignored

  • All other KHR extensions are not supported, and model with them will be rejected.
  • Displacement map or any other map except for albedo, emissive, 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.
  • In workspaces with SDK version 2.7 and 6.1, Draco compression will be automatically applied to models.

Color Settings

  • By default, you should use the sRGB color space while creating 3D models for Wanna for better color accuracy. To do this:
    • Start a project with the settings as in here
    • Turn on the AO channel manually for each texture set
    • During export, all texture maps should be exported as sRGB 
    • Note that this feature is only supported by Web SDK 2.6.0 or later and iOS SDK 6.1.0 or later
  • If you need to use P3: 
    • Use P3 for all settings from above 
    • Set model color space to P3 in the WANNA Studio

Recommendations

  • 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 (don't place thin surfaces, like decals, one on top of the other without a proper gap. Even if you don't see z-fighting it may be worsened by draco compression).
  • If you later need to use the same model in a 3D viewer and for Tr-on, please ensure it is 1:1 with the real size.

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 and ensure correct model preview generation.

Footwear
The toe of the shoe should point towards +X axis
Watches
The hand’s stub should be positioned on the +X axis, the clock face should point towards -Y axis 
Bags
The front part of the bag should point towards +X axis
Generic
Orientation of models for generic space should be frontal to +X axis

Was this article helpful?

Can’t find what you’re looking for?

Our award-winning customer care team is here for you.

Contact Support