Der Caldera-Datensatz ist eine OpenUSD-Szene, die den Großteil der Geometrie enthält, die in der gleichnamigen Karte von Call of Duty®: Warzone™ zu finden ist. Hierbei handelt es sich nicht um die tatsächlichen Produktionsdaten, sondern um eine Konvertierung von Teilen davon in das Open-Source-USD-Dateiformat.
Die enthaltenen Daten sind größtenteils diejenigen, die sich leicht als Geometrie darstellen lassen. Dazu gehört die darstellbare Geometrie, aber auch einige alternative, normalerweise unsichtbare Darstellungen, die in anderen Berechnungen verwendet werden. Beispielsweise integrieren wir Volumen zur Unterstützung der Beleuchtungsberechnungen oder einfache Formen zur Kollisionserkennung. Ausgenommen sind viele Einzelpunkt-Entitäten wie der Ort zum Spawnen von Charakteren oder komplizierte skriptbasierte Modelle. Wir haben uns außerdem entschieden, keine Texturen und Materialien in diese Version aufzunehmen. Dies würde einer bereits umfangreichen Szene Komplexität und Größe verleihen. Unser Fokus liegt mehr auf den vielen Beziehungen zwischen räumlichen Elementen, die in diesem Set entdeckt werden können, als auf dem Streben nach einer genauen visuellen Darstellung.
Wir hoffen, dass diese Datensatzveröffentlichung die akademische Forschung in Bereichen rund um die Konstruktion und Analyse der Umweltgeometrie ankurbeln wird, für die es bisher keine Replikat-Produktionsdaten in diesem Umfang und Maßstab gab. Im Bereich der Bildgenerierung wurde viel geforscht und es gibt neue Arbeiten zur geometrischen Generierung, aber normalerweise handelt es sich dabei um den Rahmen eines einzelnen Assets und nicht um eine große, miteinander verbundene Szene mit komplizierter Zuordnung und anderen, oft impliziten Semantiken Beziehungen. Darüber hinaus besteht zwar ein gewisses Interesse an der Generierung von Umgebungsräumen, z. B. zur Verwendung beim Rendern statischer Katalogszenen, es wurde jedoch nicht so viel Arbeit in die Bearbeitung und Aktualisierung dieser Umgebungen investiert, sobald sie erstellt wurden. Verbesserungen in diesem Bereich könnten es Künstlern und Inhaltserstellern, die an Spielen arbeiten, ermöglichen, sich mehr auf die kreative Arbeit zu konzentrieren, ihre Ideen zum Leben zu erwecken, und weniger auf die mechanischen Vorgänge sich wiederholt bewegender Instanzen, die Neuausrichtung benachbarter ruhender Objekte, das manuelle Platzieren von Knoten zur Gameplay-Unterstützung usw bald.
Dieser Datensatz wird gemäß den Bedingungen der Activision-Lizenzvereinbarung für nichtkommerzielle Nutzung veröffentlicht. Weitere Informationen finden Sie unter LICENSE.md.
Die ursprüngliche Caldera-Karte wurde hauptsächlich vom Team von Raven Software mit Hilfe von Beenox, High Moon Studios und den breiteren Call of Duty-Teams von Activision erstellt.
Die Veröffentlichung des Caldera-Datensatzes wird von Koen Vroeijenstijn, Mathew Varghese, Xav de Matos, Senwhaa Lim, Michael Vance und Natasha Tatarchuk unterstützt.
Vielen Dank an die Mitarbeiter und Lehrkräfte von Pixar, NVIDIA, SideFX und Stanford für die frühzeitige Rückmeldung zum Datensatz.
Bitte nutzen Sie den zugehörigen Issues-Tracker, um eine Anfrage zu stellen.
Aufwärtsachse: Z
Einheiten: Zoll
Der relevante Teil der Szene erstreckt sich über etwa 2 x 2 Meilen und enthält etwa 17,5 Millionen Grundelemente mit insgesamt über 2 Milliarden Punkten.
Hier sind einige schnelle Schritte, um mit der Untersuchung der Daten zu beginnen. Diese Schritte werden in USDView angezeigt, sollten sich aber auf andere Tools übertragen lassen.
Führen Sie in dem Verzeichnis, in dem Sie das Repository geklont oder das Release-Archiv extrahiert haben, Folgendes aus:
usdview caldera.usda
Dieser Ausgangspunkt sollte fast sofort geladen werden, da er standardmäßig eine sehr kompakte Darstellung der Szene lädt. Daraufhin sollte ein USDView-Fenster ähnlich dem folgenden angezeigt werden:
Die grauen Kästchen in der Mitte sind Teil der Szenenanmerkungen und werden beim Rendern der Karte nicht verwendet. Verstecken wir sie. In USDView erfolgt dies durch Umschalten der „Guide“-Anzeigezwecke im Ansichtsmenü „Anzeige“, „Anzeigezwecke“:
Jetzt sollten Sie die gesamte Szene als Proxys und eine Sammlung von Punkten dargestellt sehen. Wir werden später auf diese Punkte zurückkommen und zunächst die Geometrie untersuchen. Suchen wir einen Abschnitt und laden eine detailliertere Darstellung. Um den Blickwinkel zu ändern, navigieren Sie mit der Alt-Taste und den Maustasten durch die Ansicht. Die USD-Szene definiert auch mehrere Kameras, um einen besseren Überblick zu erhalten. Schauen Sie sich zunächst /cameras/map_capital_square
an. Wählen Sie im Menü der Ansicht „Kamera“, „Kamera auswählen“ und „map_capital_square“. Dies sollte Ihnen eine sehr grobe Version der Geometrie im Abschnitt „Hauptstadt“ zeigen.
Als nächstes wählen Sie in der Gliederungsansicht ein „Primitiv“ aus. Primitive sind einfach Knoten, die durch einen Pfad angesprochen werden. Wählen Sie das Prim /world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/map_capital
aus. Sie können dies tun, indem Sie den Baum durchsuchen, um diesen Pfad zu finden , oder fügen Sie den vollständigen Pfad oben in die Adressleiste ein.
Wenn Sie sich den Metadatenbereich von USDView ansehen und dieses Prim ausgewählt ist, sehen Sie ein Variantenfeld „District LOD“. Hier können Sie auswählen, wie dieser Teil der Szene dargestellt wird. Derzeit ist dies auf „Proxy“ eingestellt, eine grobe Polygonsuppe, die wir als Proxy erstellt haben. Fahren Sie fort und stellen Sie das auf „voll“:
Dies wird eine Weile dauern, da die gesamte Geometrie in diesem Zweig des Szenendiagramms geladen und das Polysuppen-Grundelement durch die reale Geometrie und alle Grundelemente ersetzt wird, die die Szene darstellen. Wenn Sie etwas herauszoomen, werden Sie feststellen, dass der Boden (die violette Geometrie) immer noch ziemlich rau ist. Das Gelände wird in einem anderen Teil der Szene definiert.
Um das Gelände zu laden, wählen Sie:
/world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/st_main/st_o
Und wählen Sie auch hier „vollständig“ für die LOD-Variante:
Dadurch wird zur höchsten Darstellung des Geländes gesprungen. Dazu gehört auch die Unordnung (alle kleinen Gegenstände wie Gras, die auf dem Gelände platziert werden und durch eine Punktinstanz dargestellt werden). Wenn die kleinen Details wie Gras und Bäume an dieser Stelle nicht angezeigt werden, liegt das möglicherweise daran, dass der Renderzweck verborgen ist. Die Unordnung ist mit diesem Zweck gekennzeichnet, damit sie leichter ausgeblendet werden kann, wenn sie das Rendern der Szene zu stark verlangsamt. Um sie anzuzeigen, stellen Sie sicher, dass die Optionen „Anzeige“, „Zweck“ und „Rendern“ aktiviert sind.
Wir haben jetzt alle verfügbaren Details für diesen Kartenabschnitt geladen. Im Datensatz ist auch eine Python-Datei ( caldera.py
) enthalten, die ein Beispiel dafür enthält, wie mehrere dieser Dinge in einem Skript ausgeführt werden. So wurde die Datei caldera.usd aus map_source/mp_wz_island.usd
generiert. Um die Daten einfach über Python zu überprüfen, können Sie die OpenUsd-Python-Bindungen über Pip installieren.
Kehren wir zu den Punktdaten zurück, die wir zuvor gesehen haben. Zusätzlich zur Szenengeometrie haben wir zwei Arten von Spielerdaten einbezogen. Diese werden beim Laden der Caldera USD-Datei als Punktwolken dargestellt. Lassen Sie uns die Szenengeometrie ausblenden, um diese einfacher erkunden zu können. Reduzieren Sie in der Gliederung den Baum, bis nur noch die Spieler, Kameras und Weltgrundelemente sichtbar sind. Schalten Sie nun die Sichtbarkeit des Weltzweigs um. Dadurch wird die gesamte Geometrie ausgeblendet und nur die Punkte bleiben übrig.
Der erste Datensatz, der Leben unter /players/endpoints/points_0
untersucht. Dieses Grundelement enthält eine Million Punkte, die den Ort darstellen, an dem Spieler ein Spiel beendet haben. Die Punkte speichern eine Position, aber auch eine Farbe und ein Zeitattribut. Das Beispiel caldera.py
zeigt, wie man programmgesteuert auf diese zugreift.
Das Zeitattribut wurde aus den tatsächlichen Spielen erfasst und stellt die Zeit vom Beginn des Spiels bis zum Ende des Spiels für jeden Spieler dar (der Wert variiert je nach Punkt).
Die Farbe wird durch Nachbearbeitung generiert und dient als Beispiel dafür, wie Sie diese Daten visualisieren können. Die Farbe stellt die Dichte der Punktwolke dar, wobei Rot für Bereiche steht, in denen viele Spieler das Spiel beendet haben, und Blau für dünner besiedelte Orte.
Es gibt eine weitere Punktwolke im Satz unter dem Breadcrumbs-Grundelement. Sie können die Endpunkte ausblenden, es wird jedoch immer noch nichts angezeigt. Die Breadcrumbs speichern zeitlich variierende Samples und eines der animierten Attribute ist die Opazität. Sie sind alle vollständig transparent, solange der Spieler noch nicht im Spiel gespawnt ist. Sie können Punkte anzeigen, indem Sie die Zeitleiste am unteren Rand des Fensters scrollen. Die kleinen Kugeln sind im Schattierungsmodus Punkte besser zu erkennen:
Jede Kugel ist ein einzelner Spieler in einem einzigen Spiel. Die Position dieses Spielers während des Spiels wird etwa alle zwei Sekunden abgetastet und im Positionsattribut gespeichert. Die Farbe stammt wiederum aus einem Nachbearbeitungsprozess, wobei Blau die Spieler am Anfang ihres Spiels darstellt und Rot bedeutet, dass sie kurz vor dem Ende des Spiels stehen. Dies wird auch im Attribut „Leben“ gespeichert, das den Anfang bis zum Ende als Zahl von Null bis Eins darstellt. Negative Werte bedeuten, dass der Spieler noch nicht im Spiel ist, und Werte über eins bedeuten auch, dass der Spieler nicht mehr im Spiel ist . Nicht in der Veröffentlichung enthalten, aber zur Veranschaulichung angezeigt. Sie können die Punkte verbinden, um die Spielerpfade anzuzeigen. Hier alle Spieler eines einzelnen Spiels:
Eine weitere Möglichkeit, die unmittelbare Belastung des Systems beim Laden der Karte zu reduzieren, besteht darin, die „Payloads“ nicht zu laden. Wir haben viele der teuren Blattknoten als Nutzlast markiert und dabei genügend Geometrie übrig gelassen, um eine anständige Darstellung zu ermöglichen. Zum Beispiel:
usdview –unloaded map_source/mp_wz_island.usd
Bitte beachten Sie, dass dies immer noch deutlich länger dauert als die zuvor beschriebene Methode. Vergessen Sie nicht, die Schattierung wieder auf etwas anderes als die Punkte zu ändern:
Eine dritte Möglichkeit, die Komplexität zu bewältigen, besteht darin, einen Unterabschnitt der Karte zu laden. Insgesamt besteht dieser Satz aus vielen tausend USD-Dateien.
Ein Gebäude auf der Karte, dessen Erkundung auf eigene Faust Spaß macht, ist das Hotel. Sie können nur diesen Teil der Karte laden, indem Sie mit Folgendem beginnen:
usdview map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
Das gesamte Gelände befindet sich in einem separaten Zweig des Baums. Bei vielen anderen Fertighäusern ist das Laden eines Teilabschnitts des Geländes erforderlich, um ein vollständiges Bild zu erhalten. Standardmäßig lädt caldera.usda
eine vereinfachte Version des Geländes für die gesamte Karte. Alle Kinder unter dem Prim „st_main“ verfügen über einen Variantensatz namens „district_lod“, um zwischen der einfachen und vollständigen Darstellung zu wechseln. Die Unordnung (kleine Gegenstände, die über das Gelände verstreut sind) hat ihren „Zweck“ zum Rendern und kann daher mit einer globalen Einstellung ein- und ausgeschaltet werden.
Das gesamte Gelände ist über diese Szene zugänglich:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/st_main.usd
Die folgenden Bilder zeigen Beispiele der einfachen Darstellung und der vollständigen Darstellung, die das Clutter als Instanzpunktwolke zeigt.
Das Gelände selbst ist in Abschnitte unterteilt. Das Laden eines einzelnen Abschnitts erleichtert die Erkundung, zum Beispiel:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/season_4/st_e.terrain.usd
Dies sind einige unterhaltsame Ausgangspunkte, um mehr von Caldera zu erkunden.
map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
map_source/prefabs/br/wz_vg/mp_wz_island/commercial/restaurant_01.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_capital.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_airfield.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_phosphate_mine.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_beachhead.usd
map_source/prefabs/br/wz_vg/mp_wz_island/map_tile_n/power_station_01.usd
Copyright © 2024 Activision Publishing, Inc.