So erstellen Sie eine Strategie in Blender. GE Visual Control – Sensor-, Aktuator- und Controller-Logikblöcke

Zweite Auflage, überarbeitet und erweitert


In dieser Lektion erfahren Sie, wie Sie ein einfaches 3D-Spiel von Grund auf erstellen (natürlich in Blender). Ganz ohne Programmierung in Sprachen, obwohl es möglich ist. Sie benötigen Grundkenntnisse in Blender. Ich erwarte, dass Sie bereits ein gutes Verständnis der Benutzeroberfläche und kleinerer Dinge haben, wie z. B. das Bewegen des Cursors, das Klicken mit der linken Maustaste, das Loslassen der linken Maustaste, das Drücken und Loslassen der G-Taste zum Bewegen und dann Klicken usw. Ich werde nicht verweilen.

Für diejenigen, die eine individuelle Intoleranz gegenüber russischen Übersetzungen haben:

Russische Bilder
Englische Bilder


Um auf die Funktionen der Spiel-Engine zuzugreifen, müssen Sie den Renderer auf die Spiel-Engine umstellen.

Als nächstes können Sie eine Schnittstelle erstellen, die für Sie bequem ist, aber alles ist bereits in Blender vorbereitet. Durch die Wahl des Layouts „Game Logic“ erhalten Sie eine benutzerfreundliche Oberfläche.

Aktivieren Sie den Texturanzeigemodus, damit das Spiel so aussieht, wie wir es möchten.


Sie können das Spiel starten, indem Sie den Cursor über die gewünschte 3D-Ansicht bewegen (sofern Sie mehrere davon erstellt haben) und P (Englisch, auf Russisch Z, zwischen Ш und Х:) drücken. Sie können das Spiel auch über das Menü Spiel – Start Game Engine starten. Wenn Sie jetzt versuchen, das Spiel zu starten, wird nichts Interessantes passieren, es wird nur ein grauer Würfel auf grauem Hintergrund angezeigt. Drücken Sie Esc, um das Spiel zu verlassen. Dies wird jedoch nicht helfen, wenn Sie diesen Schlüssel im Spiel verwenden. Seien Sie also vorsichtig;)

Bevor Sie das Spiel starten, können Sie Umschalt+Leertaste oder Strg+Auf/Ab drücken, um das Fenster, über dem sich der Cursor befindet, auf den Vollbildmodus zu erweitern und das Spiel nicht in einem kleinen, kaum wahrnehmbaren 3D-Fenster zu überprüfen. Sie können auch T oder N drücken, um den linken bzw. rechten Bereich der 3D-Ansicht auszublenden.

Sie können „Müll“ wie Dummies, 3D-Cursor, Netz usw. ausblenden, indem Sie N drücken (nachdem Sie mit der Maus über die 3D-Ansicht fahren) und im angezeigten Bedienfeld auf der Registerkarte „Anzeige“ die Option „Nur Rendern“ auswählen. In diesem Fall ändert der Hintergrund die Farbe in die in den Welteinstellungen festgelegte Farbe.


Im selben Bedienfeld können Sie über das Menü „Schattierung“ GLSL anstelle von Multitextur aktivieren, wodurch Sie schönere Grafiken (z. B. Schatten) erstellen können.

Das Erstellen von Materialien für das Spiel ist im Allgemeinen dasselbe wie das Erstellen für Blender Internal Render (dies ist derzeit der Standard-Renderer, wird aber bald durch Cycles ersetzt), es gibt jedoch Einschränkungen. Beispielsweise funktionieren alle prozeduralen Texturen, Raytracing (und daher gibt es bei einigen Lampen keine Schatten) und Lichthöfe nicht. Es wird empfohlen, UV-Texturen zu erstellen. Es gibt keine Partikel, aber sie können mit simuliert werden große Menge Objekte (nein, Sie müssen sie nicht manuell kopieren; das Hinzufügen während des Spiels wird weiter unten erläutert). Ohne GLSL gibt es noch mehr Einschränkungen und die Beleuchtung ist völlig hässlich.

Der Artikel wird für beginnende Spieleentwickler nützlich sein. Darin betrachten wir die Vorteile und Methoden der Erstellung und Darstellung dreidimensionaler Objekte für isometrische 2D-Spiele am Beispiel von Blender. Der Artikel wird keine komplexen Operationen enthalten; Grundkenntnisse eines 3D-Editors reichen aus. Als Beispiel für Rendering und Animation habe ich einen Turm von Dune2 genommen und, damit es allein nicht so langweilig wird, diesen mit zwei Gebäuden von Desert Strike ergänzt.

Vorteile dieses Ansatzes im Vergleich zum 2D-Rendering: Geschwindigkeit und einfache Erstellung von Animationen, einfache Aktualisierung von Modellen (z. B. zur Erstellung von Gebäudeverbesserungen), ziemlich gute Ergebnisse bei geringem Zeitaufwand.

Mängel: Verringerung der „Seelenfülle“ von Bildern und tatsächlich des Bedarfs an Kenntnissen über 3D-Modellierung.

Den Anfang machen, die Bühne vorbereiten

Standardmäßig wird eine „leere“ Blender-Datei mit drei Objekten erstellt: einer Kamera, einer Lichtquelle und einem Würfel in der Mitte. Beginnen wir mit der Einrichtung der Kamera, wechseln Sie in ihren Eigenschaften vom Perspektive- in den Orthografischen Modus und geben Sie dann im Eigenschaftenfenster die folgenden Parameter dafür an:

Verwandeln
X: 12,0
Y: -12,0
Z: 12,0

(Wie Sie sehen können, sehen die Koordinaten wie N, -N, N aus, während N alles sein kann, da wir eine orthogonale Kamera haben.)

Drehung
X: 54,8°
Y: 0°
Z: 45°

Wenn alles richtig gemacht ist, betrachten Sie die Szene durch die Kamera (dazu müssen Sie drücken Num0), werden wir unseren Würfel in der Isometrie sehen.

Nachdem ich versucht habe zu rendern ( F12) Beim ersten isometrischen Test werden Sie feststellen, dass die Flächen des Würfels sehr ungleichmäßig beleuchtet sind. Beschäftigen wir uns mit dem Licht! Aktivieren Sie zunächst in den Welteigenschaften (Registerkarte „Welt“) die Umgebungsokklusion und geben Sie den erforderlichen Faktorwert dafür an (im Beispiel ist er auf 0,5 eingestellt). Zweitens ändern wir den Lichtquellentyp von Punkt zu Sonne. Dies ist notwendig, damit alle Schatten in eine Richtung gerichtet sind und nicht von der Position des Objekts relativ zur Lichtquelle abhängen.


Beispiel-Rendering mit Punktlichtquelle


Beispiel-Rendering mit Sonnenlichtquelle

Apropos Schatten: Machen Sie nicht den gleichen Fehler wie ich! Wenn Sie aus irgendeinem Grund möchten, dass sich alle Spielobjekte in derselben Szene befinden und gleichzeitig gerendert werden (z. B. um ein Spritesheet nicht aus einzelnen Bildern zusammenzukleben), stellen Sie sicher, dass sie sich in keiner Weise gegenseitig beeinflussen und dass ihre Schatten und Beleuchtung (Leuchtreklamen, Lichter usw.) andere Objekte nicht überlappen. Auf dem Bild am Anfang des Artikels fällt auf, dass der Schatten des Turms auf den Wachturm fällt.

Unsere Würfel werden auf einem hässlichen grauen Hintergrund gerendert, der natürlich ausgeschaltet werden muss, um sich später nicht darum kümmern zu müssen, den Hintergrund von Objekten auszuschneiden. Suchen Sie dazu auf der Registerkarte „Rendern“ den Abschnitt „Schattierung“ und ändern Sie den Alpha-Modus von „Himmel“ in „Transparent“ (wenn Sie Blender Render verwenden) oder aktivieren Sie das Kontrollkästchen „Transparent“ im Abschnitt „Film“ (in Cycles Render).

Wir sind mit der Einrichtung fertig und können mit der Erstellung von Objekten fortfahren, zum Beispiel genau diesem Turm. Ich denke, es ist nicht nötig, den Prozess der Modellierung im Detail zu betrachten; nutzen wir sofort die Vorteile, die uns ein dreidimensionales Objekt bietet.


Der Turm dreht sich kräftig

Viele Strategien nutzen eine visuelle Darstellung der Gebäudekonstruktion: Zuerst wird das Fundament gebaut, dann die Wände und so weiter. Versuchen wir, etwas Ähnliches zu tun. Wählen Sie alle Objekte in der Szene aus ( A), dann dupliziere sie ( Umschalt-D) und verschiebe es in die zweite Ebene ( M und wählen Sie die gewünschte Ebene aus). Der Vorgang kann so oft wiederholt werden, wie wir Bauabschnitte benötigen. Gehen wir zur zweiten Ebene und „zerstören“ den Turm.


Wiederholen wir die erforderliche Anzahl von Malen, et voilà!

Nachbearbeitung

Zu den Nachteilen dieses Ansatzes habe ich zu Beginn des Artikels das Fehlen eines „lampenähnlichen“ Gefühls erwähnt. Glücklicherweise kann es mithilfe der Nachbearbeitung und der in Blender integrierten Freestyle-Engine teilweise wiederhergestellt werden. Ich werde es mir nicht im Detail ansehen, sondern nur zeigen, wozu es fähig ist.


Beispiele für Freestyle-Arbeit

Ich hoffe, ich habe bewiesen, dass das Erstellen von Elementen für 2D-Spiele in 3D in vielen Fällen ein schneller und bequemer Prozess ist. Vielen Dank für Ihre Aufmerksamkeit!

Blender ist ein Programm zum Erstellen animierter Computergrafiken und Videoproduktionen. Es handelt sich im Wesentlichen um einen 3D-Editor, der dank seines Open-Source-Codes von vielen Benutzern unterstützt wird. Aber auf diesem 3D-Editor, dank der integrierten Spiel-Engine Mit der „Blender Game Engine“ können Sie Spiele aller Art, Schwerpunkte und Genres erstellen. Wie sich herausstellt, können darauf Spiele erstellt werden, ohne auf eine Skriptsprache zurückgreifen zu müssen, die übrigens für einige Anforderungen verfügbar ist (Python). Sie behaupten, dass Spiele darauf in fünf Minuten erstellt werden können. Es gibt Referenzen und Anleitungen sowohl für die Verwendung als auch für die Erstellung von Spielen. Sie können auch auf eine große Community von Blender-Benutzern zählen, an die Sie sich wenden können, wenn Sie Hilfe benötigen. 3D-Grafiken verfügen über alle Schnickschnack von OpenGL, verschiedene hohe Auflösungen und unterstützen fast alle gängigen Audio- und Videoformate.

Alle wichtigen 2D-Grafikformate werden unterstützt: TGA, JPG, PNG, OpenEXR, DPX, Cineon, Radiance HDR, Iris, SGI Movie, IFF, AVI und Quicktime GIF, TIFF, PSD, MOV usw.

Alle wichtigen 3D-Grafikformate werden unterstützt: 3D Studio, AC3D, COLLADA, FBX Export, DXF, Wavefront OBJ, DEC Object File Format, DirectX, Lightwave, MD2, Motion Capture, Nendo, OpenFlight, PLY, Pro Engineer, Radiosity, Raw Triangle , Softimage, STL, TrueSpace, VideoScape, VRML, VRML97, X3D Extensible 3D usw.

Es ist möglich, die Physik-Engine der Bullet Physics Library zu verwenden. Die Grafiken in Spielen können je nach Ihren Fähigkeiten beliebig komplex sein. Das Programm ist absolut kostenlos.

Für Betriebssysteme: Windows 2000, XP, Vista, Mac OS




Grafischer Logikeditor zum Definieren interaktiven Verhaltens ohne Programmierung. Kollisionserkennung und Dynamiksimulation unterstützen jetzt die Bullet Physics Library. Bullet ist eine Open-Source-Bibliothek zur Kollisionserkennung und Starrkörperdynamik, die für Play Station 3 entwickelt wurde. Formtypen: Konvexes Polyeder, Kasten, Kugel, Kegel, Zylinder, Kapsel, Verbindung und statisches Dreiecksnetz mit automatischem Deaktivierungsmodus. Diskrete Kollisionserkennung für die RigidBody-Simulation. Unterstützung für die Aktivierung dynamischer Einschränkungen im Spiel. Volle Unterstützung der Fahrzeugdynamik, einschließlich Federreaktionen, Steifigkeit, Dämpfung, Reifenreibung usw. Python-Skript-API für anspruchsvolle Steuerung und KI, vollständig definierte erweiterte Spiellogik. Unterstützt alle OpenGLTM-Beleuchtungsmodi, einschließlich Transparenzen, animierter und reflexionsgemappter Texturen. Unterstützung für Multimaterialien, Multitextur- und Texturmischmodi, Beleuchtung pro Pixel, dynamische Beleuchtung, Mapping-Modi, GLSL-VertexPaint-Texturmischung, Toon-Shading, animierte Materialien, Unterstützung für Normal Mapping und Parallax Mapping. Wiedergabe von Spielen und interaktiven 3D-Inhalten ohne Kompilierung oder Vorverarbeitung. Audio, mit dem SDL-Toolkit. Mehrschichtige Szenen für Overlay-Schnittstellen.



 

Es könnte nützlich sein zu lesen: