Jan 30, 2014
Cristian St. Aubyn, Senior Technical Artist
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_01.jpg]
Hallo, ich bin Cristian St. Aubyn, Senior Technical Artist im Maxis-Studio in Emeryville. Ich bin für die Erstellung der Grafikelemente verantwortlich. Wir haben vor Kurzem unsere Modding-Richtlinien veröffentlicht. Hier könnt ihr sie noch einmal nachlesen. Das Modding spielt eine große Rolle in der Philosophie unseres Studios. Wir sind schon gespannt darauf, was ihr alles zustandebringt.
Ich freue mich, heute den ersten Beitrag einer Reihe unter dem Motto Der Werkzeugkasten der Entwickler liefern zu dürfen. Diese Serie an Beiträgen soll euch helfen, die Intentionen und Prozesse nachzuvollziehen, die hinter der Erstellung der Spielinhalte für SimCity stecken. Wir hoffen, euch dadurch wichtige Einblicke und Erkenntnisse geben zu können, um euch die Erstellung und den Aufbau von Mods zu erleichtern.
In diesem ersten Blog möchte ich euch die Prinzipien zur Erstellung von Gebäuden in SimCity etwas näherbringen. Es handelt sich hierbei um ein komplexes System. Daher will ich mit einer grundlegenden Beschreibung der Gebäudegeometrie beginnen, um später auf die diffizileren Themen einzugehen. Für alle, die es interessiert: Wir verwenden zur Erstellung fast all unserer Spielmodelle Maya in Verbindung mit einer Reihe eigener selbst entwickelter Tools.
SimCity ist ein Spiel, das dem Baukastenprinzip folgt. Die Städte können aus einer unvorhersehbaren Kombination an Gebäuden, Straßen usw. bestehen. Anders als bei den "Levels" in eher linear aufgebauten Spielen haben wir keine direkte Kontrolle über die Art und Menge der geometrischen Formen, die zu verschiedenen Zeitpunkten gerendert werden müssen.
Die Engine des Spiels muss unabhängig von der Stadt, die ein Spieler willkürlich erstellt, reibungslos funktionieren. Um dem gerecht zu werden, werden für die Spielfläche unterschiedliche Obergrenzen definiert "“ in diesem Fall mithilfe von Polygonwerten, die auf dem zweidimensionalen Raum beruhen, den eine Einheit in Anspruch nimmt.
So verfügen kleinere Gebäude über niedrigere Polygonwerte als größere. Solange alle Gebäude innerhalb dieser Vorgaben bleiben, lässt sich die gesamte Fläche von einer Stadtgrenze bis zur anderen mit einer beliebigen Kombination an Gebäuden füllen, ohne den Rahmen der Rendering-Engine zu sprengen.
Hier ist eine Reihe von Screenshots, auf denen ihr seht, wie sich die vielfältige Gebäudegeometrie darstellt.
Dieses Bild zeigt eines der kleinsten Gebäude im Spiel, die Shotgun-Hütte. Sie verfügt über die niedrigsten Polygonwerte aller Gebäude. Aufgrund ihrer kleinen Grundfläche stellt sie jedoch eine potenzielle Gefahr für die Leistung der Engine dar. Eine solche Hütte ist für sich genommen keine allzu komplizierte Sache. Allerdings können diese Gebäude sehr nah nebeneinander platziert werden. Würde eine Stadt von einem Stadtrand bis zum anderen komplett mit solchen Hütten gefüllt, hätten wir am Ende eine Menge Polygone.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_02.jpg]
" Shotgun-Hütte"
Hier ist ein Bürokomplex, ein Beispiel für ein unverhältnismäßig größeres und detailreicheres Gebäude. Solche Bauwerke benötigen weitaus mehr Raum. Sie verfügen deshalb auch über höhere Polygonwerte.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_03.jpg]
" Bürokomplex"
Aufgrund der gleichförmigen Struktur der mittleren Etagen konnten wir uns bei der Ausarbeitung der geometrischen Details stärker auf die Basis und den oberen Teil des Gebäudes konzentrieren. Diese beiden Bereiche fallen auch den Spielern am stärksten ins Auge.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_04.jpg]
" Basisetagen des Bürokomplexes" Street Level
Wie ihr sehen könnt, wurden an der Gebäudebasis Polygone verwendet, um auf den ersten Etagen die architektonischen Details herauszuarbeiten. Das hat uns dabei geholfen, ein charakteristisches Modell zu erschaffen, das sich deutlich von den anderen Türmen der Stadt unterscheidet. Außerdem wirkt der Komplex auch von der Straße aus betrachtet interessanter, wenn der Spieler einmal per Zoom in die Stadt eingetaucht ist.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_05.jpg]
" Dachetagen des Bürokomplexes" Roof
Für die Dachetagen und die Turmspitze haben wir ebenfalls eine beträchtliche Menge an Polygonen verwendet. Es war uns wichtig, dass das Gebäude auch aus der Vogelperspektive klar zu erkennen ist.
Die Gruppe der "mittelgroßen Gebäude" ist von den Ausmaßen her ziemlich breit gefächert. Auf jeden Fall brauchen sie aber auf der Stadtkarte mehr Platz und entsprechend mehr Polygone als kleine Gebäude. Beim Modellieren eines solchen Gebäudes gilt es, die Polygone dort einzusetzen, wo sie dem Gebäude eine möglichst charakteristische Detailtiefe verleihen.
Beim unten dargestellten Kohlebergwerk haben wir uns etwa für einen industriellen skelettartigen Aufbau entschieden. Die Modellierung so vieler Kreuzstreben würde normalerweise den Polygonrahmen eines so kleinen Gebäudes sprengen. Hier ist es allerdings so, dass das relativ kleine Gebäude auf einem Bauplatz mittlerer Größe steht, also über eine im Vergleich zur Gebäudegröße großzügige Grundstücksfläche verfügt.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_06.jpg]
" Kohlebergwerk"
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_07.jpg]
" Details des Kohlebergwerks" Detail
Detailtreue
Bei Vergrößerung müssen die Modelle detailreicher dargestellt werden. Bei der Betrachtung aus der Ferne hingegen reicht ein einfacherer Aufbau.
Die Technik, für sämtliche Modelle unterschiedliche virtuelle Detailstufen zu verwenden, ist bei der Konzeption von Spiel-Engines weit verbreitet. Der Einsatz dieser LODs (Levels of Detail) steigert drastisch die Systemleistung. Die Methode kann helfen, das Aliasing und sonstige Darstellungsprobleme zu minimieren.
Die Gebäude in SimCity umfassen vier verschiedene LODs, die von grob bis fein reichen. Die Spiel-Engine wählt auf Basis der Entfernung zwischen Modell und Kamera automatisch die richtige Detailstufe aus.
LOD-0 entspricht der höchsten Auflösung, während von LOD-1 über LOD-2 bis LOD-3 die Detailtreue um jeweils 50 Prozent abnimmt.
Hier seht ihr die Darstellung eines Hauses der oberen Einkommensschicht mit niedriger Dichte auf allen vier Detailstufen.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_08.jpg]
Modernes Haus (LOD-0)
Die Version mit den höchsten Polygonwerten. In diesem Fall ist die Polygonzahl knapp bemessen, weshalb die Unterschiede zwischen LOD-0 und LOD-1 geringer ausfallen.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_09.jpg]
Modernes Haus (LOD-1)
Dekorative Details wie etwa das Balkongeländer sowie die Verkleidungen der Metallvorbauten fallen weg.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_10.jpg]
Modernes Haus (LOD-2)
Hier haben wir die Komplexität weiter stark reduziert, ohne jedoch die grundsätzliche Form des Gebäudes zu verändern. Die gewölbten Formen sind weniger differenziert, während kleinteiligere Bauteile wie etwa die Dachkanten und die dekorativen Querbalken weggelassen wurden.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_11.jpg]
Modernes Haus (LOD-3)
Dieses LOD verwendet die Engine, wenn die Kamera weit vom Modell entfernt ist und das Gebäude auf dem Bildschirm nur klein dargestellt wird. In dieser Ansicht wurden so viele Polygone wie möglich eingespart. Übrig bleiben nur die Formen, die für den flüssigen Übergang von LOD-2 auf LOD-3 notwendig sind.
Maßstab
Eine Maya-Einheit entspricht technisch gesehen einem Meter unserer Spiel-Engine. Allerdings sind die Spielinhalte nicht alle maßstabsgetreu. In der Regel sind kleine Elemente übertrieben groß dargestellt, während sehr große Objekte auf der Anzeige schrumpfen. Ein kleines Beispiel zur Veranschaulichung: Hier rechts seht ihr ein Haus im Vergleich mit einem dreistöckigen Gebäude und dem 381 Meter hohen Empire State Building in New York. Bei maßstabsgetreuer Darstellung wären im Spiel neben einem modernen Wolkenkratzer weder die kleinen Gebäude noch die Autos oder Fußgänger noch wirklich sichtbar.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_12.jpg]
Die beste Ausgangsbasis für ein neues Gebäude in SimCity sind bereits bestehende Modelle, die sich größenmäßig gut ins Spiel einfügen.
Mehr zu den Polygonwerten
Wie zuvor bereits erwähnt, basieren die Polygon-Obergrenzen auf der Fläche, die ein Gebäude für sich beansprucht. Grundlage ist also die Grundstücksgröße des Gebäudes, und nicht etwa das Modell selbst. Mit anderen Worten: Was zählt, ist die Fläche, nicht das Volumen. Deshalb verfügt ein höheres Gebäude nicht zwangsläufig über mehr Polygone. Glücklicherweise nehmen die meisten hohen Gebäude aber auch große Grundflächen in Anspruch. Deshalb sind sie im Vergleich zu kleineren Gebäuden mit mehr Polygonen ausgestattet.
Zugewiesene Polygone: 0,5 Dreiecke pro Quadratmeter (bei LOD-0)
Das bedeutet im Falle der Shotgun-Hütten, die auf 16 x 32 Meter großen Grundstücken stehen:
- 16 m x 32 m = 512 m2
- 512 m2 x 0,5 Dreiecke/m2 = 256 Dreiecke
- LOD-0: 256 x 100 Prozent = 256 Dreiecke
- LOD-1: 256 x 50 Prozent = 128 Dreiecke
- LOD-2: 256 x 25 Prozent = 64 Dreiecke
- LOD-3: 256 x 12,5 Prozent = 32 Dreiecke
Das heißt: Auf LOD-3 wäre die Shotgun-Hütte auf maximal 32 Dreiecke begrenzt. 32 Dreiecke sind nicht viel. Doch auf der Anzeigestufe LOD-3 ist das Gebäude auch ziemlich weit entfernt.
Our buildings fall into two categories:
"RCI Buildings": The residential, commercial, and industrial buildings that appear automatically in zoned areas
"Placed Buildings": The player placed buildings such as fire stations, power plants, tourist attractions, etc.
Unsere Gebäude lassen sich in zwei Gruppen einteilen: Die Wohn-, Gewerbe- und Industriegebäude entstehen automatisch in den ausgewiesenen Gebieten. Die Versatzstücke stellt der Spieler selbst auf. Hierzu gehören Feuerwachen, Kraftwerke, Touristenattraktionen, etc.
Bei den Versatzstücken haben wir auf großzügigere Polygongrenzen geachtet. Das hat zweierlei Gründe. Zum einen wollten wir, dass diese Gebäude interessanter wirken. Schließlich handelt es sich dabei um besondere Spielinhalte. Zweitens kommen diese Bauwerke nur in begrenzter Zahl vor. Beispielsweise ist es nicht möglich, die gesamte Spielfläche mit Rathäusern zu füllen.
Bei der Erstellung eigener Gebäude könnt ihr natürlich vom Beispiel unserer Polygonvorgaben abweichen. Behaltet aber immer auch die Leistungsprobleme im Hinterkopf. Wenn sich eine Stadt mit Gebäuden füllt, die hohe Polygonwerte aufweisen, beeinträchtigt dies nicht nur die Bildfrequenz. Auch der Arbeitsspeicher kann darunter leiden. Auf Geräten mit niedrigeren Spezifikationen kann sich das zum richtigen Problem auswachsen.
Ich hoffe, ihr habt jetzt eine grundlegende Vorstellung davon, wie ihr die Gebäude so gestalten könnt, dass sie innerhalb der Polygongrenzen bleiben. Nächstes Mal will ich euch etwas mehr über den Gebäude-Shader verraten, den wir verwenden. Hier ist schon einmal ein kleiner Vorgeschmack darauf, wie ein Gebäude-Shader unter anderem für Detailreichtum, Tiefe und Farbenvielfalt sorgt.
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_13.jpg]
Aufbau ohne Shader
[Blockierte Grafik: http://eaassets-a.akamaihd.net…ld/image/HTW_Blog1_14.jpg]
Dasselbe Modell im Spiel mit aktivem Shader
Über diesen Link gelangt ihr zu unserer deutschen Mod Community.
Bis zum nächsten Mal,
Euer Christian
Quelle: Blog Article
HartzIV: denke das könnte Dich interessieren