KWEngine, Teil 20: 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 19: 2D-Darstellung

Obwohl die KWEngine primär für 3D-Szenen konzipiert wurde, ist es über Umwege möglich, eine klassische 2D-Darstellung zu erzwingen. Der größte Unterschied liegt hier in der Kameraprojektion: Die Standardprojektion in der KWEngine ist perspektivisch. Also muss die Projektion zunächst auf „orthografisch“ umgestellt werden. Außerdem erhält die FOV-Eigenschaft in der orthografischen Projektion eine neue Bedeutung. Ihr Wert… KWEngine, Teil 19: 2D-Darstellung weiterlesen

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 18: Unebenes Terrain weiterlesen

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 17: Explosionen und Partikeleffekte weiterlesen

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