Zum Hauptinhalt springen
web

Through the Mind's Eye — 3D-Scrollytelling

Client

HEADON.pro (Eigenentwicklung)

Healthcare / Wissenschaft

Completed

Scroll-gesteuertes 3D-Erlebnis, das in 5 Akten fühlbar macht, wie Aphantasie sich anfühlt — gebaut mit React Three Fiber, WebGL-Postprocessing und Web Share API.

3D-Scrollytelling-Experience: glühender Apfel verblasst in Dunkelheit

Key Results

Dramaturgische Akte

5

Sprachen

DE/EN/ES/FR/PL

Erlebnisdauer

~4 Minuten

Externe 3D-Assets

0 (prozedural)

Scroll-Seiten

8

Technologies Used

three-js
react-three-fiber
next-js
typescript
webgl
scrollytelling
animation
postprocessing
i18n
accessibility

Wie zeigt man jemandem, was er nie sehen kann?

Stell dir vor, du sollst einem Menschen erklären, dass du dir einen roten Apfel vorstellen kannst — und er schaut dich ungläubig an. Nicht weil er zweifelt, sondern weil er schlicht keine Referenz hat. Menschen mit Aphantasie erzeugen kein inneres Bild. Das Konstrukt „sich etwas vorstellen" funktioniert bei ihnen nicht visuell.

Text erklärt das. Ein Erlebnis macht es spürbar.

„Through the Mind's Eye" ist eine scroll-gesteuerte 3D-Journey auf aphantasie.org/experience: Wer sie durchläuft, erlebt in etwa vier Minuten, wie sich der Übergang von voller Bildkraft bis zur völligen Dunkelheit im Kopf anfühlt — und landet danach direkt im wissenschaftlichen Selbsttest der Plattform.


Dramaturgie: 5 Akte, ein Bogen

Die Experience folgt einer klaren Dramaturgie. Jeder Akt ist eine eigene 3D-Szene, gesteuert durch einen einzigen Scroll-Kanal.

Akt 1 — Hyperphantasie

Ein leuchtend roter Apfel schwebt im Raum. 400 Staubpartikel treiben um ihn herum, 40 Wisps mit Glow-Sprites glühen weich. Das ist das Maximum mentaler Bildkraft — lebendig, warm, fast physisch greifbar.

  • Partikel-System mit 400 Instanzen
  • 40 Wisp-Sprites mit Bloom-Glow
  • Prozeduraler Apfel (keine glTF-Datei)
  • Warm-rotes Licht-Rig
Akt 1 — Hyperphantasie

Technische Umsetzung

React Three Fiber + ScrollControls

Die gesamte Journey läuft über einen einzigen <ScrollControls pages={8} damping={0.3}>. Statt mehrerer paralleler Scroll-Handler gibt es eine zentrale useScroll()-Abfrage, die den normierten Scroll-Offset (0–1) an alle Szenen-Komponenten weitergibt. Jeder Akt interpoliert seine Uniforms, Materialien und Positionen aus diesem einen Wert.

Das Ergebnis: keine Race-Conditions zwischen Scroll-Listenern, keine State-Explosionen, eine einzige Timeline.

// Vereinfachtes Prinzip
const { offset } = useScroll()
const appleOpacity = 1 - smoothstep(0.2, 0.4, offset)
const vignetteStrength = smoothstep(0.1, 0.6, offset)

Postprocessing mit Bloom und Vignette

Der Bloom-Effekt ist das visuelle Herz von Akt 1. Er macht die Wisps warm und lebendig — und sein Verschwinden in Akt 2 fühlt sich deshalb so drastisch an. Beide Effekte laufen über @<a href="/glossar/react" class="glossary-link" data-glossary-term="react">react</a>-three/postprocessing direkt in der WebGL-Pipeline, nicht als CSS-Filter.

React Three Fiber
3D-Szenen-Graph
Three.js
WebGL-Renderer
ScrollControls
Scroll-Steuerung
Postprocessing
Bloom + Vignette
Zustand
Szenen-State
Next.js
Dynamic Import
next-intl
5 Sprachen
Web Share API
Native Teilen

Performance und Zugänglichkeit

Immersive Web-Erlebnisse scheitern häufig auf Geräten außerhalb der Entwickler-Workstation. Vier Maßnahmen verhindern das:

Device-Tier-Heuristik — Beim Start wird die Hardware eingestuft. Schwache Geräte (niedriger hardwareConcurrency-Wert oder deviceMemory < 4) laden das Postprocessing nicht. Die Szene läuft trotzdem vollständig, nur ohne Bloom und Vignette als Shader-Pass.

DPR-Cap 1.5 — Das Canvas rendert maximal mit Device-Pixel-Ratio 1.5, selbst auf Retina-Displays. Der visuelle Unterschied ist minimal, der GPU-Aufwand sinkt erheblich.

Dynamic Import mit ssr: false — Three.js lädt ausschließlich auf /experience. Der Rest der Plattform trägt keine 3D-Abhängigkeiten im Bundle.

Statischer Fallback — Bei prefers-reduced-motion oder fehlendem WebGL-Kontext erscheint eine barrierefreie, statische Seite mit denselben Inhalten.


Mehrsprachigkeit und Share-Mechanismus

Die Experience ist in DE, EN, ES, FR und PL verfügbar. Alle Infopanel-Texte im Konstellation-Akt laufen über next-intl, sodass auch der Share-Screenshot in der Sprache des Nutzers erscheint.

Beim Teilen greift zuerst die Web Share API — das native Teilen-Sheet auf iOS und Android. Ist die API nicht verfügbar (Desktop-Browser ohne Unterstützung), kopiert ein Fallback-Handler die URL in die Zwischenablage. Ein dynamisch generiertes OG-Image stellt sicher, dass der geteilte Link in sozialen Netzwerken mit einer aussagekräftigen Vorschau erscheint.


Vom Erlebnis zum Test

Der letzte Akt der Experience führt direkt in den VVIQ-basierten Selbsttest der Plattform. Das ist kein zufälliger CTA — die Journey bereitet emotional vor. Wer gerade erlebt hat, wie sich Bildlosigkeit anfühlt, kommt mit echter Neugier in den Test.

Dieser Übergang ist der eigentliche Designgewinn: Die Experience ist kein Selbstzweck, sondern Einleitung.


Learnings

  1. Ein Scroll-Kanal schlägt vieleScrollControls mit einem normierten Offset ist wartbarer als mehrere IntersectionObserver-Handler.
  2. Prozedural ist wartbar — Keine externe Asset-Pipeline, kein Compression-Build-Schritt, keine glTF-Versionssprünge.
  3. Postprocessing zuerst auf Low-End testen — Bloom auf einer integrierten GPU sieht anders aus als auf einer dedizierter Grafikkarte.
  4. Share-Moment planen — Wo im Erlebnis möchte jemand innehalten und teilen? Das beeinflusst die Dramaturgie.

Ähnliche Projekte umsetzen?

Scroll-gesteuerte 3D-Erlebnisse funktionieren überall dort, wo ein Thema schwer zu beschreiben, aber leicht zu fühlen ist: Produkt-Launches, wissenschaftliche Kommunikation, Markenidentitäten.

Einen technischen Tiefer-Einblick in den Aufbau von Scrollytelling-Projekten findest du im Scrollytelling-Guide.

Wenn du eine ähnliche Experience planst, sprich uns an — Projekt anfragen.

Interesse an einer Zusammenarbeit?

Lassen Sie uns besprechen, wie wir Ihr Projekt zum Leben erwecken können.