Diese Beispiele veranschaulichen einige Schlüsselkonzepte zum Schreiben von OpenUSD-Konvertern. Die Beispiele verwenden OpenUSD und das OpenUSD Exchange SDK (Dokumente, Github), um zu demonstrieren, wie konsistente und korrekte USD erstellt werden:
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
Dieses Projekt erfordert „make“ und „g++“.
Öffnen Sie ein Terminal.
Um „make“ zu erhalten, geben sudo apt install make
(Ubuntu/Debian) oder yum install make
(CentOS/RHEL) ein.
Geben Sie für „g++“ sudo apt install g++
(Ubuntu/Debian) oder yum install gcc-c++
(CentOS/RHEL) ein.
Verwenden Sie das bereitgestellte Build-Skript, um alle anderen Abhängigkeiten (z. B. USD) herunterzuladen, die Makefiles zu erstellen und den Code zu kompilieren.
./repo.sh Build
Verwenden Sie das run.sh
Skript (z. B. ./run.sh createStage
), um jedes Programm mit einer vorkonfigurierten Umgebung auszuführen.
Tipp: Wenn Sie die Umgebung lieber selbst verwalten möchten, fügen Sie
<samplesRoot>/_build/linux64-x86_64/release
zu IhremLD_LIBRARY_PATH
hinzu.
Für Hilfe zu Befehlszeilenargumenten verwenden Sie --help
./run.sh createStage --help
Verwenden Sie das python.sh
-Skript (z. B. ./python.sh source/createStage/createStage.py
), um jedes Programm mit einer vorkonfigurierten Umgebung auszuführen.
Für Hilfe zu Befehlszeilenargumenten verwenden Sie --help
./python.sh source/createStage/createStage.py --help
Für dieses Projekt ist Microsoft Visual Studio 2019 oder neuer erforderlich. Laden Sie Visual Studio mit C++ herunter und installieren Sie es.
Verwenden Sie das bereitgestellte Build-Skript, um alle Abhängigkeiten (z. B. USD) herunterzuladen, die Projekte zu erstellen und den Code zu kompilieren.
.repo.bat Build
Verwenden Sie das run.bat
-Skript (z. B. .run.bat createStage
), um jedes Programm mit einer vorkonfigurierten Umgebung auszuführen.
Für Hilfe zu Befehlszeilenargumenten verwenden Sie --help
.run.bat createStage --help
Verwenden Sie das Skript python.bat
(z. B. .python.bat sourcecreateStagecreateStage.py
), um jedes Programm mit einer vorkonfigurierten Umgebung auszuführen.
Für Hilfe zu Befehlszeilenargumenten verwenden Sie --help
.python.bat sourcecreateStagecreateStage.py --help
Um innerhalb der VS-IDE zu erstellen, öffnen Sie die Lösung im Ordner _compiler
in Visual Studio. Der C++-Beispielcode kann dann von dort aus optimiert, debuggt, neu erstellt usw. werden.
Hinweis: Wenn der Benutzer die OpenUSD Exchange-Beispiele im Ordner
%LOCALAPPDATA%
installiert, wird Visual Studio bei Änderungen nicht ordnungsgemäß „erstellt“, da bei der Übernahme von Quelländerungen ein Fehler vorliegt. Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
Rebuild
das Projekt bei jeder Quelländerung neu, anstattBuild
Kopieren Sie den OpenUSD Exchange Samples-Ordner in einen anderen Ordner außerhalb von
%LOCALAPPDATA%
Erstellen Sie eine Verknüpfung zu einem Ordner außerhalb von %LOCALAPPDATA% und öffnen Sie die Lösung von dort aus:
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
Das Samples-Repository verwendet das Repo Tools Framework ( repo_man
), um Premake-, Packman-, Build- und Laufzeitabhängigkeiten, Tests, Formatierungen und andere Tools zu konfigurieren. Packman wird als Abhängigkeitsmanager für Pakete wie OpenUSD, den Omniverse Asset Validator, das OpenUSD Exchange SDK und andere Elemente verwendet. Die Beispiele verwenden die repo_man-, premake- und packman-Tools des OpenUSD Exchange SDK als Vorlagen für die Einbindung und Verknüpfung mit OpenUSD, dem OpenUSD Exchange SDK und anderen Abhängigkeiten. Diese können als Beispiel für die Build- und Laufzeitkonfiguration dienen, die eine Kundenanwendung möglicherweise benötigt. Hier ist eine Liste interessanter Dateien:
premake5.lua – die Build-Konfigurationsdatei für die Beispiele
prebuild.toml – wird von den Repo-Build-Tools verwendet, um anzugeben, wohin Laufzeitabhängigkeiten kopiert werden sollen (über das hinaus, was repo install_usdex
bereits installiert)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
– die Premake-Build-Konfigurationsvorlagendatei des OpenUSD Exchange SDK zum Einbinden von USD, dem OpenUSD Exchange SDK selbst und anderen Bibliotheken.
Diese Datei ist erst verfügbar, wenn Abhängigkeiten abgerufen werden
Einzelheiten zur Auswahl und Installation der OpenUSD Exchange SDK-Buildvarianten, -Funktionen oder -Versionen finden Sie in der Dokumentation zum install_usdex-Tool.
Eine exemplarische Vorgehensweise zur Verwendung des OpenUSD Exchange SDK und OpenUSD in Ihrer Anwendung finden Sie in der Dokumentation „Erste Schritte“ zum OpenUSD Exchange SDK.
Die aufgeführten Beispiele konzentrieren sich auf diese Schlüsselkonzepte:
OpenUSD
USD-Kameras
USD-Anzeigenamen
USD Lichter
USD-Materialien
USD-Maschen
USD-Prim-Namen
USD-Primärwährungen
USD-Stufen
USD Xforms
Die Beispiele sollen nacheinander ausgeführt werden und bilden die USD-Stufe, die ursprünglich im Beispiel createStage
erstellt wurde. Das kann auch unabhängig ausgeführt werden und öffnet oder erstellt eine Bühne, je nachdem, ob sie vorhanden ist. Um alle Beispiele nacheinander mit einem Befehl auszuführen, geben Sie nach dem Erstellen Folgendes in die Befehlszeile ein:
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
Dadurch wird der Speicherort der von C++ und Python generierten Phasen ausgegeben, nachdem alle Beispiele nacheinander ausgeführt wurden.
Wenn die Skripts aus den Beispielen aufgrund von Problemen mit selbstsignierten Zertifikaten fehlschlagen, besteht eine mögliche Problemumgehung darin, Folgendes zu tun:
Installieren Sie python-certifi-win32, um die Verwendung des Windows-Zertifikatspeichers für TLS/SSL-Anfragen zu ermöglichen:
toolspackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
Durchsuchen Sie zunächst die bestehenden GitHub-Probleme und die OpenUSD Exchange SDK-Diskussionen, um zu sehen, ob jemand etwas Ähnliches gemeldet hat.
Wenn nicht, erstellen Sie ein neues GitHub-Problem oder Forenthema, in dem Sie Ihren Fehler oder Ihre Funktionsanfrage erläutern.
Geben Sie bei Fehlern bitte klare Schritte zur Reproduktion des Problems an, einschließlich Beispielfehlerdaten bei Bedarf.
Für Funktionen geben Sie bitte User Stories und Persona-Details an (z. B. wem diese Funktion hilft und wie sie ihnen hilft).
Unabhängig davon, ob Sie Details zu einem bestehenden Problem hinzufügen oder ein neues erstellen, teilen Sie uns bitte mit, welche Unternehmen betroffen sind.
Die Lizenz für die Beispiele befindet sich in LICENSE.md.
Lizenzhinweise Dritter für von den Beispielen verwendete Abhängigkeiten finden Sie in den OpenUSD Exchange SDK-Lizenzhinweisen.
OpenUSD-Dokumente – Erstellen Ihrer ersten USD-Stufe
OpenUSD-API-Dokumente
OpenUSD-Benutzerdokumente
NVIDIA OpenUSD-Ressourcen und -Lernen
OpenUSD-Codebeispiele
NVIDIA OpenUSD-Dokumente
NVIDIA OpenUSD Exchange SDK-Dokumente