Sayduck Wiki

Page tree
Skip to end of metadata
Go to start of metadata

This document describes the generic technical and visual requirements for creating 3D assets for the Sayduck platform. There is a separate page explaining the fields in the product editor in more detail.

Product definition

On the Sayduck platform we consider an individual product to be a product with a shape that differs substantially from another one. A collection of products sharing the same name but completely different shapes (e.g. lounge chair and sofa) are considered to be different products. 


Variations are typically different colour options of a product. A sofa could for example exist in an unlimited range of colour variations. Different shapes (for example left and right hand L-shaped sofas) should not be defined as variations. However variations of a product with minor changes (partial changes) in shape (e.g. a chair with or without armrests) can be included within the same product as variations.

Meshes in variations

Variations are made up of individual meshes with defined materials, set up in the variations section in the product editor. For example a sofa that is sold with 3 leg options and 10 fabric options (30 SKUs in total), can be set up using two meshes (legs + sofa), and 13 material definitions (assuming the legs have different finishes).

If variations have different physical shape (chair with or without armrests), the parts that are not needed for a certain variation can be left out by setting the material definition to "Disabled".

Best practices


The two meshes (legs and seat) of a product highlighted in green.

Products can have an unlimited number of 3D meshes. Maximum polygon count per individual mesh is 60 000 polygon triangles. There is no hard limit on total number of polygons in a product, instead is depends on device hardware. Internally we try to keep total polygon counts under 250 000 polygon triangles. Meshes are stored as OBJ (Wavefront) files.

Materials are always specified per mesh. Meshes can either be individually uploaded (split up into pieces based on material), or one "master mesh" that includes the different parts separated as groups, can be uploaded. The system automatically splits up groups contained within OBJ files into separate meshes.


Product mesh UVs should be laid out in the 0-1 UV space and should usually be non-overlapping.


A sofa and it's UVs.


The Sayduck platform supports both traditional unlit/shadowless rendering and lit Physical Based Rendering (PBR).

The PBR shader exposes a “metallic” value that defines whether a material is metallic or not. In the case of a metallic material, the Albedo color will control the color of the specular reflections and most light will be reflected as specular reflections. Non metallic materials will have specular reflections that are the same color as the incoming light and will barely reflect when looking at the surface face-on.


Certain materials have predefined presets in the editor.

Chrome, rough brass, and glossy white material presets.


Products should in general preferably use tiling textures. Uniform materials like chrome, plastics, etc can be made without any textures.


A tiling fabric texture, an overall product occlusion map, and the resulting render in the 3D Viewer.

For more detailed information about the available settings, have a look at the editor fields page.

  • No labels