Game Engine Math

Kategorie: KWEngine

  • KWEngine, Teil 1: Erstellen des Projekts

    Wie wird ein VisualStudio-Projekt (C#) erstellt und die für KWEngine benötigten Bibliotheken eingebunden. Lesen Sie diesen Artikel für alle Infos!

  • 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!

  • 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 4: Objekte in der Welt wiederfinden

    Die Interaktion zwischen Objekten kann auf unterschiedliche Weisen erfolgen. Dieser Beitrag beschreibt zwei Wege, um dies zu realisieren.

  • 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 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 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 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 9: Eine simple Sprungmechanik

    In diesem Artikel wird eine rudimentäre Sprungmechanik für die KWEngine erläutert.

  • 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 11: Mehr Mauszeigerinteraktionen

    In diesem Beitrag werden zwei Methoden zur Schnittpunktberechnung zwischen einem Strahl und einer Hitbox vorgestellt.

  • 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 13: HUD-Objekte hinzufügen

    In diesem Beitrag geht es um das Platzieren von HUD-Objekten auf dem Bildschirm.

  • 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.

  • KWEngine, Teil 15: Abprallen bei Kollision

    Misst ein Objekt eine Kollision mit einem anderen, kann es die Oberflächenausrichtung des Kollisionsobjekts erfragen und dementsprechend seine eigene Richtung ändern. In diesem Beitrag wird beschrieben, wie das geht.

  • KWEngine, Teil 16: Objekte an Stellen anderer Objekte anheften

    3D-Modelle können animiert sein, und wenn sie es sind, bestehen sie aus einem Knochenskelett, in dem jeder Knochen einen individuellen Namen hat. Die KWEngine ermöglicht es, dass andere GameObject-Instanzen an diese Knochen geheftet werden können. So ist es z.B. möglich, dass eine Spielfigur eine Waffe in der Hand hält.

  • KWEngine, Teil 17: Explosionen und Partikeleffekte

    Explosionen und Partikeleffekte gehören zu einem guten Spiel dazu! In diesem Beitrag werden ein paar dieser Effekte vorgestellt.

  • KWEngine, Teil 18: Unebenes Terrain

    Wie mithilfe einer Height-Map ein Terrain erzeugt werden kann, wird in diesem Beitrag erläutert.

  • KWEngine, Teil 19: Eltern-Kind-Beziehungen

    Wie können Objekte einen Bezug zu anderen Objekten erhalten? Wie kann z.B. ein Power-Up-Objekt um die Spielfigur kreisen und dennoch individuell gesteuert werden? In diesem Beitrag findest Du ein passendes Beispiel.

  • KWEngine, Teil 20: Sichtbereiche von Objekten

    Wie kann man herausfinden, ob eine Spielfigur ein Objekt direkt ansieht oder sich das Objekt zumindest innerhalb eines bestimmten Sichtbereichs befindet? Dieser Beitrag gibt zwei Beispiele, die bei der Umsetzung helfen können!

  • KWEngine, Teil 21: 2D-Objekte darstellen

    In 2D-Spielen werden Objekte oft mithilfe von Spritesheets animiert. Dieser Beitrag zeigt, wie die KWEngine dies ermöglicht.

  • KWEngine, Teil 22: Raytracing-Kollisionen

    Um z.B. bei einem First-Person-Shooter zu messen, ob sich das Fadenkreuz direkt auf einem bestimmten Objekt befindet und kein anderes Objekt die Sicht auf das Ziel versperrt, können Strahlen (rays) zum Einsatz kommen. Dieser Beitrag zeigt, wie dies in der KWEngine bewerkstelligt werden kann.

  • KWEngine, Teil 23: Events zeitlich planen

    In einer Spielwelt sind manche Events zeitbasiert. Dieser Beitrag zeigt, wie man Events für die Zukunft planen und automatisch ausführen lassen kann.

  • KWEngine, Teil 24: Zwischen zwei Welten wechseln

    In diesem Beitrag geht es darum, wie man beim Wechsel zwischen mehreren Welten Daten transferieren kann.

  • KWEngine, Teil 25: Objektnavigation mit Flowfields

    Ein wichtiger Schritt bei der Entwicklung einer Gegner-KI ist die Wegfindung: Wie kann eine Instanz den kürzesten Weg durch einen Hindernisparkour zu einem gesetzten Ziel finden? Dieser Beitrag bietet mit sogenannten „flow fields“ eine Möglichkeit, die Gegner-KI mit relativ einfachen Mitteln in der KWEngine umzusetzen.

  • KWEngine, Teil 26: Einen 2D-Character-Controller erstellen

    Selbst etwas scheinbar so simples wie ein Spieler-Objekt in 2D kann letztendlich ziemlich kompliziert zu programmieren sein. Dieser Beitrag behandelt das Erstellen eines robusten 2D-Controllers, mit dessen Hilfe eine Spielfigur sich durch eine 2D-Landschaft bewegen und mit ihr interagieren kann.

  • KWEngine, Teil 27: Einen 3D-Character-Controller erstellen

    Dieser Beitrag behandelt die Erstellung einer Player-Klasse für die Steuerung einer Spielfigur in einer 3D-Umgebung!

  • KWEngine, Teil 28: Map-Overlay

    Jede Welt-Instanz hat einen Verweis auf ein Objekt (namens Map), das von der Klasse WorldMap stammt. Sie muss einmalig pro Welt konfiguriert werden. Objekte, die auf der Map angezeigt werden sollen, werden (anders als es für andere Objekte nötig ist) keiner Liste hinzugefügt, sondern müssen pro Frame neu bestimmt werden. Aus diesem Grund muss die…

  • KWEngine, Teil 29: 3D-Effektmodelle

    Manchmal kommt man an einen Punkt, wo es schön wäre, bestimmte Statuseffekte eines Spielers sichtbar zu machen. Besonders die Spiele, welche die Spielfigur aus der Vogel- oder einer isometrischen Perspektive zeigen, profitieren davon. Ein Beispiel: Im oben abgebildeten GIF kreisen Symbole um die Spielfigur. Was brauchen wir dafür? 1) Ein geeignetes 3D-Modell mit Textur Wir…

  • KWEngine, Teil 30: Eigene Schriftarten verwenden

    Seit KWEngine Version 3.0.6 ist es möglich, eigene Schriftarten in Form von MSDF-Atlanten zu importieren und zu verwenden. Dies ersetzt den vorherigen Importmechanismus für TTF-Schriftartdateien komplett. Durch die Verwendung von MSDF-Atlanten können Schriftsätze nun beliebig groß skaliert werden ohne an Kantenschärfe und Klarheit einzubüßen. Was sind MSDF-Atlanten? (M)SDF steht für „(multi-channel) signed distance fields“ und…