Three.js-Entwicklung: interaktives 3D mit WebGL

Three.js ist unser Werkzeug für 3D im Browser. Wir entwickeln damit Spiele, Produktansichten und interaktive Szenen – und achten darauf, dass sie auch auf Smartphones zügig laden.

Developers Signature Designers Signature
+ 50
Abgeschlossene Projekte
+ 20
Programmiersprachen
Digitale Leistungen mit klarem Ziel
Von Strategie und Design bis Entwicklung, Performance und KI: Wir verbinden die Bausteine, die Ihr digitales Angebot zuverlässig voranbringen.
Three.js & WebGL

3D-Grafik mit JavaScript

Three.js ist eine quelloffene JavaScript-Bibliothek für 3D-Grafik im Browser. Sie baut auf WebGL auf, der Schnittstelle, über die Webseiten die Grafikkarte nutzen. Für die Three.js-Entwicklung bedeutet das: Szene, Kamera, Licht und Materialien beschreiben wir in gut lesbarem JavaScript, statt jede Berechnung direkt in WebGL zu programmieren. Neuere Versionen bringen zusätzlich einen Renderer für den jüngeren Grafikstandard WebGPU mit.

In unserem eigenen Projekt Wizzquiz setzen wir Three.js und WebGL für die 3D-Spiele ein, darunter ein Flipper mit 3D-Physik und ein Billard mit realistischer Kugelphysik. Diese Erfahrung nutzen wir für die Projekte unserer Kundinnen und Kunden.

Was sich mit Three.js umsetzen lässt

Three.js eignet sich für alles, was räumlich dargestellt und bedient werden soll. Das reicht vom 3D-Objekt im Kopfbereich einer Website über die 3D-Visualisierung von Produkten bis zum vollständigen Browsergame. Auch Datenvisualisierungen, Lagepläne oder animierte Erklärungen technischer Abläufe lassen sich damit bauen, ebenso Animationen, die auf Scrollen oder Mausbewegungen reagieren.

Gemeinsam ist all diesen Einsatzfeldern: Die Darstellung entsteht in Echtzeit auf dem Gerät. Nutzerinnen und Nutzer können die Kamera bewegen, Objekte anklicken oder Varianten wechseln, ohne dass die Seite neu geladen werden muss.

  • 3D-Spiele und interaktive Erlebnisse
  • Produktansichten und Konfiguratoren
  • 3D-Elemente und Animationen für Websites
  • Räumliche Daten- und Prozessdarstellungen

Three.js-Entwicklung mit Blick auf die Performance

3D im Browser fordert das Gerät. Ein Smartphone hat weniger Rechenleistung als ein Desktop-Rechner, und jede Sekunde Ladezeit kostet Aufmerksamkeit. Wir reduzieren deshalb die Zahl der Zeichenaufrufe, indem wir Geometrien zusammenfassen oder wiederkehrende Objekte instanziert zeichnen. Modelle komprimieren wir, etwa mit Draco, Texturen bringen wir in passende Größen und Formate.

Zusätzlich passen wir die Qualität an das Gerät an: Schatten, Kantenglättung und Auflösung lassen sich stufenweise zurücknehmen. Ist die Szene nicht sichtbar, pausieren wir die Darstellung, damit Akku und Prozessor geschont werden.

  • Weniger Zeichenaufrufe durch Zusammenfassen und Instanzierung
  • Komprimierte Modelle und Texturen
  • Grafikstufen je nach Gerät
  • Pausierte Darstellung außerhalb des sichtbaren Bereichs

Modelle, Materialien und Licht

Die Qualität einer 3D-Szene hängt stark an den Modellen. Als Austauschformat für das Web hat sich glTF etabliert, in der Binärform GLB. Vorhandene Daten aus Konstruktion oder 3D-Software bereiten wir dafür auf: Wir reduzieren die Polygonzahl, fassen Materialien zusammen und prüfen Maßstab und Ausrichtung. CAD-Daten sind für die Darstellung im Browser meist zu detailliert und müssen vereinfacht werden.

Für glaubwürdige Oberflächen nutzen wir physikalisch basierte Materialien und Umgebungslicht aus HDR-Bildern. Eigene Effekte programmieren wir bei Bedarf als Shader in GLSL.

  • glTF und GLB als Austauschformat
  • Aufbereitung vorhandener 3D- und CAD-Daten
  • Physikalisch basierte Materialien und Umgebungslicht
  • Eigene Shader für besondere Effekte

Einbindung in Website, Shop und Frameworks

Eine Three.js-Szene steht selten allein. Wir binden sie in bestehende Websites ein, verbinden sie mit Formularen oder Warenkörben und übergeben Auswahl und Zustand an das übrige System. In Projekten mit React nutzen wir auf Wunsch React Three Fiber, einen React-Renderer für Three.js.

Für Geräte oder Browser, auf denen WebGL nicht verfügbar ist, sehen wir ein Ersatzbild oder eine einfache Ansicht vor. Wichtige Informationen stehen zusätzlich als Text auf der Seite, damit sie auch für Suchmaschinen und Screenreader zugänglich bleiben. Die Szene selbst erhält eine kurze Beschreibung für Screenreader.

  • Einbindung in bestehende Websites und Shops
  • React Three Fiber in React-Projekten
  • Ersatzansicht, wenn WebGL fehlt
  • Inhalte zusätzlich als Text für Suche und Barrierefreiheit

Technik & Werkzeuge

  • Three.js
  • WebGL
  • JavaScript
  • TypeScript
  • glTF
  • GLSL-Shader
  • Draco-Kompression
  • React Three Fiber
Referenzen

Projekte: Three.js & WebGL

Ihr Three.js-Projekt

Ob neue 3D-Szene oder Optimierung einer bestehenden: Beschreiben Sie uns Ihr Vorhaben, wir melden uns mit einer Einschätzung und einem kostenlosen Angebot.

Mehr zu Games & 3D

Passend dazu

Weitere Leistungen

Blog

Aus dem Blog: Three.js & WebGL

Neue Beiträge aus dem Studio – recherchiert und mit Quellen belegt.
FAQ

Häufige Fragen: Three.js & WebGL

Was ist der Unterschied zwischen Three.js und WebGL?

WebGL ist die Grafikschnittstelle des Browsers, Three.js eine Bibliothek, die darauf aufbaut. Mit WebGL allein müsste man Shader, Puffer und Matrizen selbst verwalten. Three.js nimmt diese Arbeit ab und bietet fertige Bausteine wie Kameras, Lichter, Materialien und Lader für 3D-Modelle.

Läuft eine Three.js-Anwendung auf allen Geräten?

WebGL wird von allen gängigen aktuellen Browsern unterstützt, auch auf Smartphones und Tablets. Die Leistung der Geräte unterscheidet sich aber stark. Wir planen Grafikstufen und testen auf echten Geräten, damit die Anwendung auch auf älteren Modellen bedienbar bleibt.

Können Sie unsere vorhandenen 3D-Modelle verwenden?

Meist ja. Am einfachsten sind Modelle im glTF-Format. Andere Formate wie FBX, OBJ oder CAD-Daten wandeln wir um und vereinfachen sie für den Browser. Nach einer kurzen Sichtung sagen wir Ihnen, wie viel Aufbereitung nötig ist.