Freigeben über


Hilfsprogrammknoten

Im Shader-Designer stellen Hilfsprogrammknoten allgemeine, nützliche Shaderberechnungen dar, die sich nicht eindeutig den anderen Kategorien zuordnen lassen. Einige Hilfsprogrammknoten führen einfache Operationen durch, z. B. Anfügen von Vektoren oder bedingte Auswahl von Ergebnissen, während andere komplexe Vorgänge ausführen, z. B. Lichteinwirkungen entsprechend den gängigen Beleuchtungsmodellen berechnen.

Hilfsprogrammknotenverweis

Knoten

Details

Eigenschaften

Vektor anfügen

Erstellt einen Vektor, indem die angegebenen Eingaben zusammen angefügt werden.

Eingabe:

Vector: float, float2 oder float3

Die Werte, an die er angefügt wird.

Value to Append: float

Der anzufügende Wert.

Ausgabe:

Output: float2, float3 oder float4 je nach Art der Eingabe Vector

Der neue Vektor.

Kein

Fresnel

Berechnet den Fresnel-Verlauf auf der Grundlage des angegebenen Oberflächennormals.

Der Wert des Fresnel-Verlaufs drückt aus, wie exakt der Oberflächennormal des aktuellen Pixels mit dem Ansichtsvektor zusammenfällt. Wenn die Vektoren ausgerichtet sind, ist das Ergebnis der Funktion 0. Das Ergebnis erhöht sich, wenn die Vektoren weniger ähnlich werden, und erreicht sein Maximum, wenn die Vektoren orthogonal sind. Sie können dies nutzen, um einen Effekt zu erzielen, der mehr oder weniger sichtbar ist, je nach Beziehung zwischen der Ausrichtung des aktuellen Pixels und der Kamera.

Eingabe:

Surface Normal: float3

Das Oberflächennormal des aktuellen Pixels, definiert im Tangentialraum des aktuellen Pixels. Sie können dieses verwenden, um das sichtbare Oberflächennormal, wie in der normalen Zuordnung, zu beeinträchtigen.

Ausgabe:

Output: float

Das Reflexionsvermögen des aktuellen Pixels.

Exponent

Der Exponent zum Berechnen des Fresnel-Verlaufs.

If

Wählt bedingt eines der drei möglichen Ergebnisse pro Komponente aus. Die Bedingung wird durch die Beziehung zwischen zwei anderen angegebenen Eingaben definiert.

Für jede Komponente des Ergebnisses wird die entsprechende Komponente eines der drei möglichen Ergebnisse ausgewählt, je nach Beziehung zwischen den entsprechenden Komponenten der ersten beiden Eingaben.

Eingabe:

X: float, float2, float3 oder float4

Der zu vergleichende Wert auf der linken Seite.

Y: gleiche Art wie Eingabe X

Der zu vergleichende Wert auf der rechten Seite.

X > Y: gleiche Art wie Eingabe X

Die Werte, die ausgewählt werden, wenn X größer als Y ist.

X = Y: gleiche Art wie Eingabe X

Die Werte, die ausgewählt werden, wenn X gleich Y ist.

X < Y: gleiche Art wie Eingabe X

Die Werte, die ausgewählt werden, wenn X kleiner als Y ist.

Ausgabe:

Output: float3

Das ausgewählte Ergebnis pro Komponente.

Kein

Lambert

Berechnet die Farbe des aktuellen Pixels entsprechend dem Lambert-Beleuchtungsmodell unter Verwendung des angegebenen Oberflächennormals.

Diese Farbe ergibt sich aus der Summe von Umgebungslicht und diffuser Beleuchtungseinwirkungen unter direkter Beleuchtung. Das Umgebungslicht entspricht ungefähr der Gesamteinwirkung von indirekter Beleuchtung, sieht jedoch ohne die Hilfe zusätzlicher Beleuchtung flach und matt aus. Diffuse Beleuchtung kann einem Objekt zusätzliche Form und Tiefe geben.

Eingabe:

Surface Normal: float3

Das Oberflächennormal des aktuellen Pixels, definiert im Tangentialraum des aktuellen Pixels. Sie können dieses verwenden, um das sichtbare Oberflächennormal, wie in der normalen Zuordnung, zu beeinträchtigen.

Diffuse Color: float3

Die diffuse Farbe des aktuellen Pixels, in der Regel die Punktfarbe. Wenn keine Eingabe erfolgt, ist der Standardwert weiß.

Ausgabe:

Output: float3

Die diffuse Farbe des aktuellen Pixels.

Kein

Maskierungsvektor

Maskiert Komponenten des angegebenen Vektors.

Damit können Sie bestimmte Farbkanäle aus einem Farbwert entfernen oder verhindern, dass sich bestimmte Komponenten auf nachfolgenden Berechnungen auswirken.

Eingabe:

Vector: float4

Der zu maskierende Vektor.

Ausgabe:

Output: float4

Der maskierte Vektor.

Rot / X

Falsch zum Ausblenden der Rot-(X-)Komponente, andernfalls Wahr.

Grün / Y

Falsch zum Ausblenden der Grün-(Y-)Komponente, andernfalls Wahr.

Blau / Z

Falsch zum Ausblenden der Blau-(Z-)Komponente, andernfalls Wahr.

Alpha / W

Falsch zum Ausblenden der Alpha-(W-)Komponente, andernfalls Wahr.

Reflektionsvektor

Berechnet den Reflektionsvektor für den aktuellen Pixel im Tangentialraum basierend auf der Kameraposition.

Damit können Sie Reflektionen, Cubemap-Koordinaten und Glanzlichteinwirkungen berechnen.

Eingabe:

Tangent Space Surface Normal: float3

Das Oberflächennormal des aktuellen Pixels, definiert im Tangentialraum des aktuellen Pixels. Sie können dieses verwenden, um das sichtbare Oberflächennormal, wie in der normalen Zuordnung, zu beeinträchtigen.

Ausgabe:

Output: float3

Der Reflektionsvektor.

Kein

Glänzend

Berechnet die Glanzlichteinwirkung entsprechend dem Phong-Beleuchtungsmodell, unter Verwendung des angegebenen Oberflächennormals.

Glanzlicht gibt einem Objekt eine leuchtende, spiegelnde Erscheinung, z. B. Wasser, Kunststoff oder Metalle.

Eingabe:

Surface Normal: float3

Das Oberflächennormal des aktuellen Pixels, definiert im Tangentialraum des aktuellen Pixels. Sie können dieses verwenden, um das sichtbare Oberflächennormal, wie in der normalen Zuordnung, zu beeinträchtigen.

Ausgabe:

Output: float3

Die Farbeinwirkung von Glanzlichtern.

Kein