Oups, il semblerait que vous ayez oublié que nous sommes en 2021 !

Vous utilisez un navigateur vieux de plus de 6 ans. En année navigateur, ça fait au moins 1000 ans. Je ne peux que vous recommander de le mettre à jour pour que vous puissiez profiter convenablement d'internet d'aujourd'hui.
Rejoindre l'internet moderne

Développer un puissant configurateur 3D & AR

Compétences : Gestion de produit, React, Three.js, glTF 2.0, GrahQL

Aritco est une entreprise d'ascenseurs complètement personnalisables. Une équipe de plus de 10 personnes venant de tout le Bublar Group a développé pour eux un configurateur dynamique de produit en 3D et AR, l'un des produits les plus complexes et uniques dont je fus le pionnier en tant que CTO et cofondateur de Sayduck.

The project

Aritco is a Bublar Group client that needed a new 3D configurator for their custom elevators. However, this was no easy task, as the available choices offered by the company for their products are incredibly numerous.

Without even taking into account the unique nature of their customer's homes - which requires each elevator floor height to be fully customisable to the millimetre - the number of floors, choices of materials, door positions and so on created several billion options for each elevator model.

On top of things, the final configuration, obviously completely unique was to be made available in web AR instantaneously for users on mobile!

Sayduck's configurator editor

Luckily, over the years, Sayduck developed a very advanced and flexible configurator editor interface, enabling even very complex products to be setup as configurator from an easy-to-use and completely code-free interface.

I had the privilege of pioneering the development of the configurator at Sayduck, from the very first version's conception - with all its limitations and unexpected edge cases - to the final tweaks to provide for Aritco's never-seen-before complexity.

Indeed, with tens of choice categories, and fully dynamic parameters like floor heights, one of the biggest bottleneck turned out to be data management and transmission. To prevent our API from timing out when serving the massive data description of the available possibilities, we optimised the Sayduck graphQL format and processes to divide our serving times by over 10x.

Dynamically created 3D

Another challenge was the visualisation of dynamically created configurations: with each floor height requiring the capability to be adjusted to the millimetre, the Aritco configurator has a virtually infinite number of possibilities. It was thus impossible to store each possible mesh on our backend, as we normally do with configurators. Usually, creating a configuration is just a matter of merging together the right set of static meshes, and voilà.

In the case of Aritco, I had to figure out complex 3D geometry calculations and very low-level glTF "hacking" to be able to edit on-the-fly the floor meshes to stretch them and position them correctly.

Enabling Augmented Reality

As this was not a complex enough project, we also offered Aritco the capability that each and every single one of the virtually infinite combination could be seen immediately in Augmented Reality, app-free, for visitors on a mobile device.

To achieve this, we tweaked our very powerful "AR-on-demand" API endpoint, to be able to receive the final glTF data created by the dynamic code. From there on, Sayduck's distributed processing server would take care in real-time to create matching USDZ files (iOS web AR format) and send them back to the user over a websocket in a matter of seconds. 

This was definitely a massively challenging project, just as much from a purely technical and optimisation standpoint, than from venturing into completely new areas for product configuration and web AR or even from managing a large team with multiple units (configurator UI, API optimisation, dynamic 3D & AR, 3D production, ...). This is a flagship example of my work at Sayduck, and a massive success of the talents at Bublar Group regarding 3D, AR and immersive technologies in general.