Import Tool Documentation

From Valve Developer Community
Jump to navigation Jump to search
English (en)Deutsch (de)Suomi (fi)Русский (ru)Українська (uk)中文 (zh)Translate (Translate)

Import Tool Documentation

Als Teil der Workshop Tools von Counter-Strike 2, bieten wir ein Python-Skript an, das es Inhaltserstellern ermöglicht, ihre Karten und Assets zu Source 2 zu portieren. Bevor es losgeht, müssen jedoch ein paar Vorbereitungen durchgeführt werden.

Note.pngHinweis:Diese Anleitung verwies ursprünglich auf 🖿Steam\steamapps\common\counterstrike source 15\csgo, welches der interne Name für 🖿Steam\steamapps\common\Counter-Strike Global Offensive\csgo zu scheinen ist.
Alle Pfade in dieser Anleitung wurden geändert, um den Pfaden zu entsprechen, die die meisten Nutzer in ihrem Dateisystem sehen.


Vorbereitungen

Vorkompilierte Inhalte

Vorkompilierte Inhalte (wie benutzerdefinierte vmt, vtf, mdl, etc.) müssen sich im Ordner 🖿Steam\steamapps\common\Counter-Strike Global Offensive\csgo befinden. Zum Beispiel:

  • 🖿Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials
  • 🖿Steam\steamapps\common\Counter-Strike Global Offensive\csgo\models
Note.pngHinweis:Alle benutzerdefinierten und kompilierten Inhalte wie in einer BSP-Datei, müssen vor dem Import in den entsprechenden Ordner exportiert werden. Das Import-Tool benötigt ebenfalls eine VMF-Datei. Wenn Sie also nur eine BSP-Datei haben, müssen Sie sie vorher in eine VMF-Datei dekompilieren. Außerdem: Kopieren Sie keine VMF-Dateien in den oben genannten Ordner, da dies das Import-Tool durcheinanderbringt.


Source Kartendateien

Ihre Kartendateien (.vmf) können sich überall außerhalb von 🖿Counter-Strike Global Offensive befinden, solange sie in einem 🖿maps-Ordner sind. Jegliche Prefab- oder Instance-VMFs, auf die Ihre Karte verweist, müssen sich in einer von der Karte erwarteten Unterordnerstruktur befinden. Zum Beispiel:

  • 🖿c:\mymapfolder\maps\mymap.vmf
  • 🖿c:\mymapfolder\maps\prefabs\mymapprefab.vmf
  • 🖿c:\mymapfolder\maps\instances\mymapinsstance.vmf


Source Textur-Dateien

Falls Sie unkomprimierte Quelldateien für Texturen (tga, psd, etc.) haben, wird das Import-Tool versuchen, diese zu beim Importieren von Materialien zu verwenden. Andernfalls werden die VTF-Dateien konvertiert und neu komprimiert (was die Qualität beeinträchtigen kann). Damit dies klappt, stellen Sie bitte sicher, dass sich Ihre Quelldateien im gleichen Ordner wie die VTF-Dateien und im Ordner 🖿\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials befinden. Zum Beispiel:

  • 🖿C:\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials\mymaterial\mytexture.vtf
  • 🖿C:\mymapfolder\materials\mymaterial\mytexture.tga


Vorbereitungen

1. Python 2.7.14 installieren

Sie müssen Python 2.7.14 installieren, um das Import-Skript auszuführen. Link zum Herunterladen: https://www.python.org/downloads/release/python-2714


2. Umgebungsvariablen setzen

Als nächsten müssen Sie zwei Umgebungspfadvariablen setzen, sodass Windows weiß, wo sich Ihre python-Installation und andere importierte Bibliotheken im Ordner 🖿Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\bin\win64 befinden:

Drücken Sie Win+X, um das Power User Task Menü zu öffnen.

  • Wählen Sie „System“ im Power User Task Menü.
  • Scrollen Sie im System-Fenster bis zum Ende und wählen „Systeminfo“.
  • Im Fenster „System“, klicken Sie auf „Erweiterte Systemeinstellungen“ weiter unten.
  • Im Systemeeigenschaftsfenster, wählen Sie den Reiter „Eweitert“ und dann „Umgebungsvariablen“ nahe dem Ende des Fensters.
  • Wählen Sie schließlich im Fenster „Umgebungsvariablen“ (siehe Bild weiter unten) die Variable „Path“ im Abschnitt „Systemvariablen“ und klicken auf Neu….
  • Fügen Sie eine Umgebungsvariable mit dem Installationspfad von Python und dem Pfad des 🖿Counter-Strike Global Offensive\game\bin\win64 Ordners hinzu. Bitte achten Sie darauf, dass Sie die Pfade mit einem Semikolon trennen.

Zum Beispiel: 🖿C:\python27; 🖿C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\win64

  • Wiederholen Sie diesen Schritt für den Abschnitt „Benutzervariablen“.

Maps import environment variables.png

Note.pngHinweis:Um sicherzustellen, dass die Pfadvariablen wirksam werden, müssen Sie möglicherweise Ihren Computer neu starten.


3. Die Colorama-Erweiterung installieren

Als nächstes benötigen Sie eine Python-Erweiterung namens colorama. Um diese zu installieren, öffnen Sie die Eingabeaufforderung (mit der Suche nach „cmd“ im Windows Start Menü) und geben folgendes ein:

python -m pip install colorama

Maps colorama ext.png


4. Ein neues Addon mit den Workshop-Tools erstellen

Bevor Sie mit dem Import beginnen, müssen Sie ein Workshop-Tools-Addon erstellen, damit der importierte Inhalt einen gültigen Ort (Pfad) hat. Um ein neues Addon zu erstellen, öffnen Sie das Spiel mit den Workshop-Tools und klicken auf „Create New Addon“. Merken Sie sich den Namen des Addons für später.

Maps create addon.png


5. Das Import-Skript finden

Als erstes sollten Sie das python-Import-Skript suchen, welches sich in folgendem Ordner befindet: 🖿(IhrSteamInstallationsOrdner)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\import_scripts

Maps import script.png

Sobald Sie den Ordner gefunden haben, öffnen Sie dort eine Eingabeaufforderung. Geben Sie dazu einfach „cmd“ in die Andressleiste des Windows Explorers ein und drücken die Eingabetaste:

Maps open command.png

Note.pngHinweis:Es existiert auch eine experimentelle GUI namens 🖿import_map_community_gui.exe. Mehr Informationen am Ende dieses Dokuments unter „Experimentelle GUI“


6. Skript + Parameter ausführen

Nun können Sie das Skript nach folgendem Befehlsgerüst ausführen:

python import_map_community.py <s1gameinfopath> <s1contentpath> <s2gameinfopath> <s2addon> <mapname> -usebsp


Skript Befehlszeilenparameter


<s1gameinfopath> Pfad zum Ordner mit der Datei gameinfo.txt von CS:GO. Dies MUSS dem Pfad entsprechen, in dem sich die kompilierten Modelle und Materialien für CS:GO befinden, die Sie importieren möchten (z. B. .mdl oder .vmt).


<s1contentpath>
Pfad zum Ordner mit Quellinhalt (.vmf, .psd, .tga, etc.). Damit der der Import erfolgreich funktioniert und die Quelltexturdateien verwendet werden können, stellen Sie bitte sicher, dass die Dateien sich am gleichen Ort (Pfad) wie die VTF-Dateien befinden (siehe Beispiele oben).
Note.pngHinweis:Der S1-Pfad darf keine Leerzeichen enthalten.


<s2gameinfopath>
Pfad zum Ordner mit der Datei gameinfo.gi von CS2.


<s2addon>
Der Name des CS2-Workshop-Addons, welches Sie vorhin in Schritt 4 erstellt haben. Dorthin werden Ihre Assets importiert.


<mapname>
Der Kartenname (.vmf) ohne Dateinamenerweiterung, z. B. de_examplemap. Falls sich Ihre Karte in einem Unterordner des 🖿maps Ordners, den Sie bei <s1contentpath> angegeben haben befindet, hängen Sie diesen Pfad bitte an den Kartennamen an. Zum Beispiel: 🖿my_maps/de_examplemap.


-usebsp
This runs the map through a special vbsp process to generate clean map geometry from brushes, removing hidden faces and stitching up edges, making the CS2 version easier to work with in Hammer. It preserves world (vis) brushes and func_detail brushes for compatibility with Source 2. This parameter will also merge all func_instances in your map. Note that the final geometry will be triangulated, but cleaning it up is a fairly simple process, which will be explained in another guide.


-usebsp_nomergeinstances
Verwenden Sie diesen Parameter anstelle von -usebsp, falls sie sowohl sauebere Geo als auch func_instances generieren möchten. Dies dauer etwas länger, da der Import-Prozess zwei Mal durchlaufen werden muss. The final geometry will also be triangulated.


-skipdeps
Optional: überspringt alle Abhängigkeiten/Inhalte und generiert nur die VMAP-Datei(en). Dies ermöglicht einen „schnellen“ Import, zum Beispiel beim durchlaufen (Iterieren) von Entitäten. Verwenden Sie diesen Parameter nicht, wenn Sie zum ersten Mal importieren.


Beispiel:

python import_map_community.py "C:\Steam\steamapps\common\Counter-Strike Global Offensive\csgo" "C:\map_sources\" "C:\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo" de_example_cs2 de_examplemap -usebsp


7. Post Import Fixup

Nachdem Ihr Level importiert wurde, können Sie sich die Seite Post Import Fixup steps ansehen.

Experimentelle GUI

Wir haben ein benutzerfreundlicheres Import-Tool mit Benutzeroberfläche im Ordner 🖿(IhrSteamInstallationsOrdner)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\import_scripts hinzugefügt, um den Import-Prozess etwas zu vereinfachen. Die Datei heißt 🖿import_map_community_gui.exe.

Es verfügt über nützliche Tooltips, einfach verwendbare Importoptionen und speichert Ihre Einstellungen zwischen verschiedenen Sitzungen. Sie müssen allerdings weiterhin die Vorbereitungen der Schritte 1–4 durchführen. Wir haben ebenfalls das offene python-Skript zur Verfügung gestellt, um der Community die Möglichkeit zu geben, es je nach Anwendungsfall entsprechend anzupassen.

Maps import.png

Fehlerbehebung

Wenn Sie eine nicht standardmäßige Skybox verwenden, wird beim Import möglicherweise die folgende Fehlermeldung angezeigt. Ändern Sie Ihre Skybox zu sky_dust und versuchen Sie es erneut.

FAILED: vpk:C:\Program Files (x86)\steam\steamapps\common\counter-strike global offensive\csgo\pak01.vpk:materials\skybox\sky_csgo_night_flatrt.vmt


Der folgende Fehler weißt darauf hin, dass der Parameter <s1contentpath> Leerzeichen enthält.

Prepping bsp for S2 import! Command line "./bin/vbsp.exe" "-game" "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo" "-prepfors2" "c:\my" "project/content/map.vmf

[Zu erledigen] Die Texte bei Skript Befehlszeilenparameter > -usebsp und -usebsp_nomergeinstances sollten noch übersetzt werden.