From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Blender Game Engine Überblick

Blender verfügt über eine eigene Game Engine, welche es erlaubt interaktive Anwendungen oder Simulationen in 3D zu erstellen. Der Hauptunterschied zwischen der Game Engine und dem normalen Blender-Modus ist der Render-Vorgang. Im normalen Modus werden die Bilder und Animationen "offline" generiert und können danach nicht mehr verändert werden. Im Gegensatz dazu rendert die Game Engine ihre Szene in Echtzeit und bietet Möglichkeiten, in den Render-Vorgang einzugreifen.

Die Blender Game Engine (BGE) ist damit ein mächtiges "high-level" Programmier-Werkzeug für Spiele entwicklung. Sie kann aber auch dazu genutzt werden um jegliche Art von interaktiver 3D Software für andere Bereiche, wie z.B für interaktive 3D-Architektur-Tools oder die pädagogische Forschung in der Physik, zu erstellen.

Screenshot aus "Yo Frankie", erstellt mit der Blender Game Engine

Eigenschaften der Game Engine

Die BGE enthält eine Hauptschleife, die Logik, Sound, Physiksimulation und Rendering nacheinander bearbeitet. Die Engine ist in C++ geschrieben, bietet aber eine Python-Schnittstelle.

Die BGE ist eng in Blender integriert, was einen schnellen Wechsel zwischen dem traditionellen Modellieren und den Spiel-spezifischen Funktionen ermöglicht. Auf diese Weise kann die Game Engine für alle Stufen der Entwicklung genutzt werden, vom Prototypen bis hin zum fertigen Spiel.

Die Game Engine kann innerhalb von Blender laufen, bietet aber auch die Möglichkeit, eine binäre Datei zum Ausführen unter Windows, Linux und MacOS zu erstellen. Zusätzlich gibt es Ansätze für mobile Geräte mittels des Android Blender Player GSOC 2012-Projektes.

Verschiedene Bibliotheken sind in den 2.5- und 2.6-Releases von Blender enthalten. Darunter:

  • Recast: ein State-of-the-Art Konstruktions-Toolset für Navigations-Meshes für Spiele
  • Detour: Funktionen für Pfadsuche und räumliche Orientierung
  • Bullet: Physik-Engine mit 3D-Kollision, soft body physics und Festkörperdynamik
  • Audaspace: Sound Library für OpenAL oder SDL


Nutzung der Game Engine

Der Kern der Struktur der BGE sind die "Logic Bricks". Das Ziel von Logic Bricks ist das Bereitstellen einer einfach zu benutzenden visuellen Oberfläche zum Entwerfen von interaktiven Anwendungen ohne jegliches Programmierwissen. Der Logic Editor stellt dafür tief integrierte Interaktion mit der Simulation zur Verfügung. Zusätzlich kann er durch Python-Skripte erweitert werden. Eine Übersicht über den Editor kann im Game Logic Screen Layout gefunden werden.

Es existieren drei Sorten von Logic Bricks:

Die Erstellung einer Simulation oder eines Spiels mit BGE umfasst normalerweise vier Schritte:

  1. Erstellung von visuellen Elementen, die gerendert werden können. Das können entweder Modelle oder Bilder sein.
  2. Einbringen von Interaktion in die Szene mit Logic Bricks, die Verhalten zu definieren und beschreiben, wie es erzeugt wird. Dazu werden "Sensoren" wie Tastatur oder Joystick benutzt.
  3. Definition einer (oder mehrerer) Kamera, die einen Blickwinkel für die Szene bereitstellen und Parameter für die Anzeige enthalten.
  4. Starten des Spiels, entweder im internen Player oder als exportiertes Binärprogramm für die jeweilige Plattform.

Für Entwickler die Python bevorzugen bietet die BGE ihre eigene Python API, seperat vom Rest von Blender, welche dafür genutzt werden kann Skripte zur Kontrolle der Anwendung zu schreiben. Dies wird durch einen Python Controller und das Linken zu einem Python-Skript realisiert.