Dieses Repository ist eine Sammlung einfacher USD-Projekte. Jedes Projekt zeigt ein einzelnes Feature oder eine Gruppe von USD-Features.
Dieses Repository ist in sechs Kategorien unterteilt
Funktionen heben eine einzelne Klasse oder einen Satz von Funktionen für die Arbeit in USD hervor.
Konzepte übernehmen die in „Funktionen“ erläuterten Funktionen und erweitern sie auf Beispiele aus der Praxis.
Tricks sind einfache, isolierte Ideen, die USD-Funktionen nutzen.
Plugins zeigen, wie Sie USD an Ihre Pipeline anpassen können.
Tools sind verschiedene Skripte, die für die Ausführung einer bestimmten Aufgabe mit USD erstellt wurden.
Referenzen sind nützliche Seiten, auf denen Sie weitere Informationen über USD und den Umgang damit in Ihren Projekten finden.
Jedes Projekt in diesem Repository zeigt, wie man, wo immer möglich, in Python, C++ und USDA arbeitet.
Wenn ein Konzeptordner versucht, eine USD-Funktion zu präsentieren, dafür aber viel Code benötigt wird, dient die Datei README.md der obersten Ebene dazu, die wichtigen Teile zusammenzufassen. Es kann auch auf andere Ressourcen verweisen, wo Sie mehr lesen können.
Schließlich können Quellcodedateien Erläuterungen zu den angezeigten Inhalten enthalten. Jede dieser Zeilen ist mit XXX
gekennzeichnet.
Sofern ein C++-Projekt keine spezifischen Anweisungen hat, wird jedes Projekt mit den folgenden Befehlen kompiliert und ausgeführt:
cd {some_concept_cpp_folder}/build
USD_INSTALL_ROOT=/wherever/you/installed/USD/to cmake ..
make
./run_it
USD_INSTALL_ROOT
ist unter Linux normalerweise standardmäßig /usr/local/USD
Ihr Standort kann jedoch variieren. Weitere Informationen finden Sie in der Build-Dokumentation von USD.
Python-Module können immer mit python name_of_module.py
ausgeführt werden
Hier finden Sie Links zu einer empfohlenen Anzeigereihenfolge für jedes Projekt in diesem Repository.
Kommentare zu USD-Dateien hinzufügen
SetKind auf UsdPrim
ist auf Kompositionsbogen spezialisiert
Verwendung von Prim AssetInfo
Definieren anpassbarer Benutzereigenschaften
Ziele bearbeiten
Caching der Wertauflösung
Berechnen von Begrenzungsrahmen mithilfe von UsdGeomImageable und UsdGeomBBoxCache
Pixars Spezialbeispiel
Verwendung von „Zwecken“ für UsdPrim-Objekte
UsdResolveInfo – Finden Sie heraus, woher Meinungen kommen
Aktivieren Sie Debug-Meldungen und schreiben Sie Ihre eigenen
Profilierung von USD-Stufen
So verwenden Sie Value Clips
Zeitvariable Attribute mit Sdf festlegen
SdfChangeBlock – Effizientes USD-Authoring
SdfBatchNamespaceEdit und SdfNamespaceEdit – Effizientes USD-Authoring
UsdStageCache – Zwischenspeicherung von USD-Stufen
TfNotice – Führen Sie mithilfe von Rückrufen Funktionen aus, wenn sich eine Phase ändert
TfNotice – Senden Sie Ihre eigenen benutzerdefinierten Rückrufe
Gültige Modellhierarchien
VariantSets verstehen
Überschreiben von VariantSets
So vereinheitlichen Sie ein instanziertes UsdPrim
UsdRelationship-Weiterleitung
Verwendung von VariantSets in einem Produktionsszenario
Ein praktisches Beispiel für den Kompositionsbogen „spezialisiert“.
Der „spezialisierte“ Kompositionsbogen dient als Fallback-Mechanismus
Verweisen Sie auf ein Prim im aktuellen SdfLayer
So finden Sie „verwaiste“ Overs
Ein Netz mit einem Material
Asset-Zusammensetzungsbögen – wie Unterschichten, Referenzen und Nutzlasten zusammenarbeiten
Drucken und Ändern von Prims mit der C++-STL
Benutzerdefinierte Durchquerungen mit Boost
Durchlaufen instanziierter Prims
Automatische Variantenauswahl – Verwenden von VariantSets zum Ändern anderer VariantSets
Kopieren Sie Meinungen von einem VariantSet auf ein anderes Prim
Finden Sie die Quelle eines Attributs
Finden Sie das gebundene Material eines Prims (einschließlich Sammlungs-API)
Exportieren in 2 Durchgängen – Exportieren Sie USD-Stufen 100x schneller
Reduzieren Sie einen USD-Ebenenstapel
Verwenden Sie schwächere Schichten, um stärkere Schichten zu modifizieren
Mehrere Nutzlasten – Ja, Sie können mehr als eine haben
Prims über VariantSets bekommen
usdview_auto_reloader – Ebenen in usdview automatisch aktualisieren
usdview_root_loader – Prim-Nutzlasten rekursiv laden/entladen
usdview_zweck_swap – Wechseln Sie zwischen Proxy- und Renderzwecken mit einer einzigen Schaltfläche
usdview_copy_camera – Erstellen Sie ein Prim in usdview, um die aktuelle Ansicht darzustellen
VariantSet-Fallback-Auswahlen
Exportrichtlinien für die VariantSet-Auswahl
Hinzufügen benutzerdefinierter Metadaten
Benutzerdefinierte USD-Schemata
Ein benutzerdefiniertes ArResolver-Plugin
usd_searcher – Ein Befehlszeilentool zum Durchsuchen von USD-Dateien
UsdSkel von Grund auf exportieren
ExtentsHint und Begrenzungsrahmen
Verknüpfen Sie die Python-Dokumentation mit der USD-Dokumentation
usdview verstehen
Das USD-unterstützte Plugin-Mastersheet
Wo Sie weitere Ressourcen finden
Für dieses Repository gibt es auch ein Anki-Deck, das Sie hier herunterladen können
Auf dieser Wiki-Seite finden Sie eine Liste der geplanten Themen, die in Zukunft hinzugefügt werden.
Dieses Repository ist ein ständiger WIP. Wenn es etwas gibt, worüber Sie gerne geschrieben sehen würden, schlagen Sie es bitte als Problem vor, damit ich/andere es aufgreifen und daran arbeiten können. Wenn Sie außerdem etwas beitragen möchten, machen Sie bitte eine PR. Einsendungen sind willkommen!
Aber beachten Sie: Dieses Repository zeigt möglicherweise nicht die beste Möglichkeit, Dinge in USD zu erledigen. Es ist lediglich eine Sammlung (meiner) persönlichen Erkenntnisse. Da Pixar außerdem neue USD-Veröffentlichungen und Lernressourcen herausbringt, können diese Informationen veraltet sein. Bevorzugen Sie immer primäre Leitfäden und Dokumentationen gegenüber allem, was Sie hier sehen.
Getestet mit: