Scripting-API-Referenz
Auf dieser Seite werden die Hauptkonzepte der API beschrieben.
Weitere Informationen finden Sie in der Dokumentation, die mit der Anwendung geliefert wurde und die unter Hilfe > Python-API-Dokumentation verfügbar ist… Führen Sie in dieser Dokumentation eine Schnellsuche nach den Modulnamen (in Klammern unten) durch, um ihre Definition leicht zu finden.
Context
Das Kontextobjekt (Context) ist der Haupteinstiegspunkt zur API . Es wird erstellt, wenn der Benutzer es zum ersten Mal abruft, indem die Methode “getContext()” aus dem Modul “sd” verwendet wird.
Mit diesem Objekt kann das Anwendungsobjekt (SDApplication) im Wesentlichen abgerufen werden.
*## Anwendung (SDApplication)Die Anwendung (SDApplication) ist das Objekt, das Zugriff auf die Haupt-API-Manager ermöglicht, z. B.: das Paket Manager (SDPackageMgr), das alle Pakete der Anwendung verwaltet;
-
das Modul Manager (SDModuleMgr), das alle Module der Anwendung verwaltet;
-
der UI Manager (SDUIMgr), der Menüs und Docks im Anwendungsfenster erstellen kann.Sie können Rückrufe bei der Anwendung registrieren, die aufgerufen wird, wenn bestimmte Ereignisse eintreten.## Package Manager (SDPackageMgr)Dieses Objekt verwaltet alle Pakete der Anwendung. Die Pakete werden in der Komponente “Explorer” angezeigt.Damit haben Sie folgende Möglichkeiten:* Erstellen eines neuen Pakets
-
Laden/Entladen eines Pakets;
-
Speichern eines Pakets;
-
ein Paket finden.## Paket (SDPackage)Ein Paket (SDPackage) ist eine Sammlung von Ressourcen (SDResource).Der Inhalt eines Pakets kann gespeichert in eine Datei mit der Erweiterung .sbs über das Objekt ‘SDPackageMgr’ sein. Mit diesem Objekt können Sie spezifische Ressourcen abrufen.Informationen zum Erstellen einer bestimmten Ressource finden Sie unter den statischen Methoden für verwandte Objekte (Beispiel: ‘SDSBSCompGraph.sNew()’).Ein Paket enthält auch ein Metadatenwörterbuch (SDMetadataDict). Weitere Informationen zu den Metadaten finden Sie hier: .## Ressource (SDR-Ressource)Eine Ressource (SDResource) ist ein Objekt, auf das von einer anderen Ressource verwiesen werden kann.Es sind mehrere Ressourcen Typen vorhanden:* Ordner (SDResourceFolder);
-
Graf (SDGraph);
-
Bitmaps (SDResourceBitmap);
-
SVG Images (SDResourceSVG);
-
Schriftarten (SDResourceFont);
-
Szenen (SDResourceScene);
-
BSDF-Messungen (SDResourceBSDFMesurement);
-
Lichtprofile (SDResourceLightProfile).Eine Ressource kann erstellt von der statischen Methode ‘sNew()’ unter dem folgenden Pfad sein:* ein Paket;
-
einem Ordner.Eine Ressource kann mehrere Eigenschaften (SDProperty) aufweisen.## UI-Manager (SDUIMgr)Mit dem UI-Manager kann Benutzeroberflächenelemente im Hauptfenster des Substance Designers erstellen, z. B. Menüs, Docks, und die Registrierung von Rückrufen kann aufgerufen werden, wenn Ereignisse im Zusammenhang mit der Benutzeroberfläche eintreten.Außerdem hat der UI-Manager Zugriff auf den aktuellen aktiven Graf und die Auswahl des aktiven Grafen.## Graf (SDGraph)Ein Graf (SDGraph) ist ein Objekt, das Folgendes enthält:* Knoten (SDNode);
-
Graf-Objekte (SDGraphObjects);
-
Eigenschaften (SDProperty).Es gibt vier verschiedene Graf-Typen:* Substance-Graf (SDSBSCompGraph)
-
Substance function Graf (SDSBSFunctionGraph)
-
Substance FXMap Graf (SDSBSFxMapGraph)Ein Graf kann einen oder mehrere Ausgabeknoten haben. Die Ausgabeknoten stellen die Ergebnisse des Diagramms dar.Alle für einen Graf verfügbaren Knoten können abgerufen mit der getNodeDefinitions()-Methode sein.Ein neuer Knoten kann erstellt mit der Methode ‘newNode()’ sein.Ein neuer Instance-Knoten kann aus einer Ressource (SDResource) mit der Methode ‘newInstanceNode()’ erstellt werden.## Knoten (SDNode)Ein Knoten (SDNode) stellt einen Vorgang dar, der für ein Objekt ausgeführt wird.Sie kann aus folgenden Quellen erstellt werden:* eine Definition (SDDefinition) (siehe "SDGraph.newNode()");
-
Ressource (SDResource) (siehe "SDGraph.newInstanceNode()").Ein Knoten kann mehrere Eigenschaften haben.Es gibt mehrere Typen von Knoten:* SDSBSCompNode: Ein Knoten des Substance-Grafen (SDSBSCompGraph);
-
SDSBSFunctionNode: Ein Knoten des Substance-Funktionsgraphen (SDSBSFunctionGraph);
-
SDSBSFxMapNode: Ein Knoten des Substance FXMap Graph (SDSBSFxMapGraph);## Graf-Objekte (SDGraphObjects)Ein Graf-Objekt (SDGraphObject) ist ein Objekt, das dem Graf zusätzliche Informationen hinzufügt, das jedoch nicht während des Graf-Evaluierungsprozesses berücksichtigt wird.Es gibt 3 Typen von Graf-Objekten:* Nadel (SDGraphObjectPin)
-
Kommentar (SDGraphObjectComment)
-
Rahmen (SDGraphObjectFrame)Weitere Informationen zum Erstellen von sNew()-Objekten finden Sie in der statischen Methode ‘sNew()’ für diese Objekte.## Eigenschaften (SDProperty)Eine Eigenschaft (SDProperty) ist ein Objekt, das eine Eigenschaft von einem anderen Objekt (Graf, Knoten, Ressource usw.) beschreibt.Sie gehört zu einer bestimmten Kategorie (SDPropertyCategory):* Eingabe: klassifiziert die Eingabeeigenschaften eines Objekts, die in der Regel Auswirkungen auf den vom aktuellen Objekt ausgeführten Vorgang haben;
- Beispiel: Die color-Eigenschaft eines Einheitliche Farbe-Knotens in einem Substance-Graf ist eine Eingabeeigenschaft.
-
Ausgabe: klassifiziert die Ausgabeeigenschaften eines Objekts. Es wird verwendet, um ein Ergebnis eines Objekts zu identifizieren.
-
Anmerkung: klassifiziert Eigenschaften, die sich nicht auf den von einem Objekt ausgeführten Vorgang auswirken;
- Beispiel: Die Bezeichnung eines Diagramms ist eine Anmerkungseigenschaft, da sie sich nicht auf die Diagrammberechnung auswirkt.Es enthält die folgenden Mitglieder:* ID: die Bezeichnung der Eigenschaft im Kontext dieser Kategorie;
-
Typen: Die von der aktuellen Eigenschaft unterstützten Typen. Einige Eigenschaften können mehrere Typen unterstützen: ‘int’, ‘float’ usw.;
- Beispiel: Die Eingabeeigenschaften eines Knotens “sbs::add” können verschiedene Typen unterstützen: 'int’, 'int2’, 'int3’, 'int4’, 'float’, 'float2’, 'float3’, 'float4’ usw.;
-
Kategorie: Die Kategorie, zu der die Eigenschaft gehört (Eingabe, Ausgabe, Anmerkung);
-
Bezeichnung: Die Bezeichnung der Eigenschaft, die für die Anzeige only verwendet wird;
-
Beschreibung: die Beschreibung der Eigenschaft;
-
Standardwert: Der Standardwert;
-
IsConnectable: Zeigt an, ob eine Verbindung (SDConnection) für diese Eigenschaft ausgeführt werden kann;
-
isReadyOnly: Gibt an, ob die Eigenschaft schreibgeschützt ist. Wenn “true”, kann der damit verknüpfte Wert nicht geändert werden.
-
isVariadic: Wenn “true”, wird diese Eigenschaft als mehrere Eigenschaften für das Objekt dargestellt.
-
isPrimary: Gibt an, ob die angegebene Eigenschaft die Prinzipal-Eigenschaft ist, die einige andere Eigenschaften steuert. Hinweis: Dies ist spezifisch für Substance Compositing Nodes (SDSBSCompNode).Beispiele:* Eigenschaften des Knotens “sbs::input”:inputEingabeAnmerkungAusgabe$outputsizeEtikettunique_filter_output (CONNECTABLE)$formatBeschreibung$pixelsizeKennzeichen$pixelratiouserdata$KachelungGruppe$randomseedvisibleFbitmapresourcepathVerwendungen* Eigenschaften des Knotens “sbs::blend”:blendEingabeAnmerkungAusgabe$outputsizeunique_filter_output (CONNECTABLE)$format$pixelsize$pixelratio$Kachelung$randomseedsource.Verbindung (CONNECTABLE)destination.Verbindung (CONNECTABLE)opacity.connector (CONNECTABLE)DeckkraftFüllmethodeFarbmischungMaskenrechteck## Typ (SDType)Ein Typ (SDType) enthält Informationen mit dem Wert type, z. B.:* ID: die Identifizierung des Typs;
-
Modifizierer: Der Typmodifizierer, der einer der SDTypeModifier’ enum-Werte sein kann:
- Auto;
- Einheitlich: Der Wert wird einmal pro Vorgang ausgewertet.
- Variieren: Der Wert wird mehrmals pro Vorgang ausgewertet (z. B.: für jedes Texel).Es sind mehrere Typen definiert, z. B.:* Enums (SDTypeEnum): beschreibt einen Enumeration-Typ mit allen zugehörigen Eigenschaften;
-
Strukturen (SDTypeStruct): beschreibt einen Typ structure mit allen zugehörigen Eigenschaften;
-
Array (SDTypeArray): beschreibt ein Array.
-
usw.Die vollständige Liste finden Sie in der Python-API-Dokumentation des Substance Designers.## Werte (SDValue)Ein Wert (SDValue) ist ein Objekt, das einen Basistyp-Wert kapselt.Beispiel:* Ein SDValueInt-Objekt kapselt einen int-Wert.
-
Ein SDValueFloat4-Objekt kapselt einen float4-Wert.
-
usw.Der Basistypwert kann in der Regel abgerufen mit der get()-Methode sein, aber dies kann von dem Typ von SDValue abhängen, der zurückgegeben wurde.## Verbindung (SDConnection)Eine Verbindung (SDConnection) stellt eine Verbindung zwischen zwei verschiedenen Eigenschaften von zwei verschiedenen Knoten dar.Es enthält:* Der Zielknoten;
-
Die Zieleigenschaft des Zielknotens;Alle Verbindungsvorgänge werden auf einem Knoten ausgeführt:* Erstellen einer neuen Verbindung, siehe ‘SDNode.newPropertyConnection()’
-
Löschen einer vorhandenen Verbindung, siehe “SDNode.deletePropertyConnection()”.
-
Abrufen der Verbindungen einer Eigenschaft, siehe “SDNode.getPropertyConnections()”## Modul (SDModul)Ein Modul ist eine Sammlung von Definitionen und Typen.Es ermöglicht das einfache Abrufen aller Informationen über die Knoten, die erstellt werden können, sowie über Enumerationen und Strukturen.Es enthält:* eine Identifizierung (ID), die im Kontext des Modulmanagers (SDModuleMgr) eindeutig ist;
-
eine Liste von Definitionen (SDDefinition);
-
eine Liste von Typen (SDType).## Definition (SDDefinition)Ein Definitionsobjekt (SDDefinition) enthält Informationen zur Definition eines bestimmten Objekts, das auf Eigenschaften basiert ('SDNode’ usw.).Es enthält:* ID: die Identifizierung der Begriffsbestimmung;
-
Bezeichnung: Bezeichnung der Definition;
-
Beschreibung: Beschreibung der Definition;
-
Eigenschaften: Die Eigenschaften aller verfügbaren Eigenschaften Kategorien (SDPropertyCategory).**