Kris

Guide pratique du 3D Gaussian Splatting (3DGS) : principes, pièges et conversion en maillage

Gaussian Splatting3DGSNuage de pointsWebGLWebGPUConversion de maillage

Depuis un an, le 3D Gaussian Splatting (3DGS) a presque envahi tout le cercle de la 3D. Que ce soit sur YouTube ou Twitter, on voit des démos de rendu temps réel d’un réalisme à couper le souffle, et beaucoup crient au remplacement de la modélisation traditionnelle et du NeRF.

Mais quand on l’applique concrètement à un projet, on se rend compte que la technologie est pleine de décalages entre la théorie et la pratique. Aujourd’hui, on décortique la logique sous-jacente du 3DGS et les pièges méconnus du terrain.

Dimension techniquePhotogrammétrie traditionnelle3D Gaussian Splatting (3DGS)
Vision du mondeSurface dure : triangles + textures PBRBrume douce : des millions d’ellipsoïdes translucides lumineux
Vitesse de renduTrès rapide (rasterisation GPU classique)Très rapide (tri par profondeur GPU + accumulation)
Édition et physique du modèleTrès mature (collision, squelettes)Presque impossible à éditer (amas de points, pas de détection de collision)
Réflexions et refletsNécessite des shaders complexes, souvent secsExtrêmement réaliste, reflets de l’eau et du verre changent naturellement avec l’angle
Compatibilité impression 3DNative (déjà un maillage fermé)Impossible directement (nécessite une extraction algorithmique lourde)

Au-delà des apparences : qu’est-ce que le 3DGS ?

En bref, le 3DGS abandonne les règles classiques « points reliés en lignes, lignes en faces ». Il empile un scénario avec une multitude de « pelotes de laine lumineuses » (noyaux gaussiens) qui peuvent s’étirer, s’aplatir, être transparentes et dont la couleur change selon l’angle de vue.

Chaque noyau gaussien contient position, rotation (quaternion), échelle (matrice de covariance), opacité et couleur (harmoniques sphériques SH). C’est une astuce très maligne. Comme il n’est pas nécessaire de calculer des réfractions complexes par ray tracing, il suffit de trier ces ellipsoïdes par distance et de les peindre couche après couche. Sur une carte graphique standard, on atteint facilement 100+ FPS.

La dure réalité des fichiers splat dans le navigateur

Les vidéos de démonstration sont impressionnantes, mais si on veut mettre du 3DGS dans une page web pour un client, le premier obstacle est la taille du fichier et l’explosion de la mémoire GPU.

  • Format PLY standard : conserve des coordonnées en pleine précision et des couleurs SH d’ordre élevé (Spherical Harmonics). Avec des SH d’ordre 3, chaque noyau stocke 45 flottants pour représenter la couleur variant avec l’angle. Pour une pièce de 100 m², le fichier dépasse facilement 800 Mo.
  • Format SPLAT : supprime les variations de couleur avancées (SH d’ordre 0, couleur unique), le volume tombe à environ 250 Mo. On sacrifie les vrais reflets pour une taille réduite.
  • Format SPZ / KSPLAT : compression agressive quantifiée, conçue pour le mobile, elle peut descendre à 30 Mo environ.

Nos limites observées en pratique : les navigateurs mobiles modernes (comme Safari sur iPhone) ne peuvent fluide gérer que 300 000 à 800 000 noyaux gaussiens. Si votre scène dépasse 1 million de noyaux, ou si vous mettez un fichier PLY de plusieurs centaines de Mo directement dans la page, le mobile plantera probablement (écran blanc).

Pour tester les limites de votre appareil, utilisez notre Visualiseur Any3D Splat en local. Il utilise WebGL ou WebGPU dans le navigateur, sans consommer de bande passante serveur.

La leçon la plus douloureuse : conversion 3DGS vers maillage

Beaucoup d’utilisateurs, après avoir capturé une scène, réagissent : « Trop beau, convertissons-le en STL pour l’imprimer ! » ou « Importons-le dans Blender pour y ajouter une animation de personnage ! ».

La dure vérité : la conversion 3DGS vers maillage est un bourbier technique.

Parce que les noyaux gaussiens sont essentiellement des nuages de brume translucide, les algorithmes classiques d’extraction de surface (comme la reconstruction de Poisson) sont confrontés à une ambiguïté géométrique fatale face à ce non‑solide :

  • Catastrophe pour le verre et l’eau : un verre transparent rendu parfaitement par 3DGS sera interprété comme une masse solide en suspension. Une fois converti en maillage, on obtient un tas de trous et de faces déchiquetées, comme rongées par un chien.
  • Floaters parasites : les noyaux mal convergés forment des mosaïques désordonnées dans l’air. Lors de l’extraction, le ciel se retrouve parsemé d’innombrables « météorites » flottantes.
  • Poils et fines branches : anéantis, transformés en une bouillie grossière.

Si votre scène contient beaucoup de matériaux réfléchissants ou de structures fines, réduisez drastiquement vos attentes après la conversion. Forcer une transformation donne généralement une « boue informe ».

FAQ et stratégies pratiques

Dois-je filmer avec un smartphone ou prendre des photos pour l’entraînement ?

Les deux fonctionnent, mais la clé est le taux de recouvrement et la trajectoire. En pratique, filmer en 4K 60 im/s en tournant lentement autour de l’objet, puis extraire une image toutes les 10 images donne de meilleurs résultats que 200 photos prises à main levée (le flou de bougé est l’ennemi juré du 3DGS). Point important : il faut tourner autour, pas seulement filmer en tournant sur place.

Comment faire de la physique de collision dans un moteur de jeu ?

N’espérez pas utiliser les noyaux gaussiens pour les collisions. La méthode éprouvée dans Unreal Engine 5 et Unity est d’utiliser le 3DGS pour le rendu visuel, et de construire une boîte invisible ou un low‑poly très grossier autour de l’objet, servant de volume de collision (Collider) classique.

Mon nuage de points LiDAR peut‑il utiliser cette technologie ?

Un nuage de points LiDAR standard ne contient que des coordonnées XYZ et une couleur de réflexion unique, sans information de champ lumineux dépendant de l’angle. Il est impossible d’entraîner des paramètres SH. Vous pouvez prévisualiser un nuage de points classique avec notre Visualiseur Any3D PLY, mais pour obtenir le rendu chatoyant du 3DGS, il faut passer par le pipeline complet d’entraînement à partir d’images multi‑vues (prétraitées avec COLMAP).

Nous soutenir