Game Engine Math

Schlagwort: tutorial

  • 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: Es kann übrigens auch genau in die andere Richtung funktionieren:Das Elternobjekt merkt sich, ob es ein Kindobjekt hat und versetzt dieses gemäß der eigenen Bewegungen. Es bleibt also dem Programmierer überlassen, wie die Beziehung genau umgesetzt wird. Wichtig ist:

  • 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 16: Objekte an andere Objekte anheften

    Damit ein GameObject (z.B. eine Spielfigur) ein anderes GameObject (z.B. ein Waffenmodell) in der Hand führen kann, müssen mehrere Bedingungen erfüllt sein: Der benötigte Code kann in der Prepare()-Methode der Welt-Klasse positioniert werden: Um herauszufinden, welche Knochen ein 3D-Modell zur Verfügung stellt, können Sie z.B. folgenden Befehl verwenden: Wie werden Objekte wieder gelöst? Für das…

  • KWEngine, Teil 15: Abprallen bei Kollision

    Kollidiert ein Objekt mit einem anderen Objekt, kann es von diesem abprallen, indem es seine Ausrichtung (Rotation) neu berechnet. Die Ausrichtung ist dabei abhängig von der Kollisionsfläche und ihrer Ausrichtung. Die Ausrichtung einer Fläche wird durch einen Vector3 bestimmt – die ColliderSurfaceNormal. Die ColliderSurfaceNormal ist eine Art Pfeil, der senkrecht auf der Fläche steht: Die…

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