Skip to content

Blender 5.3 importe et effectue nativement le rendu des splats gaussiens, mais ne peut pas encore les exporter

Le 16 septembre, Sergey Sharybin a fusionné la pull request qui apporte à Blender la prise en charge native des splats gaussiens. Blender 5.3 peut désormais importer une capture sous forme de splats depuis un fichier PLY ou SPZ, la stocker comme un nuage de points doté d'un nouveau type, puis effectuer son rendu dans Workbench, EEVEE et Cycles. La phase alpha se poursuit jusqu'au 30 septembre et la sortie est prévue pour le 10 novembre. Jusqu'à présent, utiliser des splats dans Blender nécessitait un module complémentaire comme BlendSplat ou une astuce basée sur les nœuds de géométrie, qui dessinait pour chaque point un quadrilatère orienté vers la caméra et s'effondrait au-delà de quelques millions de points. La pull request, les notes de version de Blender 5.3.

Capture sous forme de splats gaussiens d'une table avec une peluche et une plante, rendue dans la vue 3D de Blender 5.3

Une capture sous forme de splats dans la vue 3D de Blender 5.3, tirée des notes de version. Image : Blender Foundation.

Ce qui a été intégré

La conception est simple et mérite d'être comprise, car elle détermine ce que vous pouvez faire d'un splat une fois qu'il se trouve dans la scène. Un splat est un nuage de points. Le bloc de données PointCloud gagne une option Type avec deux valeurs, Points et 3D Gaussian Splats. La seconde ajoute des attributs supplémentaires à chaque point : scale sous forme de vecteur, rotation sous forme de quaternion, radiance:base pour la couleur de base et l'opacité, ainsi qu'une série radiance:sh_N pour les bandes d'harmoniques sphériques supérieures qui donnent au splat un aspect différent selon l'angle de vue. Comme il s'agit d'un nuage de points, les nœuds de géométrie peuvent lire et modifier toutes ces données.

L'importation couvre le format PLY, dont l'importateur détecte un splat à partir des attributs trouvés, ainsi que toutes les versions de SPZ jusqu'à la version 4. À l'importation, le système de coordonnées des fichiers SPZ est converti vers la convention verticale et avant de Blender. Les notes précisent toutefois que tous les outils n'écrivent pas les fichiers SPZ conformément à la spécification, et qu'une rotation peut donc être nécessaire. Du côté des nœuds de géométrie, on trouve un nouveau nœud Set Point Cloud Type, un nouveau nœud Import SPZ, et le nœud Import PLY produit désormais un nuage de points lorsqu'il détecte un splat, ou un maillage dans le cas contraire. L'importation USD prend également en charge le schéma de splats gaussiens standardisé par OpenUSD.

Le rendu fonctionne dans les trois moteurs. Par défaut, un splat est rendu au moyen d'un shader émissif piloté par son attribut radiance, sans que vous ayez à créer vous-même ce matériau. Vous pouvez toutefois le remplacer, et c'est là que les possibilités créatives apparaissent. Connectez plutôt cet attribut à un Diffuse BSDF et la capture réagira aux lumières de votre scène.

Éditeur de nœuds de Blender 5.3 montrant un attribut radiance connecté à un Diffuse BSDF au-dessus d'une capture sous forme de splats éclairée par une lumière de la scène

Rééclairage d'une capture : l'attribut radiance alimente un Diffuse BSDF, ce qui permet à une lumière de la scène d'éclairer une table numérisée. Image : Blender Foundation.

Ce qui manque

Il n'y a aucune fonction d'exportation. Un splat entre dans Blender et y reste, à moins d'être rendu sous forme de pixels. Les notes de version le disent clairement et documentent également les autres limitations actuelles : les performances n'ont pas encore atteint le niveau souhaité par l'équipe, le pipeline suppose l'utilisation du sRGB, si bien qu'un splat à faible opacité et à forte radiance peut être mal rendu dans Cycles et EEVEE, et Apply Transform ne met pas encore à jour les attributs d'échelle, de rotation ou d'harmoniques sphériques. Appliquer définitivement une transformation à un splat le corrompt donc. La tâche de conception visait une gestion fluide de dix millions de points, puis une progression vers cent millions. Les notes reconnaissent honnêtement que la version 5.3 constitue la première étape de cette progression, et non son aboutissement.

La tâche de conception indique également la direction prévue. Le type de nuage de points dédié aux splats finira par modifier le comportement des transformations et du rigging sur l'objet. C'est la première fois que nous voyons un outil grand public inscrire le « rigging d'un splat » sur sa feuille de route. Les choix de formats correspondent en outre aux travaux de standardisation menés ailleurs : le SPZ de Niantic, l'extension glTF KHR_gaussian_splatting de Khronos et le schéma OpenUSD. Tâche de conception nº 159470.

Pourquoi cela nous concerne

En environ dix-huit mois, les splats sont passés d'une démonstration de recherche à un format doté d'une chaîne d'outils, et ce mois-ci a bouclé la boucle. SuperSplat 3.0 permet de les modifier dans un navigateur avec WebGPU. PlayCanvas et Babylon.js les rendent dans un moteur. Désormais, Blender les charge dans la même scène que vos maillages et vos lumières, puis les éclaire. Ce qui manque, c'est la possibilité de les faire ressortir de Blender. Pour les intégrer concrètement à un jeu web, le parcours reste donc capture, SuperSplat, moteur, Blender servant au rendu et au développement visuel plutôt que d'étape dans le pipeline.

Pour les créateurs qui utilisent notre module complémentaire Blender, l'usage immédiat est l'habillage de scène. Numérisez une pièce ou un accessoire, déposez-le dans la scène, éclairez-le avec vos propres lumières, puis produisez vos images fixes et vos vues rotatives sur un décor réel. Intégrer cette capture à un jeu jouable est un autre problème et, en toute franchise, l'état actuel de la technologie fait d'un splat un élément de décor : vous pouvez passer devant, mais vous ne pouvez pas entrer en collision avec lui ni lui ajouter un rig. L'inscription du rigging sur la feuille de route de Blender est le premier signe que ce dernier point pourrait changer.

Si vous utilisez Blender pour créer des jeux de manière générale, notre guide Blender 5 pour les artistes de jeux vidéo présente les changements de la série 5.x, tandis que le guide des modules complémentaires indique ce qui nécessite encore un module complémentaire et ce qui n'en a plus besoin.

Références