Die XML-Dateien

Objekte

Die einzulesenden Objekte werden in 4 Kategorien unterteilt: Interactable, Static, Tür und Lampe. Das liegt darin begründet, dass beim Einlesen dieser jeweils ein wenig anders vorgegangen werden muss. So muss zum Beispiel ein interactable Objekt immer (in der Rooms.xml) eine Funktion spezifizieren muss, welche für die entsprechende Interaktion aufgerufen werden muss. Bei einer Lampe wird hingegen zusätzlich ein Punktlicht an die Position des Objektes gesetzt.

Räume

Woraus ein Raum besteht, und was sich in ihm befindet, ist in der Rooms.xml zu finden. Grob lassen sich 5 verschiedene Dinge in einem Raum finden:

  1. Türen: Eine Tür ist ein spezielles interagierbares Objekt, für das verschiedene vordefinierte Interaktionen existieren, damit sie das passende Aussehen hat und man sie unter den richtigen Bedingungen öffnen kann.
  2. Lichter: Da bei einem Licht zusätzlich zum Mesh selbst noch das Punktlicht hinzugefügt werden muss, müssen noch Farbe und Intensität des Lichts angegeben werden.
  3. Feuer: In einem brennendem AVZ dürfen viele Feuer nicht geben. Diese benötigen Position, Größe und einen Wert für die Darstellung1.
  4. Spawns: An einem Spawn-Punkt wird ein Objekt platziert. Was diese Objekte sein können ist in der Objects.xml spezifiziert.
  5. Triggers: Ein Trigger ist ein unsichtbarer Kasten im Spiel, welcher, sobald man ihn betritt, eine spezielle Funktion auslöst, zum Beispiel dass das nächste Level betreten wird, oder eine Gedankenblase erscheint.

Platzieren der Objekte: vom leerem Raum zum vollem Raum.

Da also das JSON des eigentlichen Raumes nur die Wände spezifiziert, ist es möglich, den gleichen äußeren "Raum" mit vollkommen verschiedenen Dingen zu füllen und entsprechend vollkommen anders aussehen zu lassen:

Um also einen Raum hinzuzufügen, müssen lediglich die Positionen der genannten Objekte innerhalb des Raumes (in Blender-Koordinaten) bestimmt werden.

Stockwerke/Level

Die XML-Datei zur Beschreibung der einzelnen Stockwerke wird vom Level-Editor exportiert und anschließend mit weiteren Informationen über das jeweilige Level gefüttert.


1. Genauere Informationen zur Darstellung des Feuers finden sich im entsprechenden Kapitel.

results matching ""

    No results matching ""