Sprache Deutsch Language English

Menu:



Letzte Änderung:
12. Februar 2016



Anleitung zur Erstellung von Mod Maps für Skiregion-Simulator 2012

Letzte Änderung an diesem Artikel:
12. Februar 2013

Changelog:
- Veröffentlichung (25. Oktober 2011)
- Beschreibung der wichtigsten Aspekte (30. Oktober 2011)
- Beschreibung zu neuen Skistations Namen (12. Februar 2013)


Dieser Artikel beschreibt wie man Mod Maps für den Skiregion-Simulator 2012 erstellen kann.
Fragen und Feedback bitte in diesem Thread im Offiziellen GIANTS Support Forum posten.

  1. Pisten
  2. Skifahrer
  3. Fussgänger
  4. SkiResort XML/I3D
  5. SkiSlopes XML
  6. Hotels XML
  7. Gui Positionen
  8. Infolayer
  9. Neuer Skistations Name
  10. Downloads


Top
Pisten
Die Pisten werden über den Infolayer mit dem Namen 'slopeInfoLayer' definiert. Zum Bearbeiten davon, siehe dazu den Abschnitt Infolayer.
Die Werte dieses Infolayers bestimmen wo sich welche Piste befindet. Die Channels bestimmen dabei den binären Wert der Pistennummer.
Folgende ist eine Liste der Channels und den dazugehörigen Pistennummern. 1 bedeuted ein Häckchen, 0 bedeuted kein Häckchen:
10000 = 1
01000 = 2
11000 = 3
00100 = 4
10100 = 5
01100 = 6
11100 = 7
00010 = 8
10010 = 9
01010 = 10
11010 = 11
00110 = 12
10110 = 13
01110 = 14
11110 = 15
...
01111 = 30
11111 = 31


Top
Skifahrer
Das Nav Mesh mit dem Namen 'skierNavMesh' bestimmt wo die Skifahrer fahren. Am einfachsten erstellt man dieses mit dem 'Build Navigation Mesh Tool' im GIANTS Editor. Dazu das bereits bestehende 'skierNavMesh' Objekt im Scengraph Panel markieren, falls vorhanden, und dann im Menü 'Create->Navigation Mesh' wählen. Im erscheinenden Dialog folgende Werte einstellen. Die Werte in Fett, sind Werte welche unterschiedlich zu den Standardeinstellungen des Dialogs sind. Falls die Standardeinstellungen zuvor verändert wurden, müssen diese manuell wieder eingestellt werden.

Cell size = 0.3
Cell height = 0.2
Height = 2
Radius = 0.3
Max Climb = 0.9
Slope Limit = 80
Shape Build Mask = 0
Terrain Detail = 50
Enable Culling = On
Culling Info Layer = slopeInfoLayer
Culling Info Layer Channels = 1f
Min Region Size = 25
Merged Region Size = 20
Max Edge Length = 12
Max Edge Error = 1.5

Nachdem alle Einstellungen vorgenommen wurden, auf 'Recreate' klicken, falls zuvor das Objekt 'skierNavMesh' angewählt wurde, sonst 'Create' klicken und danach das neu erstelle Nav Mesh auf 'skierNavMesh' umbenennen.
Die Erstellung kann je nach Computer und Komplexität der Welt einige Sekunden bis Minuten dauern.

Tip: Falls im Viewport keine Nav Meshes sichtbar sind, kann man diese anzeigen lassen, indem man im Menü 'View->Show->Navigation Meshes' wählt.


Top
Fussgänger
Die Fussgängerbereiche werden mit Hilfe von Nav Meshes definiert. Es können beliebig viele Nav Meshes dazu verwendet werden, aus Performancegründen sollten aber so wenig wie möglich verwendet werden, wobei in den meisten Fällen auch eines ausreicht.
Am einfachsten erstellt man dieses Nav Mesh mit Hilfe des Infolayers 'pedestrianInfoLayer'. Wenn man alle Fussgängerbereiche in diesem Infolayer eingezeichnet hat, das bestehende 'pedestriansNavMesh' Objekt im Scengraph Panel markieren, falls vorhanden, und dann im Menü 'Create->Navigation Mesh' wählen. Im erscheinenden Dialog folgende Werte einstellen. Die Werte in Fett, sind Werte welche unterschiedlich zu den Standardeinstellungen des Dialogs sind. Falls die Standardeinstellungen zuvor verändert wurden, müssen diese manuell wieder eingestellt werden.

Cell size = 0.3
Cell height = 0.2
Height = 2
Radius = 0.3
Max Climb = 0.9
Slope Limit = 45
Shape Build Mask = ff
Terrain Detail = 100
Enable Culling = On
Culling Info Layer = pedestrianInfoLayer
Culling Info Layer Channels = 1
Min Region Size = 15
Merged Region Size = 20
Max Edge Length = 10
Max Edge Error = 1.3

Nachdem alle Einstellungen vorgenommen wurden, auf 'Recreate' klicken, falls zuvor das Objekt 'pedestriansNavMesh' angewählt wurde, sonst 'Create' klicken und danach das neu erstelle Nav Mesh auf 'pedestriansNavMesh' umbenennen. Zudem muss das User Attribute 'onCreate' mit dem Typ 'script callback' und dem Wert 'NavMeshPedestrians.onCreate' hinzugefügt werden. Die Erstellung kann je nach Computer und Komplexität der Welt einige Sekunden bis Minuten dauern.



Top
SkiResort XML/I3D
Das SkiResort XML (in der SampleModMap skiResort_map01.xml) definiert die Skistationen und die dazugehörigen Gebäude. Jeder 'skiStation' Node definiert eine Skistation. Folgend eine Liste der Attribute:
id Eindeutige Ganzzahl Id der Station
name Eindeutiger Name der Station. Um neue Namen zu verwenden, siehe Abschnitt Neuer Skistations Name
stationType Typ der Station ('valley' = Nur ein ausgehender Lift, 'mountain' = Nur ein eingehender Lift, 'middle' = Ein eingehender und ausgehender Lift
dailyCapacity Die Anzahl Gäste welche die Station pro Tag nutzen können
price Der Kaufpreis der Station
dailyUpkeep Tägliche Kosten der Station
stationBelow (optional) Name der Station von der ein Lift kommt
stationAbove (optional) Name der Station zu der ein Lift geht
guiPosition Position des Station Icon in der Übersichtskarte. Siehe auch Gui Positionen
guiSlotsPosition Position der Slot Icons dieser Station in der Übersichtskarte. Siehe auch Gui Positionen
guiIcon (optional) Der Dateiname des Bildes welches als Icon für die Station verwendet wird. Falls ein eigener Name für diese Station verwendet wird, ist diese Angabe erforderlich
Beispiel Bild: stationIcon_sampleStation.png
stationImage (optional) Der Dateiname des Bildes für die Station verwendet wird. Falls ein eigener Name für diese Station verwendet wird, ist diese Angabe erforderlich.
Beispiel Bild: image_sampleStation.png

Die 'Id' Attribute der angegebenen Skistationen im XML sind eins basierte Kind-Indices der Nodes im I3D, welche unter dem Node 'skiStations' liegen. 1 bedeuted das 1te Kind.


Zusätzliche Anlagen
Jede Skistation kann mehrere zusätzliche Anlagen haben. Dabei wird zwischen Erweiterungen und gewöhnlichen Anlagen unterschieden.
Erweiterungen definieren für jede Station eine genaue Liste der möglichen Anlagen zwischen denen der Spieler wählen kann, während die gewöhnlichen Anlagen für jede Skistation die gleiche Liste anbieten.
Im XML werden die Erweiterungen mit den Nodes 'extension' als Kinder der enstprechenden Skistation angegeben. Folgend eine Liste der Attribute einer Erweiterung:
type Typ der Erweiterung. (small, large, facade, platform, parkingLot)
price Kaufpreis der Erweiterung. Dies ist nur der Preis des Grundgebäudes und nicht der Einrichtung.
node Null-basierter Kind Index des Erweiterungs-Nodes im I3D. 2 bedeuted das 3te Kind des Skistations I3d Nodes.

Jede Erweiterung enthält zudem eine Liste von Einrichtungen, wovon jeweils eine Aktiv sein kann. Folgend eine Liste der Einrichtungen für die entsprechenden Erweiterungs-Typen:
small
  • infoBooth
  • childCare
  • drugstore
  • souvenirShop
large
  • restaurant
  • conferenceRoom
  • spa
  • danceClub
  • cinema
fascade
  • solarPanel
  • antenna
  • billboard
platform
  • helipad
  • picnicArea
  • sunDeck
parkingLot
  • parkingLot

Die gewöhnlichen Anlagen haben alle die gleichen Auswahlmöglichkeiten, entsprechend müssen auch keine näheren Angaben zu den verfügbaren Anlagen im XML gemacht werden. Zudem müssen alle Teile im I3D die gleichen Objekte haben.
Mit dem Node 'commonFacilities' kann man die Eigenschaften dieser gewöhnlichen Anlagen einer Station angeben. Folgend eine Liste der Attribute:
number Anzahl Slots für gewöhnliche Anlagen an dieser Station.
price Kaufpreis jeder gewöhnlichen Anlage. Dies ist nur der Preis des Grundgebäudes und nicht der Einrichtung.
node Null-basierter Kind Index des gemeinsamen Anlagen-Nodes im I3D welcher Kinder enhält, einer für jeden Slot. 2 bedeuted das 3te Kind des Skistations I3d Nodes.


Top
SkiSlopes XML
Das SkiSlopes XML (in der SampleModMap skiSlopes_map01.xml) definiert die Pisten. Das XML besteht aus einer Liste von 'skiSlope' Nodes welche jeweils eine Piste festlegen. Folgend ist eine Liste der Attribute:
id Die Id der Piste. Der Bereich der Piste wird durch die Pixel im 'slopeInfoLayer' mit der gleichen Zahl definiert.
startStationName Name der Skistation wo die Piste started.
endStationName Name der Skistation wo die Piste ended.
difficulty Schwierigkeit der Piste (1, 2, 3). Jeder Gast bevorzug genau eine Schwierigkeit, deshalb is es wichtig, dass das Skigebiet etwa die gleiche Anzahl Pisten für jede der Schwierigkeiten hat.
guiPosition Position des Pisten Icon in der Übersichtskarte. Siehe auch Gui Positionen

Bemerkung: Die 'chalet' Nodes im SampleModMap SkiSlopes XML, werden nicht verwendet und können ignoriert oder gelöscht werden.


Top
Hotels XML
Das Hotels XML (in der SampleModMap hotels_map01.xml) definiert die verfügbaren Hotels. Dieses besteht aus einer Liste von 'hotel' Nodes mit folgenden Attributen:
id Die Id des Hotels. Dies ist der eins-basierte Kind Index des Hotel-Nodes im hotels Node. 1 bedeuted das 1te Kind.
price Kaufpreis des Hotels.
guiPosition Position des Hotel Icon in der Übersichtskarte. Siehe auch Gui Positionen


Top
Gui Positionen
Gui Positionen in den XML bestimmen die Position der Gui Elemente. Dieses sind X und Y Koordinaten zwischen 0 und 1, wobei 0 0 unten links ist, und 1 1 oben rechts. Die Werte geben jeweils die untere linke Ecke des Gui Elementes an.
Diese Positionen kann man z.B. mit dem Konsolen Befehl gsDrawGuiHelper einfach herausfinden. Dazu in der Konsole 'gsDrawGuiHelper 0.1' eingeben (0.1 kann man auch durch einen anderen Wert ersetzen), und mit dem Mauszeiger an die gewünschte Position fahren. Die beiden Werte um den Mauszeiger sind die X und Y Werte welche man ins XML übernehmen kann.
Um das angezeigte Gitter wieder aufzuheben, kann man 'gsDrawGuiHelper' in die Konsole eingeben.
Tip: Die Konsole unterstützt auto-vervollständigung. Z.B. gsDraw eingeben und 'Tab' drücken. Es wird automatisch auf gsDrawGuiHelper vervollständigt. Um zwischen den verschiedenen Vorschlägen zu wechseln, kann man mehrmals 'Tab' drücken.


Top
Infolayer
Die Info Layer erlauben es verschiedene Informationen direkt im GIANTS Editor zu zeichnen. Dies wird momentan für die Pisten, für die Fussgängerbereiche und zur Definition der beschneiten Bereiche verwendet.
Um diese Info Layer zu malen, klickt man in der Toolbar auf das Info Layer Icon . Das Terrain Editing Panel öffnen im Menü 'Window->Terrain Editing'. In diesem Panel den entsprechend Info Layer in der Drop-Down Liste auswählen, die gewünschten Channels auswählen und direkt im Viewport zeichen.
Unterstützt werden die Funktionen 'Add' und 'Sub', welche standardmässig auf die Linke- und Rechte-Maustaste gelegt sind. Den Radius des Pinsels kann man im Gui oder mit den Tasten 'v' und 'b' verändern. Das gemalte wird jeweils in Weiss auf dem Terrain angezeigt. Nur die Bereiche welche exakt die angewählte Channel-Kombination haben, werden angezeigt.
Z.B. wenn nur Channel 1 gewählt ist, werden Bereiche wo Channel 1 und 2 gemalt sind, nicht angezeigt.
Die Option 'Erase Unmasked' unter den Info Layer Channels, legt fest, ob bei den gemalten Stellen die anderen Channels automatisch gelöscht werden sollen, oder ob nur die gewählten Channels hinzugefügt werden sollen.
Im Normalfall sollte man das Häkchen aktiv lassen und ist nur für spezielle Situationen zu ändern.


Top
Neuer Skistations Name
Um eigene Namen für die Ski Stationen zu definieren, muss erst eine eindeutige Bezeichnung für die Station gewählt werden. Im folgenden Beispiel wollen wir die Station Zürich hinzufügen. Dazu wählen wir "zurich" als die eindeutige Bezeichnung.
Diese Bezeichung muss beim Attribut "name" des Nodes "skiStation" im SkiResort XML angegeben werden.
    <skiStation id="1" name="zurich" ....>
        ....
    </skiStation>
Als nächstes müssen noch die Texte (Name und Beschreibung) der Station festgelegt werden welche im GUI angezeigt wird. Diese Texte müssen im "l10n" Abschnitt des modDesc.xml angegeben werden. Der Name wird mit dem l10n Text mit den Namen station_<eindeutigeBezeichnung> und die Beschreibung mit stationDescription_<eindeutigeBezeichnung> angegeben. In diesem Beispiel also "station_zurich" und "stationDescription_zurich".
    <l10n>
        .....
        <text name="station_zurich">
            <en>Zurich</en>
            <de>Zürich</de>
        </text>
        <text name="stationDescription_zurich">
            <en>This is lovely Zurich</en>
            <de>Dies ist Zürich</de>
        </text>
    </l10n>
Wenn die Bezeichung einer Station geändert wird, sollte man nicht vergessen auch die Attribute "stationAbove" und "stationBelow" der Ski Stationen welche auf die geänderte Station referenzieren anzupassen. Ebenfalls müssen möglicherweise die Attribute "startStationName" und "endStationName" der Pisten im SkiSlopes XML angepasst werden.

Als letztes muss das Icon und das Bild der Station angegeben werden. Dazu müssen die Attribute "guiIcon" und "stationImage" angegeben werden. Siehe SkiResort XML

Top
Downloads