# Shockwave 3D

Shockwave 3D ist eine 3D-Engine des Autorensystems Adobe Director, mit der man 3D-Inhalte erstellen und im Internet als Shockwave oder auf Offline-Medien wie CD-ROMs oder DVDs veröffentlichen kann. Die Einbindung und Erstellung von 3D-Inhalten in Adobe Director ist seit der Version 8.5 mit dem 3D Xtra möglich, welches von der Firma Intel entwickelt wurde. Shockwave 3D-Darsteller können nicht nur direkt in Adobe Director mit der Programmiersprache Lingo erstellt und verändert werden, sondern auch aus einigen 3D-Programmen wie zum Beispiel 3ds Max, Cinema 4D, Maya oder Lightwave 3D über einen Shockwave 3D-Exporter als W3D-Datei exportiert und in Adobe Director importiert werden.

## Aufbau eines Shockwave 3D-Darstellers

Ein Shockwave 3D-Darsteller beinhaltet Geometriedaten der einzelnen Modelle, die Modelle an sich, eventuelle Gruppen, Texturen, Shader, Animationen, Lichtquellen und Kameras. Für jedes dieser einzelnen Elemente ist in der Shockwave 3D-Welt eine Palette vorhanden, in der die einzelnen Elemente abgelegt werden. Der Vorteil dieser Struktur liegt in der Wiederverwendbarkeit der Elemente. So ist es zum Beispiel möglich aus den Geometriedaten einer Kugel beliebig viele Kugelmodelle zu erzeugen.

## Animationen in Shockwave 3D

In Shockwave 3D gibt es zwei verschiedene Animationstypen. Die schlüsselbildbasierte Animation und die knochenbasierte Animation (Skelettanimation), die sich für Charakteranimationen eignet, da die Bewegungsabläufe realistischer dargestellt werden können. Die knochenbasierte Animation benötigt auch weniger Speicher und verringert somit im Vergleich zur schlüsselbildbasierten Animation die Ladezeiten. Animationen können mit Lingo nicht erstellt, sondern nur gesteuert werden.

## Skalierbare Geometrie in Shockwave 3D

Unter der skalierbaren Geometrie versteht man die Genauigkeit der Geometriedaten je nach Entfernung zur Kamera zur Laufzeit. Dazu gibt es in Shockwave 3D zwei Methoden:

### Multi-Resolution Mesh (MRM)

Diese Methode besteht aus einem einzigen, relativ genau hochaufgelöstem Modell. Zu dem Modell werden Parameter mitgespeichert die bestimmen, wie stark die Polygonanzahl zur Laufzeit reduziert werden darf. Die Polygonanzahl hängt dabei von der Entfernung der Kamera zum Modell ab. Je mehr das Modell von der Kamera entfernt ist, desto weniger Polygone hat das Modell. Je näher das Modell zur Kamera kommt, desto mehr Polygone hat das Modell.

### Subdivision Surfaces (SDS)

Unter Subdivision Surfaces versteht man eine künstliche Oberflächenunterteilung zur Laufzeit. Die Modelle bestehen aus wenigen Polygonen, denen zur Laufzeit interpolierte Gitternetzpunkte hinzugefügt werden und die Darstellung des Modells somit verfeinert wird. Diese Technik wird bei gekrümmten Oberflächen oder auch Landschaften eingesetzt. Die Qualität des Modells zur Laufzeit hängt dabei von der Rechenleistung des Zielsystems ab.

## Hardware-Beschleunigung

Shockwave 3D unterstützt die Hardware-Renderer für Windows-Nutzer (DirectX, OpenGL) und Mac-Nutzer (OpenGL) gleichermaßen. Sollte keiner der Hardware-Renderer zur Verfügung stehen, kommt ein Software-Renderer zum Einsatz, der gewährleistet, dass 3D-Inhalte auf jeden Fall dargestellt werden können. Es ist möglich, Shockwave 3D die Auswahl des bestmöglichen Renderers auf dem Zielsystem selbst zu überlassen.

## Streaming

Im Internet veröffentlichte Shockwave 3D-Inhalte können in Echtzeit gestreamt werden. Das bedeutet, dass sich die Polygon-Anzahl der einzelnen Modelle in einem Shockwave 3D-Darsteller zur Laufzeit nach und nach erhöhen kann und die Modelle immer komplexer werden. Dabei hat man selbst die Möglichkeit zu bestimmen, welche Geometriedaten wann wie gesendet werden.

## Beispiele

* Virtual Replay – 3D-Wiedergabe der Fußballweltmeisterschaft 2006
* Phosphor – netzwerkfähiger First-Person-3D-Shooter (derzeit in der Beta-Phase)
* Schnelles 3D-Spiel: Rennen mit Hovercrafts