Schlagwort: c#
-
KWEngine, Teil 23: Events zeitlich planen
Wenn Sie z.B. eine gegnerische Instanz zeitversetzt entstehen lassen möchten, können Sie solche Events planen: Hinweis zu Zeile 33:
-
KWEngine, Teil 22: Raytracing-Kollisionen
1) Überprüfung, ob Instanzen bestimmter Klassen von einem Teststrahl getroffen werden Wenn Sie z.B. überprüfen möchten, ob Instanzen bestimmter Klassen im Blickfeld eines anderen Objekts liegen, können Sie wie folgt vorgehen: 2) Schnellere (aber ungenaue) Überprüfung, ob Instanzen bestimmter Klassen getroffen werden Wenn Sie keine punktgenaue Analyse benötigen, können Sie sich viele unnötige Berechnungen sparen,…
-
KWEngine, Teil 21: 2D-Objekte darstellen
Eigentlich ist die Engine für 3D-Objekte konzipiert und optimiert, aber wenn Sie möchten, können Sie auch 2D-Objekte darstellen. Dies geschieht, indem Sie als 3D-Modell das bereits in der Engine enthaltene Modell „KWQuad“ verwenden. Ein KWQuad ist einfach nur ein flaches Quadrat, das intern jedoch eine unsichtbare 3D-Hitbox verwendet, damit es auch mit 3D-Objekten interagieren kann.…
-
KWEngine, Teil 20: Sichtbereiche von Objekten
Fall #1: Blickt eine Spielfigur direkt auf ein Objekt? Mit der Methode IsLookingAt() kann eine Spielfigur prüfen, ob ihr Look-At-Vector (kurz: LAV) durch die (für den Test kugelförmige) Hitbox einer anderen Spielfigur verläuft: Fall #2: Befindet sich ein Gegner im Sichtfeld? Um den Winkel auszurechnen benötigt man folgende Formel:
-
KWEngine, Teil 19: Eltern-Kind-Beziehungen
In Spielszenen haben Objekte oft Beziehungen zueinander: Im folgenden Beispiel bewegt sich die Spielfigur bei Betätigung der A-Taste jeden Frame um 0.01 Einheiten auf der x-Achse nach links. Ein Objekt der Klasse PowerUp existiert ebenfalls in der Welt und hat anfangs keinen „Besitzer“. Es wartet also darauf, eingesammelt zu werden. Die Player-Klasse ist somit für…
-
KWEngine, Teil 18: Unebenes Terrain
Ein Terrain-Modell ist ein 3D-Modell wie jedes andere. Man muss es aber zunächst generieren lassen. Dazu braucht man eine Height-Map. Eine Height-Map ist ein Graustufenbild, in dem die hellen Pixel die Höhe des Terrains angeben. Dunkle Pixel bedeuten hingegen, dass das Terrain an diesen Stellen wenig oder gar keine Höhe aufweist. Das Terrain-Modell sollte zu…
-
KWEngine, Teil 17: Explosionen und Partikeleffekte
KWEngine bietet eine Reihe vorgefertigter Explosions- und Partikeleffekte, mit deren Hilfe eine Spielszene mit zusätzlichen Informationen angereichert werden kann. Explosionen Explosionen haben in KWEngine eine eigene Klasse und können (ähnlich einer GameObject-Instanz) den Welten hinzugefügt werden. Im Gegensatz zu normalen GameObject-Instanzen entfernen sich die Explosionsobjekte jedoch selbständig aus ihren Welten, wenn der Explosionseffekt abgespielt wurde.…
-
KWEngine, Teil 14: Rotationen relativ zu Objekten
In diesem Beitrag geht es um verschiedene Arten von Rotationen, die sich allesamt in Relation zu einem bestimmten Objekt befinden. Die gezeigten Beispiele werden i.d.R. in Videospielen benötigt.
-
Objektwahl mittels Mauszeiger: Übersetzung von 2D- in 3D-Koordinaten
In diesem Beitrag geht es um die Kollision eines Strahls mit einer Ebene und wie dadurch 2D-Mauszeigerkoordinaten in 3D-Weltkoordinaten übersetzt werden können.
-
KWEngine, Teil 13: HUD-Objekte hinzufügen
In diesem Beitrag geht es um das Platzieren von HUD-Objekten auf dem Bildschirm.
-
KWEngine, Teil 12: Hintergrundbilder und Texturen verwenden
In diesem Beitrag wird erläutert, wie Hintergrundbilder und Texturen auf Objekte angewendet werden können.
-
KWEngine, Teil 11: Mehr Mauszeigerinteraktionen
In diesem Beitrag werden zwei Methoden zur Schnittpunktberechnung zwischen einem Strahl und einer Hitbox vorgestellt.
-
Sortierphase vor der eigentlichen Kollisionsprüfung: Die „Broad Phase“
Dieser Beitrag beinhaltet einen Algorithmus zur Vorsortierung potenziell kollidierender Objekte. So einen Algorithmus nennt man einen ‚broad phase‘-Algorithmus.
-
KWEngine, Teil 10: Animationen von 3D-Modellen steuern
In diesem Beitrag wird anhand eines Beispiels erläutert, wie Animationen von 3D-Modellen gesteuert werden.
-
KWEngine, Teil 9: Eine simple Sprungmechanik
In diesem Artikel wird eine rudimentäre Sprungmechanik für die KWEngine erläutert.
-
KWEngine, Teil 8: Mauszeigerinteraktionen und Lichter
In diesem Beitrag wird erläutert, wie 2D-Mauskoordinaten in 3D-Koordinaten übersetzt werden können. Zusätzlich werden Lichtquellen verwendet, um die Szene zu bereichern.
-
KWEngine, Teil 7: First und Third Person View
Dieser Beitrag beschäftigt sich mit der First-Person- und Third-Person-Kameraperspektive für die KWEngine.
-
KWEngine, Teil 6: Eigene 3D-Modelle einbinden
KWEngine unterstützt die gängigen Formate OBJ, DAE, FBX und GLB für 3D-Modelle. Wie diese Modelle eingebunden werden, lesen Sie in diesem Beitrag.
-
KWEngine, Teil 5: Kollisionsbehandlung
Kollisionen sind ein wichtiger Teil einer Game-Engine. Wie Kollisionen erkannt und behandelt werden, wird in diesem Beitrag erläutert.
-
KWEngine, Teil 4: Objekte finden
Die Interaktion zwischen Objekten kann auf unterschiedliche Weisen erfolgen. Dieser Beitrag beschreibt zwei Wege, um dies zu realisieren.
-
KWEngine, Teil 3: Objekte steuern
Objekte können entweder über die Tastatur oder die Maus gesteuert werden. Wie genau das funktioniert, wird in diesem Beitrag beschrieben.
-
KWEngine, Teil 2: Objekte darstellen
Wie werden Objekte erzeugt? Wie können Texturen und Farben ausgewählt werden? Dieser Beitrag erklärt anhand von kurzen Beispielen den Ablauf!
-
OpenGL Tutorial, Teile 8 und 9: Licht und Normal-Mapping
Die Beleuchtung ist ein wichtiger Aspekt einer 3D-Szene. Wie genau Lichter realisiert werden und die Lichtsetzung dank Normal Mapping noch realistischer ausfällt, wird in diesem Tutorial besprochen!
-
OpenGL Tutorial, Teil 7: Struktur einer Game-Engine
In diesem Tutorial-Teil geht es um die grundlegende Struktur einer eigenen Game Engine!