Objekte

Objekte sind die 3D-Modelle, aus denen ein Maze aufgebaut werden kann. Es können prinzipiell beliebig viele Objekte in ein Maze eingesetzt werden. Bedenken Sie bitte, dass jedes Objekt Rechenzeit für Berechnungen, Spielerinteraktion und Zeichnen benötigt. Je mehr Objekte verwendet werden, desto leistungsfähiger muss vor allem die Graphikkarte des Computers sein.

So sind z.B. in den meisten 60×60 Mazes nicht mehr als 60 3D-Modelle enthalten. Diese Zahl beinhaltet auch die Außenwände. So ein Maze kann man auch auf einem alten Computer mit einer Intel-Core-Duo CPU spielen. Kommt dagegen ein großes Maze, wie z.B. das nachfolgend abgebildete, zum Einsatz, das eine Größe von 160×160 mit ca. 600 3D-Objekten hat, dann muss der Rechner und dessen Graphikkarte wesentlich leistungsfähiger sein. Dieses Maze ließ sich auch auf einem 7 Jahre alten Notebook mit einem Intel Core i5-5300 und dem integrierten Graphikchip HD-Grafik 5500 noch flüssig spielen.

Maze dre Größe 160×160, aufgebaut aus 594 3D-Objekten

Alle Objekte werden innerhalb der <COMPONENT_LIST> definiert. Für jedes Objekt muss ein <COMPONENT … />-Tag in diese Liste eingetragen werden. Innerhalb eines COMPONENT-Tags kann ein Objekt über den Parameter „Repitition“ mehrfach angelegt werden.

<Component … />

  • Name: Name des Objektes.
    Bsp.: Name=“Wand1″
    Typ: Text
  • Type: Der Typ des Objektes.
    Bsp.: Type=“Walls“
    Typ: Aufzählung
    Wertebereich:
    • Walls: Für diese Objekt wird eine Kollisionsermittlung durchgeführt. Eine Spielfigur bleibt an diesem Objekt hängen.
    • Illusion: Für diese Objekt wird keine Kollisionsermittlung durchgeführt. Eine Spielfigur kann dieses Objekt durchdringen.
    • Treasure: Wertgegenstand, der eingesammelt werden kann.
    • Key: Schlüssel, der eingesammelt werden kann.
    • Help: Hilfsobjekt, das eingesammelt werden kann.
  • Model: Legt die 3D-Modeldefinition fest.
    Bsp.: Model=“Models/Gem″
    Typ: Verweis auf das gewünschte 3D-Modell. Diese befinden sich standardmäßig in „Models/“ und dessen Unterverzeichnissen.
  • PosX: Position des Objektes auf der X-Achse
    Bsp.: PosX=“0.0″
    Typ: Dezimalzahl
  • PosY: Position des Objektes auf der Y-Achse
    Bsp.: PosY=“-0.12″
    Typ: Dezimalzahl
  • PosZ: Position des Objektes auf der Z-Achse
    Bsp.: PosZ=“0.0″
    Typ: Dezimalzahl
  • RotX: Drehung des Objektes entlang der X-Achse in Grad (°)
    Bsp.: RotX=“0.0″
    Typ: Dezimalzahl
  • RotY: Drehung des Objektes entlang der Y-Achse in Grad (°)
    Bsp.: RotY=“90.0″
    Typ: Dezimalzahl
  • RotZ: Drehung des Objektes entlang der Z-Achse in Grad (°)
    Bsp.: RotZ=“0.0″
    Typ: Dezimalzahl
  • PosDeltaX: Legt fest, um wieviel das 3D-Model in X-Richtung (Querachse) verschoben werden soll, wenn im Parameter „Repitition“ ein Wert größer 1 eingetragen ist.
    Bsp.: PosDeltaX=“10.0″
    Typ: Dezimalzahl
  • PosDeltaY: Legt fest, um wieviel das 3D-Model in Y-Richtung (Hochachse) verschoben werden soll, wenn im Parameter „Repitition“ ein Wert größer 1 eingetragen ist.
    Bsp.: PosDeltaY=“0″
    Typ: Dezimalzahl
  • PosDeltaZ: Legt fest, um wieviel das 3D-Model in Z-Richtung (Längsachse) verschoben werden soll, wenn im Parameter „Repitition“ ein Wert größer 1 eingetragen ist.
    Bsp.: PosDeltaZ=“0″
    Typ: Dezimalzahl
  • Scale: Mit dem Vergrößerungsfaktor kann das Objekt vergrößert bzw. verkleinert werden.
    Bsp.: Scale=“2.5″
    Typ: Dezimalzahl
  • Repitition: Die Anzahl der zu zeichnenden Objekte. Normalerweise 1.
    Bsp.: Repitition=“3″
    Type: Zahl
  • Texture: Die Textur, mit der das Objekt überzogen werden soll.
    Bsp: Texture=“Colors/DarkBlue″
    Typ: Verweis auf die gewünschte Textur. Diese befinden sich in „Textures“, „Models/Playground/Texture/“ und „Colors/“.

    Es können auch externe Bilder als Textur verwendet werden. In diesem Fall muss der Pfad zu dem Bild bzw. den Bildern angegeben werden. Soll nur ein Bild verwendet werden, dann muss der Pfad samt Dateinamen und Dateierweiterung angegeben werden.
    Bsp.: C:\Bilder\MeinBild.jpg

    Soll ein ganzes Verzeichnis mit Bildern angegeben werden, dann muss der Pfad samt Wildcard und Dateierweiterung angegeben werden.
    Bsp.: C:\Bilder\*.jpg

Beispiel

<COMPONENT Name="ElfBath1Elf" Type="Walls" Model="Models/Statue/ElfBath" PosX="61" PosY="0.0"
  PosZ="47" RotX="0" RotY="0" RotZ="0" PosDeltaX="0" PosDeltaY="0" PosDeltaZ="0" Scale="1.0"
  Repetition="1" Texture="Textures/Sun" 
/>

Optional können Objekten Aktionen zugewiesen werden, z.B. dass sich ein Edelstein um seine Achse dreht. Details dazu finden Sie unter Aktionen.