Skip to main content

Khronos Blog

Streamlining 3D Commerce with Material Variant Support in glTF Assets

In the world of e-commerce, many products come in different options, or variants. When shopping online, for example, colors and materials of a brand of shoe might have an image representing each option:

Images representing different product variants.

And now, in addition to using 2D images, more and more retailers are starting to use 3D and AR to merchandise products in online channels to enable customers to more fully experience products or view items in their environment in rich 3D. However, in the above example, each time a customer views a different colored shoe, there’s a good chance that another complete 3D model is being loaded just to display that color variant. This leads to increased download times and wasted bandwidth as the files contain a lot of redundant data, including downloading exactly the same geometry multiple times. In turn this causes increased memory usage on the device, and slower interactivity, resulting in a poor customer experience.

With the release of the glTF™ KHR_materials_variants extension designed by the Khronos® 3D Commerce™ Working Group, multiple asset variants that share the same geometry can now be combined into a single glTF asset - enabling an optimal end-to-end experience for supporting multiple product variants in 3D Commerce use cases!

Describing different materials for a 3D model in a glTF file.

To support a product variant experience through this extension, a viewer simply needs to switch between materials in the glTF file when a different variant is selected, reusing the single set of asset geometry.

An example of a viewer supporting the KHR_materials_variants extension. Choose an option from the Variant dropdown to view that version of the shoe.

Using the example of the three shoes above, before the use of KHR_materials_variants a viewer would be required to download three complete glTF files to display each variant as there was no way the viewer could know to share the geometry between models. Each shoe model is a 5MB download - 4MB of geometry with a 1MB of textures. With KHR_materials_variants, a single glTF file can be downloaded with the 4MB geometry and the first referenced 1MB material, then if the user views additional variants only an additional 1MB of materials need to be downloaded for each. If the user views all three variants, avoiding downloading the 4MB of geometry three times reduces total download size from 15MB to 7MB.

Combining multiple glTF models into a single glTF file can significantly reduce overall download sizes.

Authoring Variants in glTF

In order to combine models together for this extension, you can start with this meld tool created by Facebook, with more tooling on its way now that this extension is released. Keep in mind that only models sharing exactly the same geometry can be melded together.

(© Inter IKEA Systems B.V. 2010) glTF models can be combined into a single file if their geometry matches.

More Than Just File Savings

In addition to reducing download times, the glTF KHR_materials_variants extension can make it much easier to consistently share and distribute product variants across the multiple companies and diverse platforms and viewers involved in a typical 3D Commerce pipeline. As an example, an online retailer previously may have had to distribute multiple glTF files along with separate metadata files to describe possible product variants to advertisers. With the KHR_materials_variants extension, both the information describing the variants and the required materials can be baked right into a single glTF file. Then, it becomes easier for anyone to re-create a product variant experience on any platform!

(© 2020 Wayfair) Variants of a chair sharing the same geometry but different materials in a single glTF file.

What’s Next

In addition to releasing the material variants specification, Khronos is working to build the ecosystem around the extension by advocating its support in authoring tools and viewers to ensure assets with material variants can be easily created and handled. This is a part of the 3D Commerce Working Group’s ongoing mission to make 3D asset development and deployment more efficient for e-commerce stakeholders industry-wide.

The glTF KHR_materials_variants extension enables elegant handling of the most common type of product variants involving differences in materials. However, there are other possible product variations: for example differences in shape and size. Consequently, the Khronos 3D Commerce Working Group is exploring the possibility of additional extensions to enable geometry variants to be carried in a single glTF file.

If you want to be involved in the ongoing work of the 3D Commerce Working Group, any company is welcome to join Khronos to collaborate on the evolution of 3D in commerce. Contact .(JavaScript must be enabled to view this email address) to learn more about joining the initiative and creating open, cooperative, cross-vendor standards and guidelines to streamline the creation and use of 3D content in retail and e-commerce.