🔷Guidelines For 3D Model Creation

This outlines the specifications and guidelines for creating 3D models, textures, and animations for Gemini. The detailed instructions are designed to ensure consistency, optimal performance, and compatibility across various platforms. Adherence to these specifications is crucial for delivering high-quality assets that meet both technical and aesthetic standards. The document is divided into sections covering model specifications, texture requirements, material considerations, and animation specifications, providing a comprehensive guide for 3D asset creation.

Model specifications:

Format:

  • Glb (without KTX compression) with embedded textures

  • Glb without texture (required for color variants)

File size:

No size limitation ideally. 15 MB for static models and 20 MB for animated models is recommended for optimum performance.

Triangle Count:

100,000 triangles (including dimensions) recommended for best performance.

Unit setup:

1 unit = 1 Meters

Transformation:

Reset all transformations (position 0,0,0 scale 1,1,1 rotation 0,0,0)

UV sets:

  • Maximum of 2 UV sets recommended.

  • UVs should be in [0,1] coordinates.

  • UDIMs are not allowed.

Thin objects/parts:

If the product or parts of the product is thin and flat, it should not be created with a plane as it will cause backface culling issues in AR mode (IOS). These parts should be modeled with necessary thickness to avoid such problems.

Combine polygons:

  • For 3D assets without animation, merge all components into a single polygonal unit.

  • For assets with animation needs, retain animated components as separate polygons and combine non-animated parts.

Modeling guidelines:

  • Ensure the asset closely resembles the reference photos and adheres to real-world scale.

  • Optimize mesh geometry for performance while preserving visual realism.

  • Eliminate high valence vertices with excessive edges (10+ edges connecting to a vertex).

  • Ensure asset quality by avoiding shading errors, such as overlapping faces or improper vertex normals.

  • Maintain mesh integrity by eliminating obvious holes, unintended gaps, and non-manifold geometry.

  • Reset transform data, construction history, and modifier stacks to prevent export discrepancies.

  • Place the pivot point logically, based on the product. For example, a washing machine should have its pivot placed at the bottom center.

Texture specifications:

Texture resolution:

4096 x 4096 pixels (4K) or less. If less than 4K the texture sizes must be powers of 2 on the sides. Eg: 2048 x 2048, 1024 x 1024, 512 x 512, 256 x 256, etc.

Texture format:

PNG file (if alpha/transparency details are present). Otherwise the format can be a JPG file.

Texture maps:

Diffuse, Normal, Metalness, Roughness, Sheen, Opacity, Transmission and Emissive (PBR compliant)

Texture dilation:

Infinite texture dilation must be used to avoid aliasing issues while resizing texture size in the backend.

Materials:

If the GLB has embedded textures, export the GLB by using a PBR material with the texture maps connected.

If the textures must be mapped in the renderer, use two materials on the model, One for opaque parts and one for the transparent parts. All the PBR texture maps must be connected to both the materials.

Bake AO on Diffuse:

It is recommended to bake the Ambient Occlusion (AO) information onto the diffuse map itself, as the USDZ file does not automatically use a separate AO map.

Texturing guidelines:

  • Position UV seams on natural breaks of the real-world asset or conceal them in less conspicuous areas.

  • When creating UV layouts, ensure that all UVs are situated within the 0-1 space.

  • Prevent UV stretching and overlapping.

  • Arrange the UV shells logically and minimize unused empty areas.

  • Optimize assets with transparent components by using separate meshes and materials for transparent and opaque parts.

  • When generating tangent-space normal maps, adhere to the OpenGL convention - red channel representing the right direction, and green channel representing the upward direction.

  • Tileable textures and UDIMs are not supported.

Naming conventions:

File name:

ProductID.glb

(The asset should be named as the Product/SKU/VIID, for example 1234567.glb, These are unique IDs for every product. No special characters allowed)

Material Name:

Product_Material

Texture name:

Product_Material_Map

For example: Table_Wood_Diff (The map names at the end are restricted to 4 characters.

  • Diffuse - DIFF

  • Normal - NRML

  • Roughness - ROGH

  • Metallic - METL

  • Emissive - EMSV

  • Sheen - SHNC

  • Sheen Roughness - SHNR

  • Ambient Occlusion - AMOC

Animation specifications:

To ensure a seamless and engaging user interaction, it is imperative that animated models adhere to specific requirements that govern their design, development, and deployment.

  • Model the interior of the product if visible through glass.

  • Separate major components into individual meshes.

  • Animate transformations only (translate, rotate and scale); avoid morphing/blendshapes.

Open & Close Animations (GLB):

In cases where the product has an open and close functionality, such as recliners or folding beds, the following three animations are required only when specifically requested:

  • Idle Animation: This primary animation portrays the product in a closed state with no movement. It should be the initial animation in the sequence.

  • Open Animation: During this animation, any reclined or opened state should smoothly swing open.

  • Close Animation: This animation initiates with the product in an open state and concludes with it returning to a closed position.

Open & Close Animations (USDZ):

Animation clip support is not available in USDZ. Frame count of the animation must be entered while configuring the asset on the web platform.

Animation guidelines:

  • Ensure that the 3D model, when rigged, adheres to a limit of 254 bones.

  • Each vertex to be influenced by a maximum of 3 bone weights.

  • Note that morph targets or blend shapes are not compatible.

  • For articulated assets, implement specific pivot placement to guide movement and animation.

Last updated