Freigeben über


Berechnungsknoten

Im Shader-Designer dienen mathematische Knoten zum Ausführen von algebraischen, logischen, trigonometrischen und anderen mathematischen Operationen.

Hinweis

Wenn Sie mit mathematischen Knoten im Shader-Designer arbeiten, ist die Typerweiterung besonders auffällig.Informationen dazu, wie sich die Typerweiterung auf Eingabeparameter auswirkt, finden Sie im Abschnitt "Erweiterung von Eingaben" in Shader-Designer-Knoten.

Übersicht über mathematische Knoten

Knoten

Details

Eigenschaften

Abs

Berechnet den absoluten Wert der Eingabe pro Komponente.

Für jede Komponente der Eingabe X werden negative Werte in positive umgewandelt, sodass alle Komponenten des Ergebnisses einen positiven Wert aufweisen.

Eingabe:

X: float, float2, float3 oder float4

Die Werte, für die der absolute Wert bestimmt werden soll.

Output:

Output: entspricht der Eingabe X

Der absolute Wert pro Komponente.

Kein

Hinzufügen

Berechnet die komponentenbezogene Summe der Eingaben pro Komponente.

Für jede Komponente des Ergebnisses werden die entsprechenden Komponenten der Eingabe X und Eingabe Y zusammenaddiert.

Eingabe:

X: float, float2, float3 oder float4

Einer der zu addierenden Werte.

Y: entspricht der Eingabe X

Einer der zu addierenden Werte.

Ausgabe:

Output: entspricht der Eingabe X

Die Summe pro Komponente.

Kein

Verschalen

Wendet ein Rundungsverfahren ("immer aufrunden") auf die Eingabe pro Komponente an.

Der Wert, auf den aufgerundet wird, ist die kleinste ganze Zahl, die größer als oder gleich dem Wert ist.

Eingabe:

X: float, float2, float3 oder float4

Die Wert, der gerundet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der gerundete Wert pro Komponente.

Kein

Clamp

Bindet jede Komponente der Eingabe an einen vordefinierten Bereich.

Für jede Komponente des Ergebnisses werden Werte unterhalb des definierten Bereichs dem Mindestwert im Bereich angepasst, Werte oberhalb des definierten Bereichs dem Höchstwert im Bereich angepasst und Werte innerhalb des Bereichs nicht geändert.

Eingabe:

X: float, float2, float3 oder float4

Die zu bindenden Werte.

Ausgabe:

Output: entspricht der Eingabe X

Der gebundene Wert pro Komponente.

Max

Der größtmögliche Wert im Bereich.

Min

Der kleinstmögliche Wert im Bereich.

Cos

Berechnet den Kosinus der Eingabe pro Komponente in Bogenmaß.

Für jede Komponente des Ergebnisses wird der Kosinus der entsprechenden Komponente berechnet, der im Bogenmaß bereitgestellt wird. Das Ergebnis enthält Komponenten, die über Werte im Bereich von [-1, 1] verfügen.

Eingabe:

X: float, float2, float3 oder float4

Die Werte in Bogenmaß, von denen der Kosinus berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Kosinus pro Komponente.

Kein

Kreuz

Berechnet das Kreuzprodukt der Drei-Komponenten-Vektoren.

Mit dem Kreuzprodukt können Sie die Normale einer Oberfläche berechnen, die durch zwei Vektoren definiert wird.

Eingabe:

X: float3

Der Vektor auf der linken Seite des Kreuzprodukts.

Y: float3

Der Vektor auf der rechten Seite des Kreuzprodukts.

Ausgabe:

Output: float3

Das Kreuzprodukt.

Kein

Abstand

Berechnet den Abstand zwischen den angegebenen Punkten.

Das Ergebnis ist ein positiver Skalarwert.

Eingabe:

X: float, float2, float3 oder float4

Einer der Punkte, deren Abstand ermittelt werden soll.

Y: entspricht der Eingabe X

Einer der Punkte, deren Abstand ermittelt werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Abstand.

Kein

Teilen

Berechnet den komponentenbezogenen Quotienten der Eingaben.

Für jede Komponente des Ergebnisses wird die entsprechende Komponente der Eingabe X durch die entsprechende Komponente der Eingabe Y geteilt.

Eingabe:

X: float, float2, float3 oder float4

Der zu teilende Wert.

Y: entspricht der Eingabe X

Die Teiler.

Ausgabe:

Output: entspricht der Eingabe X

Der Quotient pro Komponente.

Kein

Skalarprodukt

Berechnet das Skalarprodukt der angegebenen Vektoren.

Das Ergebnis ist ein Skalarwert. Mit dem Skalarprodukt können Sie den Winkel zwischen zwei Vektoren bestimmen.

Eingabe:

X: float, float2, float3 oder float4

Einer der Ausdrücke.

Y: entspricht der Eingabe X

Einer der Ausdrücke.

Ausgabe:

Output: float

Das Skalarprodukt.

Kein

Boden

Wendet ein Rundungsverfahren ("immer abrunden") auf die Eingabe pro Komponente an.

Für jede Komponente des Ergebnisses ist der zugehörige Wert der größte ganzzahlige Wert, der kleiner oder gleich der entsprechenden Komponente der Eingabe ist. Jede Komponente des Ergebnisses ist eine Ganzzahl.

Eingabe:

X: float, float2, float3 oder float4

Die Wert, der gerundet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der gerundete Wert pro Komponente.

Kein

Fmod

Berechnet den komponentenbezogenen Betrag (Rest) der Eingaben.

Für jede Komponente des Ergebnisses wird das ganzzahlige Vielfache m der entsprechenden Komponente der Eingabe Y von der entsprechenden Komponente der Eingabe X subtrahiert, wodurch ein Rest entsteht. Das Vielfache m wird so gewählt, dass der Rest kleiner als die entsprechende Komponente der Eingabe Y ist und das gleiche Vorzeichen aufweist wie die entsprechende Komponente der Eingabe X. Beispiel: fmod(-3.14, 1.5) ist -0.14.

Eingabe:

X: float, float2, float3 oder float4

Der zu teilende Wert.

Y: entspricht der Eingabe X

Die Teiler.

Ausgabe:

Output: entspricht der Eingabe X

Der Betrag pro Komponente.

Kein

Frac

Entfernt den ganzzahligen Teil der Eingabe pro Komponente.

Für jede Komponente des Ergebnisses wird der ganzzahlige Teil der entsprechenden Komponente der Eingabe entfernt, der Bruchteil und das Vorzeichen werden jedoch beibehalten. Dieser Bruchteil fällt in den Bereich [0, 1]. Beispielsweise wird der Wert -3,14 zu -0,14.

Eingabe:

X: float, float2, float3 oder float4

Die Werte, für die der Bruchteil berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Bruchteil pro Komponente.

Kein

Lerp

Lineare Interpolation Berechnet den komponentenbezogenen gewichteten Durchschnitt der Eingaben.

Für jede Komponente des Ergebnisses der gewichtete Durchschnitt der entsprechenden Komponenten der Eingaben X und Y. Die Gewichtung wird durch den Skalarwert Percent bereitgestellt und einheitlich auf alle Komponenten angewendet. Damit können Sie zwischen Punkten, Farben, Attributen und anderen Werten interpolieren.

Eingabe:

X: float, float2, float3 oder float4

Der ursprüngliche Wert. Wenn Percent null ist, ist das Ergebnis gleich dieser Eingabe.

Y: entspricht der Eingabe X

Der Endwert. Wenn Percent eins ist, ist das Ergebnis gleich dieser Eingabe.

Percent: float

Eine skalare Gewichtung, die als Prozentsatz des Abstands zwischen Eingabe X und Eingabe Y ausgedrückt wird.

Ausgabe:

Output: entspricht der Eingabe X

Ein Wert, der kollinear mit den Eingaben ist.

Kein

Multiplizieren Addieren

Berechnet die komponentenbezogene Multiplikations-Addition der Eingaben.

Für jede Komponente des Ergebnisses wird das Produkt der entsprechenden Komponenten der Eingaben M und A mit der entsprechenden Komponente der Eingabe B addiert. Diese Operationssequenz kommt in allgemeinen Formeln vor, z. B. in der Punktsteigungsformel einer Linie und in der Formel zum Skalieren und anschließenden Verzerren einer Eingabe.

Eingabe:

M: float, float2, float3 oder float4

Einer der miteinander zu multiplizierenden Werte.

A: entspricht der Eingabe M

Einer der miteinander zu multiplizierenden Werte.

B: entspricht der Eingabe M

Die Werte, die mit dem Produkt der beiden anderen Werte addiert werden sollen.

Ausgabe:

Output: entspricht der Eingabe M

Das Ergebnis der Multiplikations-Addition pro Komponente.

Kein

Max

Berechnet das komponentenbezogene Maximum der Eingaben.

Für jede Komponente des Ergebnisses wird die größere der entsprechenden Komponenten der Eingaben übernommen.

Eingabe:

X: float, float2, float3 oder float4

Einer der Werte, für den das Maximum berechnet werden soll.

Y: entspricht der Eingabe X

Einer der Werte, für den das Maximum berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Maximalwert pro Komponente.

Kein

Min

Berechnet das komponentenbezogene Minimum der Eingaben.

Für jede Komponente des Ergebnisses wird die kleinere der entsprechenden Komponenten der Eingaben übernommen.

Eingabe:

X: float, float2, float3 oder float4

Einer der Werte, für den das Minimum berechnet werden soll.

Y: entspricht der Eingabe X

Einer der Werte, für den das Minimum berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Minimalwert pro Komponente.

Kein

Multiplizieren

Berechnet das komponentenbezogene Produkt der Eingaben.

Für jede Komponente des Ergebnisses werden die entsprechenden Komponenten der Eingaben X und Y miteinander multipliziert.

Eingabe:

X: float, float2, float3 oder float4

Einer der miteinander zu multiplizierenden Werte.

Y: entspricht der Eingabe X

Einer der miteinander zu multiplizierenden Werte.

Ausgabe:

Output: entspricht der Eingabe X

Das Produkt pro Komponente.

Kein

Normalisieren

Normalisiert den angegebenen Vektor.

Ein normalisierter Vektor behält die Richtung des ursprünglichen Vektors bei, jedoch nicht seine Größe. Mit normalisierten Vektoren können Sie Berechnungen vereinfachen, bei denen die Größe eines Vektors nicht von Bedeutung ist.

Eingabe:

X: float2, float3 oder float4

Der zu normalisierende Vektor.

Ausgabe:

Output: entspricht der Eingabe X

Der normalisierte Vektor.

Kein

Eins Minus

Berechnet die Differenz zwischen 1 und der Eingabe pro Komponente.

Für jede Komponente des Ergebnisses wird die entsprechende Komponente der Eingabe von 1 subtrahiert.

Eingabe:

X: float, float2, float3 oder float4

Die Werte, die von 1 subtrahiert werden sollen.

Ausgabe:

Output: entspricht der Eingabe X

Die Differenz zwischen 1 und der Eingabe pro Komponente.

Kein

Potenz

Berechnet die komponentenbezogene Potenzierung der Eingaben.

Für jede Komponente des Ergebnisses wird die entsprechende Komponente der Eingabe X mit der entsprechenden Komponente der Eingabe Y potenziert.

Eingabe:

X: float, float2, float3 oder float4

Die Basiswerte

Y: entspricht der Eingabe X

Die Exponentenwerte.

Ausgabe:

Output: entspricht der Eingabe X

Der Potenzierung pro Komponente.

Kein

Sättigen

Bindet jede Komponente der Eingabe an den Bereich [0, 1].

Mit diesem Bereich können Sie die Prozentsätze und andere relative Messwerte in Berechnungen repräsentieren. Für jede Komponente des Ergebnisses werden die entsprechenden Komponentenwerte der Eingabe unter 0 auf 0 festgelegt, Werte über 1 auf 1 festgelegt und Werte innerhalb des Bereichs nicht geändert.

Eingabe:

X: float, float2, float3 oder float4

Die zu sättigenden Werte.

Ausgabe:

Output: entspricht der Eingabe X

Der gesättigte Wert pro Komponente.

Kein

Sin

Berechnet den Sinus der Eingabe pro Komponente in Bogenmaß.

Für jede Komponente des Ergebnisses wird der Sinus der entsprechenden Komponente berechnet, der im Bogenmaß bereitgestellt wird. Das Ergebnis enthält Komponenten mit Werten im Bereich [-1, 1].

Eingabe:

X: float, float2, float3 oder float4

Die Werte, von denen der Sinus in Bogenmaß berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Der Sinus pro Komponente.

Kein

Wurzel

Berechnet die Quadratwurzel der Eingabe pro Komponente.

Für jede Komponente des Ergebnisses wird die Quadratwurzel der entsprechenden Komponente berechnet.

Eingabe:

X: float, float2, float3 oder float4

Die Werte, für die die Quadratwurzel berechnet werden soll.

Ausgabe:

Output: entspricht der Eingabe X

Die Quadratwurzel pro Komponente.

Kein

Subtrahieren

Berechnet die komponentenbezogene Differenz der Eingaben.

Für jede Komponente des Ergebnisses wird die entsprechende Komponente der Eingabe Y von der entsprechende Komponente der Eingabe X subtrahiert. Damit können Sie den Vektor berechnen, der sich von der ersten Eingabe zur zweiten erstreckt.

Eingabe:

X: float, float2, float3 oder float4

Die Werte, von denen subtrahiert werden soll.

Y: entspricht der Eingabe X

Die Werte, die von der Eingabe X subtrahiert werden sollen.

Ausgabe:

Output: entspricht der Eingabe X

Die Differenz pro Komponente.

Kein

3D-Vektor transformieren

Transformiert den angegebenen 3D-Vektor in einen anderen Raum.

Damit können Sie Punkte oder Vektoren in einen gemeinsamen Raum platzieren, sodass Sie sie zum Durchführen aussagekräftiger Berechnungen verwenden können.

Eingabe:

Vector: float3

Der zu transformierende Vektor.

Ausgabe:

Output: float3

Der transformierte Vektor.

Ursprungssystem

Der ursprüngliche Raum des Vektors.

Zielsystem

Der Raum, in den der Vektor transformiert werden soll.