Verwenden der Set-/Sequenzknoten

Auf dieser Seite werden die Knoten “Set” und “Sequence” beschrieben und ein Anwendungsbeispiel im Kontext von “FX-Maps” bereitgestellt.

Überblick

Bei der Arbeit mit Funktionen in FX-Maps befinden Sie sich gelegentlich in Situationen, in denen Sie einen Wert aus dem Substance-Funktionsdiagramm eines Parameters ausgeben möchten, sodass Sie ihn in einem anderen Funktionsdiagramm verwenden können. Standardmäßig gibt ein Substance-Funktionsdiagramm jedoch nur den Wert one aus: der, der den zugehörigen Parameter steuert.

Set- und Sequenzknoten

In diesem Fall können Sie die Kombination aus Set und Sequence-Knoten verwenden, mit der Sie Variablen über eine einzelne oder mehrere Funktionen hinweg steuern können.

Dieser Vorgang umfasst zwei Schritte:

  1. Mit dem Knoten Set können Sie eine neue Variable erstellen, sodass Sie sie an einer anderen Stelle aufrufen und ihr einen Wert zuweisen können.
  2. Der Knoten Sequenz wird verwendet, um die Logik in Schritt 1 vollständig auszuführen, bevor ein weiterer Zweig des Diagramms ausgeführt wird - z. B. die Logik, die tatsächlich an der Ausgabe des erwarteten Werts für das aktuelle Diagramm beteiligt ist.

Der Knoten “Festlegen”

Mit dem Knoten Set können Sie eine neue Variable festlegen und ihr den Typ und den Wert zuweisen, der mit dem Eingang ** des Knotens verbunden ist.

Der Name der Variable wird vom Benutzer in die Eigenschaften des Knotens eingegeben.

Standardmäßig ist die von diesem Knoten festgelegte Variable only, auf die im Rahmen des übergeordneten dieses Funktionsdiagramms zugegriffen werden kann, z. B. der Substance, der den von der Funktion definierten Parameter hostet.

Knoten festlegen
In diesem Beispiel wurde der Variablenname auf “myVariable” festgelegt und sein Wert ist “1”.
Knotenbeispiel festlegen

Der Sequenzknoten

Der Knoten Sequenz gibt Ihnen die Kontrolle über den Ausführungsfluss der Substance-Funktionsdiagramme, indem Sie sicherstellen, dass die erste Verzweigung vollständig vor der zweiten Verzweigung ausgeführt wird.

Die Ausgabe der zweiten Verzweigung wird dann an die Ausgabe des Knotens übergeben.

Sequenzknoten

In diesem Beispiel wird der Knoten Sequenz als Ausgabe des Diagramms festgelegt. Die Ausgabe der Funktion ist somit der vom Knoten Float ausgegebene Wert 0.5.

Zuvor wird jedoch die Variable “<b>myVariable</b>” mit dem Gleitkommawert “1.0” festgelegt. Diese Variable kann dann an einer anderen Stelle im Kontext des Knotens verwendet werden.

Beispiel für Sequenzknoten

Sequenz-Knoten können verkettet sein, um den Ausführungsfluss des Diagramms zu steuern.

Sie können beispielsweise zuerst eine Variable festlegen, ihren Wert zu einem späteren Zeitpunkt aktualisieren und dann ihren endgültigen Wert lesen, während Sie sicherstellen, dass diese Aktionen in einer bestimmten Reihenfolge ausgeführt werden.

Sequenzknoten verkettet

Variable Sichtbarkeit

Beachten Sie, dass auf eine deklarierte Variable von überall aus nicht zugegriffen werden kann!
Während auf eine auf übergeordneter Ebene deklarierte Variable auf untergeordneten Ebenen zugegriffen werden kann, ist das Gegenteil nicht true.

Daher sind im Knoten festgelegte Variablen auf Diagrammebene nicht verfügbar, während auf auf der Diagrammebene festgelegte Variablen in den Parameterfunktionen des Knotens zugegriffen werden kann.

Diese Regel ist zum Beispiel der Kern des Verfügbarmachens eines Parameters, zum Verfügbarmachen umfasst tatsächlich die folgenden Schritte:

  1. Erstellen eines Diagrammeingabeparameters
  2. Zugriff auf den Parameter im Substance-Funktionsdiagramm
  3. Festlegen des Werts als Ausgabe der Funktion

Lassen Sie uns ein kleines Beispiel anführen: Stellen Sie sich vor, dass der Wert Drehung eines Quadranten-Knotens durch den Wert Farbe/Luminanz beeinflusst werden soll: Je heller die Luminanz, desto stärker die Drehung.

Wir werden die gesamte Berechnung in der Parameterfunktion Farbe/Luminanz durchführen. Dieser Parameter wird zuerst berechnet. Daher stehen alle darin festgelegten Variablen den anderen Knotenparametern zur Verfügung.
Quadranteneigenschaften

Unsere Aufgabe wird einfach sein: Wenn die Luminanz ein zufälliger Wert zwischen 0 und 1 ist, wird dieser Wert in der myRotation-Variablen gespeichert, dann legen wir den Wert als Ausgabe der Funktion fest.

Dies bedeutet, dass der Wert des Parameters Farbe/Luminanz zufällig ist und in der Variablen myRotation gespeichert wird.

Beachten Sie, dass die Position-Eigenschaft bereits durch einen Zufallswert definiert ist und ein Iterate-Knoten verwendet wird, um mehrere zufällig platzierte Muster abzurufen.

Funktion für Farbe/Luminanz des Quadranten

Verstreute Muster

Nachdem die Variable “myRotation” vorhanden ist und einen Wert aufweist, können wir jetzt auf das Funktionsdiagramm der Eigenschaft “Pattern Rotation” für die Substance zugreifen.
Menü für die Parameterfunktion der Musterrotation
In der Funktion wird der Wert des myRotation-Parameters mithilfe eines Get Float-Knotens gelesen - wir wissen, dass die Variable einen Float-Wert enthält - und als Ausgabe der Funktion festgelegt.
Gleitende Ausgabe der Musterrotation abrufen

Die Luminanz steuert jetzt auch die Drehung.

Gedrehte Muster

recommendation-more-help
substance-3d-designer-help-guide