BlitzBasic kann man nur 2D-Spiele programmieren. Diese Spiele sind
zwar einfacher zu programmieren - für die verwöhnten Gamer ist es
aber etwas zu wenig. Speziell für 3D-Spiele wurde eine neue Version
entwickelt: Blitz3D.
Das Gute an Blitz3D ist, dass komplett alle Befehle aus BlitzBasic
auch in Blitz3D enthalten sind. Man kann sogar 3D-Grafik über
normale 2D-Grafik legen und danach wieder 2D-Grafik über die
3D-Grafik legen.
Anders als in BlitzBasic werden alle 3D-Modelle als Objekte
verwaltet. Hat man ein Objekt erstellt oder geladen, dann wird es in
die 3D-Welt gesetzt. Man muss nicht jedes Mal ein 3D-Objekt wie in
2D neuzeichnen. Wurde es eingebaut, dann bleibt es solange, bis man
es wieder entfernt.
Die 3D-Objekte können aus X-, 3DS-, B3D oder MD2-Dateien geladen
werden. Man kann aber auch primitive Objekte wie Kegel, Kugel,
Würfel oder Zylinder direkt erzeugen. In Blitz3D können Objekte aber
auch vollständig aus Dreiecken zusammengesetzt werden.
Alle Objekte können mit einheitlichen Befehlen beliebig skaliert,
verschoben, gedreht oder verzerrt werden. Jedem Objekt kann eine
Farbe und Transparenz zugewiesen werden. Auch Texturen können wie
2D-Bilder geladen/erstellt und dann auf 3D-Objekte gezogen werden.
Neben einfachen Texturen kann man auch mehrere Texturen auf ein
Objekt anwenden (=Multitextur).
Sowohl Texturanimationen, als auch 3D-Objektanimationen sind in
Blitz3D möglich. Man kann sogar jeden Eckpunkt von 3D-Objekten
verschieben (=mesh deformation).
Damit man überhaupt etwas von der 3D-Szene sehen kann, gibt es in
Blitz3D ein Kamera-System. Eine Kamera kann genau wie ein 3D-Modell
verschoben oder gedreht werden. Neben Zoom- und Nebel-Einstellungen
gibt es eine 2D-Kameraansicht (ohne Tiefenwirkung). Man kann sogar
mehrere Kameras erzeugen und ein Splitscreen realisieren.
Weiterhin verfügt Blitz3D über ein Licht-System. Mehrere
Lichtquellen können im 3D-Raum positioniert werden. Diese belichten
danach 3D-Objekte. Es gibt directional light, point light und spot
light.
Besonders interessant sind 3D-Sprites. Diese Objekte bestehen aus 2
Dreiecken und können sehr einfach skaliert oder gedreht werden.
3D-Sprites können z.B. für zahlreiche Effekte (auch in 2D) benutzt
werden. So lassen sich Vollbild-Explosionen oder Fading-Effekte sehr
schnell realisieren.
Sehr wichtig für 3D-Spiele sind Terrains (für Darstellung der
Landschaften). Ein Terrain ist ein spezielles Objekt, welches
level-of-detail (LOD) benutzt. Dadurch sind theoretisch Terrains mit
Millionen von Polygonen möglich. Dabei werden nahe Terrainstellen
sehr detailliert gezeichnet, weite Terrainstellen haben dagegen
geringe Details.
Auch ein Kollision-System wurde ins Blitz3D eingebaut. Verschiedene
Kollisions-Typen lassen sich definieren und dann mit einem Befehl
auf Kollision checken.
Einige Besonderheiten sollen hier nicht verschwiegen werden.
BlitzBasic hat ein eigenes 3D-Dateiformat. Für einige 3D-Modeller
existieren Plugins, um Modelle als B3D exportieren zu können. Diese
B3D-Modelle unterstützen alle Blitz3D-Features.
Sehr interessant ist auch Maplet. Das ist ein 3D-Editor, der
speziell für Blitz3D entwickelt wurde. Dieser 3D-Editor ist gratis
und erzeugt eine sehr saubere 3D-Geometrie.


(Dieser Text wurde mit freundlicher Genehmigung von www.blitzbase.de übernommen.)