WHILE.CHAT·WORK · Tech & KI·8 MIN·Max Götte
Three.js ohne Framework: 3D für Vibe CodersKI-generiert
work · Tech & KI8 Min. LesezeitMax Götte

Three.js ohne Framework: 3D für Vibe Coders

Jede vibe-gecodete Website sieht gleich aus: Inter Font, weisser Hintergrund, blaue Buttons. Das ist der AI-Look, und ein Three.js 3D-Hero durchbricht ihn sofort. Seit Import Maps in allen modernen Browsern funktionieren (Chrome 89+, Firefox 108+, Safari 16.4+), brauchst du weder npm noch einen Bundler. Seit Three.js r157 (September 2023) ist zudem kein es-module-shims Polyfill mehr nötig, ein wichtiger Qualitätshinweis für ältere Tutorials die es noch empfehlen.

Import Maps statt CDN-Script-Tag

Die alte Methode mit Script-Tag und globalem THREE-Objekt funktioniert, hat aber Nachteile: kein Tree-Shaking, keine Addons (OrbitControls, GLTFLoader), Versionskonflikte bei Deep-Imports ab v137 auf Skypack. Die moderne Methode: Import Maps mit esm.sh als CDN.

html · importmap<script type="importmap">
{
"imports": {
"three": "https://cdn.jsdelivr.net/npm/max@while.chat/build/three.module.js",
"three/addons/": "https://cdn.jsdelivr.net/npm/max@while.chat/examples/jsm/"
}
}
</script>

<script type="module">
import * as THREE from 'three';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(60,
innerWidth / innerHeight, 1, 1000);
camera.position.set(0, 4, 21);
const renderer = new THREE.WebGLRenderer({ alpha: true });
renderer.setSize(innerWidth, innerHeight);
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
document.body.appendChild(renderer.domElement);

// Deine Szene hier
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
</script>

Diese Datei ist sofort deploybar. Kein npm install, kein vite.config.js. Und anders als das r128-CDN-Pattern unterstützt sie OrbitControls, GLTFLoader und jedes andere Three.js Addon direkt.

5 Szenen-Typen die per Prompt funktionieren

1. Partikel-Galaxie. PointsMaterial mit tausenden Punkten in einer Spiralformation. Ideal für Hero-Hintergründe. Per Vibe Coding in 5 Minuten generierbar, ein vollständiges Snippet mit GLSL-Vertex-Shader erzeugt 150.000 Partikel.

2. Wireframe-Geometrien. Rotierende BoxGeometry, IcosahedronGeometry oder TorusGeometry mit wireframe: true. Drei Zeilen Code, maximaler Effekt. Ideal für Tech-Themen.

3. Netzwerk-Knoten. Points mit Verbindungslinien bei Nähe. Der Klassiker für KI- und Netzwerk-Themen. Jeder Artikel auf while.chat nutzt eine Variante davon.

4. 3D Image Carousel. Claude Code kann komplexe Carousels mit Three.js Shading Language (TSL) und WebGPU aus Screenshots rekonstruieren. Mouse-Wheel und Drag-Interaktion via PointerEvents.

5. 3D Game Environment. Ein komplettes Game-Environment lässt sich per Vibe Coding in unter 10 Minuten aufsetzen, dokumentiert auf YouTube mit Cursor und Three.js.

Vibe-Coding-Workflow für Three.js

1. Szenentyp beschreiben: "floating particles", "rotating globe", "wireframe icosahedron".

2. Import Map vorgeben: Immer die eigene Import-Map-Version in den Prompt kopieren. Verhindert Versionskonflikte.

3. Isoliert iterieren: Kamera-Position, Material-Properties und Animation-Speed separat prompten. Nicht alles auf einmal ändern.

4. Performance checken: setPixelRatio(Math.min(window.devicePixelRatio, 2)) verhindert Überrendering auf Retina-Displays. Max 500 Vertices für Hero-Szenen. Lighthouse-Compliance prüfen.

5. Accessibility einbauen: Canvas-Container bekommt role="img" und aria-label. prefers-reduced-motion: Canvas ausblenden, Gradient-Fallback zeigen. Nicht optional.

Das fertige Snippet gehört in die Snippet-Bibliothek, einmal richtig gebaut, bei jedem Projekt wiederverwendet.

Quellen

  • sbcode.net, "Using Import Maps with Three.js" (Tutorial)
  • esm.sh, ES Module CDN (esm.sh)
  • Skypack Issue #261, Deep Import Probleme ab Three.js v137
  • builder.io, "Vibe code immersive 3D effects in one prompt"
  • wawasensei.dev, "Vibe Code a 3D Carousel with Claude Code & Three.js"
  • YouTube, "I vibe coded a 3D game w/ three.js in 10 minutes"
  • jsDelivr, cdn.jsdelivr.net/npm/three (Alternative zu esm.sh)
  • jvns.ca, "Importing a frontend Javascript library without a build system"
  • Three.js Discourse, "Why does Three.js require an import map?"

FAQ

Warum Import Maps statt dem alten Script-Tag?

Import Maps ermöglichen ES-Module-Syntax (import/export), Zugriff auf alle Three.js Addons (OrbitControls, GLTFLoader etc.) und präzise Versionskontrolle. Der alte Script-Tag mit globalem THREE-Objekt unterstützt keine Addons und hat Versionskonflikte ab v137.

Welchen Performance-Impact hat Three.js?

Minimal bei korrekter Einbindung: Canvas mit fester Höhe (kein CLS), setPixelRatio begrenzen, max 500 Vertices für Heros, reduced-motion-Fallback. Lighthouse bleibt bei 95-100.

Kann ich auch GLTF-Modelle laden ohne Build-Tool?

Ja, dank Import Maps. GLTFLoader importieren.glb-Datei neben die HTML legen, fertig. Für Hero-Hintergründe sind generative Szenen (Partikel, Geometrien) fast immer leichter und schneller als 3D-Modelle.

Wie kombiniere ich Three.js mit dem restlichen Vibe-Coding-Workflow?

Three.js ist eine Komponente im Gesamt-Workflow. Erst die Seite bauen (B1), dann Performance sicherstellen (B4), dann den 3D-Hero als letztes Layer hinzufügen.

Weiterarbeiten

Fertige Prompts zum Kopieren. Jeder Prompt nimmt Bezug auf diesen Artikel und laesst sich in einer eigenen KI weiterverwenden.

Fakten prüfen

Prüft die Behauptungen des Artikels gegen aktuelle Quellen.

Prüfe die zentralen Behauptungen aus dem folgenden Artikel gegen aktuelle, seriöse Quellen. Nenne für jede geprüfte Aussage, ob sie gedeckt, veraltet oder umstritten ist, und gib jeweils die Quelle an, mit der du geprüft hast. Artikel: „Three.js ohne Framework: 3D für Vibe Coders“ Kurzfassung: Three.js per Import Maps und esm.sh ohne Build-Tools nutzen. Copy-Paste-ready Szenen, Performance-Regeln und der Vibe-Coding-Workflow für 3D-Websites.

Thema vertiefen

Recherchiert, was der Artikel offen lässt, und führt das Thema weiter.

Vertiefe das folgende Thema über das hinaus, was der Artikel schon abdeckt. Finde aktuelle Entwicklungen, Gegenpositionen und offene Fragen, die hier fehlen, und ordne ein, wie sie zum Artikel stehen. Artikel: „Three.js ohne Framework: 3D für Vibe Coders“ Kurzfassung: Three.js per Import Maps und esm.sh ohne Build-Tools nutzen. Copy-Paste-ready Szenen, Performance-Regeln und der Vibe-Coding-Workflow für 3D-Websites.

Meinungsbild einholen

Sammelt aktuelle Diskussionen und Positionen, als Ersatz für eine Kommentarspalte.

Sammle aktuelle öffentliche Diskussionen, Gegenpositionen und offene Streitpunkte zum Thema des folgenden Artikels. Ordne die Positionen ein, ohne sie zu bewerten, und markiere, wo Uneinigkeit besteht. Artikel: „Three.js ohne Framework: 3D für Vibe Coders“ Kurzfassung: Three.js per Import Maps und esm.sh ohne Build-Tools nutzen. Copy-Paste-ready Szenen, Performance-Regeln und der Vibe-Coding-Workflow für 3D-Websites.

Autor

Max Götte

Gründer · SEO & KI

SEO-Berater aus Bochum. Spezialisiert auf technisches SEO, Local SEO und Generative Engine Optimization für KMU im DACH-Raum, evidenzbasiert und ohne Hype-Versprechen.