Welche Technologie verwendet Starcraft 2, um seine Karten zu rendern?

9

Ich habe eine Karte, die zur Laufzeit prozedural generiert wird, und ich untersuche derzeit Methoden zum Rendern dieser Karte. Ich habe mich für das Aussehen von Starcraft 2 interessiert und möchte einige Ratschläge dazu erhalten, welche Methoden es verwendet, um dies zu erreichen. Zweitens möchte ich nach Möglichkeit Tutorials, Artikel oder sogar Quellcodebeispiele sehen.

Es gibt ein paar wichtige Dinge, zu denen ich gerne einen Rat einholen möchte, aber Sie können auch gerne etwas anderes vorschlagen, das mir helfen könnte.

  1. Schnappbare Kachelsätze - Eine typische Starcraft-Karte scheint aus einem Kachelsatz von Modellen zu bestehen, die zusammengeschnappt werden können, um Klippen, Rampen und anderes erhöhtes Gelände zu schaffen. Mit welchen Methoden sehen sie so natürlich aus? Was ich meine ist, es ist sehr schwer, Wiederholungen zu erkennen.

  2. Geländetexturen - Die Geländetexturen sind so vielfältig und sogar dynamisch (Zerg-Kriechen). Welche Methoden werden dazu verwendet?

Vielen Dank.

S.Richmond
quelle
In Bezug auf # 2 recherchieren Sie "Textur-Splatting".
George Duckett

Antworten:

23

Ich denke, ein Teil davon könnte sein, dass Blizzard eine erstaunliche Anzahl von Texturkünstlern hat. Aber lassen Sie uns die Frage etwas umformulieren:

Ich habe ein begrenztes Budget und möchte ein Echtzeit-Strategiespiel erstellen, ohne offensichtlich Texturen zu kacheln. Wie kann ich das erreichen?

Gute Frage! Hier sind einige große Tools, die ich verwenden würde:

1) Ein ziemlich großer Satz austauschbarer Fliesen . Angenommen, Sie haben eine Texturgröße von 64 x 64 in Ihrem Raster: Erstellen Sie acht 64 x 64-Texturen, von denen jede mit jeder anderen kacheln kann, und Sie haben ein gut aussehendes Spiel auf Kachelbasis mit vielen Variationen!

2) Abziehbilder oder Megatexturierung . Nehmen Sie Ihre wiederholte Textur und eine kleine Anzahl von "Wisch" - oder "Schmutz" - oder "Abrieb" -Overlay-Texturen. Spritzen Sie einige dieser Überlagerungen auf Ihre Texturen. Diese können in Echtzeit gerendert werden. In diesem Fall handelt es sich um Abziehbilder, oder sie können zu einer gigantischen Textur gebacken werden. In diesem Fall wird dies als Megatexturierung bezeichnet. In beiden Fällen können Sie dies wahrscheinlich halb zufällig tun, und Sie erhalten eine große Variation mit nur wenigen angewendeten Überlagerungen.

3) Zikadenfliesen . Schauen Sie sich diese für weitere Einzelheiten über , wie das funktioniert. Zusammenfassend ist es eine Möglichkeit, eine kleine Anzahl von teilweise transparenten, offensichtlich kachelnden Hintergründen zu verwenden, um einen weitaus weniger offensichtlich kachelnden Hintergrund zu generieren.

4) Textur-Splatting . Ich habe dieses zum letzten Mal gespeichert, weil es nicht wirklich darum geht, das Kacheln einer einzelnen Textur zu vermeiden, sondern wirklich darum, mehrere Texturen nahtlos zu kombinieren. Wenn Sie es jedoch schaffen, ein paar zusätzliche Texturen in Ihrem Budget herauszuholen, kann dies ein kritisches Werkzeug sein. Wenn Sie dies nicht verwenden, machen Sie wahrscheinlich etwas falsch. Dies hilft nicht bei großen, offensichtlich gekachelten Abschnitten eines einzelnen Texturtyps, aber dies ist das, was Sie verwenden, um Ihre verschiedenen Texturen nebeneinander gut aussehen zu lassen.

ZorbaTHut
quelle
Für Interessenten verwendet Starcraft 1 die Nummer 1 in dieser Liste und Starcraft 2 die Nummer 4. In beiden Fällen gilt dies für das Grundgelände. Was 'Doodads' in SC1 angeht, waren sie die Nummer 2 (Abziehbilder, keine Megatexturen) und in SC2 sind sie alle 3D-Modelle. - Abgesehen davon sehen SC2-Karten so gut aus, dass die meisten Standorte zwei Texturen aufweisen, die in unterschiedlichem Maße übereinander verteilt sind, weshalb dies eher wie die Zikadenkacheln aussieht. (von denen ich bis jetzt nichts wusste und die ich verwenden wollte.)
DampeS8N
@ DampeS8N: Eigentlich macht SC1 nicht die Nummer 1 an sich. Stattdessen haben sie eine kleine Palette von Kacheln, die miteinander kacheln, sowie bestimmte Kacheln, die nur mit bestimmten anderen Kacheln kacheln. Der Karteneditor verfügt über eine Tabelle mit den Kacheln und den Kacheln. Wenn Sie also Kacheln platzieren, die nicht mit den Kacheln in der Nähe kacheln, durchläuft er die Tabellen und ersetzt diese Kacheln durch die Kacheln mit den von Ihnen platzierten Kacheln. Rekursiv.
Nicol Bolas
@NicolBolas Technisch wahr, aber die Philosophie der Untergebenen besteht aus zusammengeklebten austauschbaren Fliesen. In ähnlicher Weise haben meine Freunde und ich immer gesehen, wie viele Kachelflips wir im SC1-Editor als Kettenreaktion verursachen können.
DampeS8N