Kris

3D Gaussian Splatting (3DGS) Praxis-Guide: Prinzipien, Fallstricke und Mesh-Konvertierung

Gaussian Splatting3DGSPunktwolkeWebGLWebGPUMesh-Konvertierung

Im letzten Jahr hat 3D Gaussian Splatting (3DGS) die gesamte 3D-Rendering-Szene im Sturm erobert. Egal ob auf YouTube oder Twitter (X) – überall sieht man diese atemberaubend realistischen Echtzeit-Demos, und viele rufen sogar: „Das wird traditionelles Modelling und NeRF überflüssig machen!“

Aber wenn wir es wirklich in Projekten einsetzen, zeigen sich schnell die typischen „Versprechen vs. Realität“-Unterschiede. Heute tauchen wir tief in die zugrundeliegende Logik von 3DGS ein und decken die weniger bekannten Fallstricke in der Praxis auf.

Technische DimensionTraditionelle Photogrammetrie3D Gaussian Splatting (3DGS)
WeltbildHarte Flächen: Dreiecksnetze + PBR-TexturenWeicher Nebel: Millionen von leuchtenden, halbtransparenten Ellipsoiden
Render-GeschwindigkeitExtrem schnell (traditionelle GPU-Hardware-Rasterisierung problemlos)Extrem schnell (GPU-Tiefen-Basis-Sortierung + Überlagerung)
Modellbearbeitung & PhysikSehr ausgereift (kollidierbar, rigging-fähig)Kaum editierbar (nur eine Punktwolke, keine Kollisionserkennung)
Viewpoint-Reflexionen & HighlightsErfordern komplexe Shader-Simulationen, wirken oft trocken und leblosSehr realistisch – Reflexionen von Wasser und Glas ändern sich natürlich mit dem Blickwinkel
3D-Druck-UnterstützungNativ unterstützt (bereits geschlossene Mesh-Entität)Nicht direkt druckbar (erfordert aufwendige Algorithmen-Extraktion und -Konvertierung)

Hinter den Kulissen: Was ist 3DGS eigentlich?

Einfach ausgedrückt: 3DGS wirft die traditionelle 3D-Modell-Logik „Punkte verbinden, Linien verbinden“ über den Haufen. Stattdessen stapelt es eine Vielzahl von dehnbaren, stauchbaren, transparenten und blickwinkelabhängig farbwechselnden „leuchtenden Wollknäueln“ (Gauß-Kerne) , um eine Szene zu bilden.

Jeder Gauß-Kern enthält Position, Rotation (Quaternionen), Skalierung (Kovarianzmatrix), Opazität und Farbe (sphärische Harmonische, SH). Dieser Ansatz ist extrem clever. Da keine komplexen Raytracing-Refraktionen berechnet werden müssen, müssen diese Ellipsoide nur nach Entfernung sortiert und dann von hinten nach vorne Schicht für Schicht gezeichnet werden. Auf einer normalen Grafikkarte erzielt man so mühelos 100+ FPS.

Die harte Realität von Splat-Dateien im Web

Die Demo-Videos sehen toll aus, aber wenn man 3DGS tatsächlich im Web für Kunden bereitstellt, stößt man sofort auf Dateigröße und VRAM-Explosion.

  • Standard-PLY-Format: Enthält Koordinaten mit voller Präzision und sphärische Harmonische (SH) höherer Ordnung. Bei SH 3. Ordnung müssen pro Kern 45 Fließkommazahlen für die blickwinkelabhängige Farbe gespeichert werden. Ein 100 m² großer Raum erreicht schnell über 800 MB.
  • SPLAT-Format: Verzichtet auf Farbvariationen höherer Ordnung (Reduzierung auf SH 0. Ordnung, also einfarbig) und komprimiert so auf etwa 250 MB. Man opfert realistische Licht- und Schatteneffekte für geringere Größe.
  • SPZ / KSPLAT-Format: Aggressive Quantisierungskompression speziell für mobile Endgeräte – auf etwa 30 MB reduziert.

Unsere Messungen zeigen folgende Grenzen: Moderne mobile Browser (z. B. iPhone Safari) schaffen flüssig nur etwa 300.000 bis 800.000 Gauß-Kerne. Überschreitet die Szene 1 Million Kerne oder lädt man eine mehrere hundert MB große PLY-Datei ungünstig ins Web, kommt es auf dem Smartphone meist zu einem White Screen oder Absturz.

Um dein eigenes Gerät zu testen, nutze einfach unseren Any3D Splat Viewer und lade eine Datei lokal. Rein browserbasiert mit WebGL oder WebGPU, kein Serverbandbreitenverbrauch.

Der schmerzhafteste Punkt: 3DGS zu Mesh konvertieren

Viele Nutzer sagen nach dem Scannen: „Cool, schnell in STL umwandeln und drucken!“ oder „In Blender importieren und eine Figur animieren!“.

Die harte Wahrheit: 3DGS zu Mesh ist ein technisches Minenfeld.

Da Gauß-Kerne im Wesentlichen aus leuchtendem, halbtransparentem Nebel bestehen, stoßen traditionelle Mesh-Extraktionsalgorithmen (wie Poisson-Rekonstruktion) auf fatale geometrische Ambiguitäten:

  • Katastrophe bei Glas und Wasser: Extrem realistisch wirkendes transparentes Glas im 3DGS wird vom Algorithmus als eine schwebende Entität interpretiert. Nach der Konvertierung erhält man eine Ansammlung von löchrigen, zerklüfteten Bruchflächen, die aussehen, als hätte ein Hund daran gekaut.
  • Schwebende Artefakte (Floaters): Nicht vollständig konvergierte Gauß-Kerne bilden chaotisches Mosaik in der Luft. Bei der Extraktion entstehen am Himmel unzählige schwebende „Meteoriten“.
  • Haare & dünne Äste: Totalausfall – sie werden zu groben, matschigen Klumpen.

Wenn deine Szene viele reflektierende Materialien oder feine Strukturen enthält, reduziere deine Erwartungen an das Mesh-Ergebnis drastisch. Eine erzwungene Konvertierung liefert meist nur einen „unwiedererkennbaren Matsch“.

FAQ & Praxistipps

Soll ich mit dem Handy ein Video aufnehmen oder Fotos machen?

Beides ist möglich, entscheidend ist die Überlappungsrate und die Trajektorie. Praxistests zeigen: Mit dem Handy im 4K-60fps-Modus ruhig um das Objekt herumfahren, dann alle 10 Frames ein Bild extrahieren – das liefert bessere Ergebnisse als 200 verwackelte Fotos (Bewegungsunschärfe ist der Tod von 3DGS). Wichtig: Immer um das Objekt herum filmen, nicht nur an einer Stelle drehen und aufnehmen.

Wie mache ich Physik-Collision in einer Game Engine?

Setze nicht auf Gauß-Kerne für Kollisionen. Der etablierte Ansatz in Unreal Engine (UE5) und Unity: 3DGS für die visuelle Darstellung rendern, dann ein extrem grobes, unsichtbares Box- oder Low-Poly-Collider um das Zielobjekt legen, das als physikalisches Kollisionsvolumen dient.

Kann ich meine LiDAR-Punktwolke mit dieser Technik nutzen?

Normale Lidar-Punktwolken enthalten nur XYZ-Koordinaten und einfache Reflexionsfarben, keine blickwinkelabhängigen Lichtfeldinformationen. Damit lassen sich keine sphärischen Harmonischen trainieren. Du kannst mit dem Any3D PLY Viewer traditionelle Punktwolken direkt ansehen, aber um die „schillernde“ Schönheit von 3DGS zu zeigen, musst du den vollständigen Trainingsprozess mit mehreren Perspektiven (COLMAP-Vorverarbeitung) durchlaufen.

Unterstützen Sie uns