Shader-Knoten
95 Knoten in 7 Kategorien, um Materialien aus Knoten zu bauen. Wie Sie sie einsetzen, steht unter Materialgraphen.
Ein- und Ausgänge haben einen von vier Typen: float ist eine Zahl, vec2, vec3 und vec4 enthalten zwei, drei und vier Zahlen. Ein vec3 enthält eine Farbe oder eine Richtung. Verbinden Sie Ports unterschiedlicher Größe, wird das für Sie angepasst, wo es sinnvoll ist.
const
Feste Werte, die Sie eintippen.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
constFloat | Eine feste Zahl. | — | out:float |
constVec3 | Drei feste Zahlen. | — | out:vec3 |
input
Werte als Ausgangspunkt: Texturkoordinaten (UVs), die Flächennormale, die Zeit, Texturen und welche Kopie eines Objekts gerade gezeichnet wird.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
cameraDistance | Wie weit dieses Pixel von der Kamera entfernt ist. Gut, um Dinge mit der Entfernung auszublenden. | — | out:float |
chromaKey — Chroma key | Entfernt eine Farbe, zum Beispiel um einen Greenscreen durchsichtig zu machen. | color:vec3, key:vec3, similarity:float, smoothness:float, spill:float | rgba:vec4 |
instanceColor — Instance Color | Der Farbton der Kopie, die gerade gezeichnet wird. | — | out:vec3 |
instanceId — Instance ID | Welche Kopie eines instanzierten Objekts gerade gezeichnet wird. Geben Sie den Wert in einen Hash, damit jede Kopie anders aussieht. | — | out:float |
materialRef — Material | Nutzt ein anderes Material als Ausgangspunkt. | — | out:vec3 |
normal | In welche Richtung die Oberfläche zeigt. | — | out:vec3 |
normalMap | Wendet eine Normal-Map an und fügt Oberflächendetails ohne zusätzliche Geometrie hinzu. | uv:vec2, strength:float | out:vec3 |
paramColor — Param (color) | Eine Farbe, die als Material-Einstellung erscheint. So können Sie sie ändern, ohne den Graphen zu bearbeiten. | — | out:vec3 |
paramFloat — Param (float) | Eine Zahl, die als Material-Einstellung erscheint. So können Sie sie ändern, ohne den Graphen zu bearbeiten. | — | out:float |
position | Der Punkt auf der Oberfläche, im eigenen Koordinatensystem des Objekts. | — | out:vec3 |
sampleLod — Sample Texture LOD | Liest ein Bild in einer gewählten Unschärfestufe. Ein günstiger Weg, es weicher zu machen. | uv:vec2, lod:float | rgba:vec4 |
screenUv | Wo das Pixel auf dem Bildschirm liegt, statt auf der Oberfläche. | — | out:vec2 |
texelFetch — Texel Fetch | Liest genau ein Pixel, ohne Glättung. | texel:vec2 | rgba:vec4 |
texelSize — Texture Size | Die Größe eines Texturpixels, für Effekte, die benachbarte Pixel lesen. | — | size:vec2, texel:vec2 |
texture | Liest ein Bild an den angegebenen Koordinaten. | uv:vec2 | rgba:vec4 |
time | Sekunden seit dem Start der Szene. Für alles, was sich bewegt. | — | out:float |
triplanar | Projiziert eine Textur aus drei Richtungen zugleich. So sehen auch Formen ohne Texturkoordinaten oder mit verzerrten Koordinaten richtig aus. | scale:float, blend:float | rgba:vec4 |
uv | Die Texturkoordinaten des Pixels, das gerade gezeichnet wird. Die meisten Muster beginnen hier. | — | out:vec2 |
viewDirection | Die Richtung von der Oberfläche zur Kamera. | — | out:vec3 |
worldPosition | Derselbe Punkt in Weltkoordinaten. Für Effekte, die an ihrem Platz bleiben, wenn sich ein Objekt bewegt. | — | out:vec3 |
light
Beleuchtung, die Sie selbst formen können.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
fresnel | Stärker an den Rändern, wo sich die Oberfläche abwendet. Für Randlicht, Kraftfelder oder den Glanz auf einem Auto. | power:float, normal:vec3 | out:float |
lit — Lit (scene lights) | Standardbeleuchtung, damit ein eigener Graph trotzdem zur Szene passt. | color:vec3, roughness:float, specular:float, normal:vec3 | out:vec3 |
toonLit — Toon (scene lights) | Beleuchtung in Stufen, für einen Comic-Look. | color:vec3, steps:float, normal:vec3 | out:vec3 |
math
Rechnen mit einzelnen Zahlen.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
abs | Entfernt das Minuszeichen. | x:float | out:float |
add | Addiert. | a:float, b:float | out:float |
atan2 | Der Winkel zu einem Punkt. Damit bauen Sie runde (radiale) Muster. | y:float, x:float | out:float |
ceil | Rundet auf. | x:float | out:float |
clamp | Hält einen Wert innerhalb eines Bereichs. | x:float, min:float, max:float | out:float |
cos | Kosinus. | x:float | out:float |
divide | Dividiert. | a:float, b:float | out:float |
exp | e hoch die Eingabe. | x:float | out:float |
fbm | Geschichtetes Rauschen, für Wolken, Rauch, Rost und Gelände. | uv:vec2, scale:float, octaves:float | out:float |
floor | Rundet ab. | x:float | out:float |
fract | Behält nur den Teil nach dem Komma. Der übliche Weg, ein Muster zu wiederholen. | x:float | out:float |
log | Natürlicher Logarithmus. | x:float | out:float |
max | Der größere von zwei Werten. | a:float, b:float | out:float |
min | Der kleinere von zwei Werten. | a:float, b:float | out:float |
mix | Mischt zwei Werte. | a:float, b:float, t:float | out:float |
mod | Der Rest einer Division. Ein weiterer Weg, einen Wert wieder von vorn anfangen zu lassen. | x:float, y:float | out:float |
multiply | Multipliziert. | a:float, b:float | out:float |
noise | Weiche Zufallswerte. Beginnen Sie hier für alles, was natürlich aussehen soll. | uv:vec2, scale:float | out:float |
oneMinus | Dreht einen Wert zwischen 0 und 1 um: Aus 0 wird 1 und aus 1 wird 0. | x:float | out:float |
posterize | Rastet Werte auf eine feste Zahl von Stufen ein, für einen gestuften Look. | x:float, steps:float | out:float |
pow | Potenziert. | x:float, e:float | out:float |
remap | Überträgt einen Wert von einem Bereich in einen anderen. | x:float, inMin:float, inMax:float, outMin:float, outMax:float | out:float |
round | Rundet auf die nächste ganze Zahl. | x:float | out:float |
sign | Liefert −1, 0 oder 1. | x:float | out:float |
sin | Sinus. Für Wackeln, Pulsieren und Wellen. | x:float | out:float |
smoothstep | Eine weiche Kante mit fließendem Übergang zwischen zwei Schwellenwerten. Einer der meistgenutzten Knoten. | from:float, to:float, x:float | out:float |
sqrt | Quadratwurzel. | x:float | out:float |
step | Eine harte Kante: unter dem Schwellenwert 0, darüber 1. | edge:float, x:float | out:float |
subtract | Subtrahiert. | a:float, b:float | out:float |
tan | Tangens. | x:float | out:float |
voronoi | Zellmuster, für Schuppen, rissige Erde und Buntglas. | uv:vec2, scale:float | dist:float, cell:float |
output
Wo der Graph endet: wie die Oberfläche am Ende aussieht.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
mrtOutput — Output (MRT) | Schreibt mehrere Ausgaben gleichzeitig, für fortgeschrittene Setups. | color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float | — |
output | Wo der Graph endet: das fertige Aussehen der Oberfläche. | color:vec3, alpha:float, offset:vec3 | — |
surfaceOutput — Output (surface) | Beschreibt die Oberfläche: Grundfarbe, Metallizität, Rauheit, Normale, Emission und Alpha. | baseColor:vec3, metallic:float, roughness:float, emissive:vec3, normal:vec3, alpha:float, offset:vec3, clearcoat:float, clearcoatRoughness:float, ior:float, transmission:float, thickness:float | — |
post
Knoten, die das fertige Bild lesen. Mit einem davon wird der Graph zu einem Vollbild-Effekt statt zu einem Oberflächenmaterial.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
chromaticAberration | Trennt die Farbkanäle an den Rändern, wie bei einem echten Objektiv. | uv:vec2, amount:float | out:vec3 |
contrast | Macht helle Teile heller und dunkle Teile dunkler. | color:vec3, amount:float | out:vec3 |
exposure | Macht das ganze Bild heller oder dunkler. | color:vec3, amount:float | out:vec3 |
grain | Fügt Filmkorn hinzu. | color:vec3, intensity:float | out:vec3 |
invert | Kehrt die Farben des Bildes um. | color:vec3 | out:vec3 |
saturation | Macht Farben kräftiger oder blasser. | color:vec3, amount:float | out:vec3 |
screenColor | Die Szene, wie sie bereits gezeichnet wurde. Mit diesem Knoten wird der Graph zu einem Vollbild-Effekt. | — | out:vec3 |
tint | Verschiebt das Bild in Richtung einer Farbe. | color:vec3, tint:vec3 | out:vec3 |
vignette | Dunkelt die Ränder des Bildes ab. | color:vec3, offset:float, darkness:float | out:vec3 |
vector
Vektoren und Farben bauen, zerlegen und verändern.
| Knoten | Was er tut | Eingänge | Ausgänge |
|---|---|---|---|
addVec3 | Addiert zwei Vektoren aus je drei Zahlen. | a:vec3, b:vec3 | out:vec3 |
alpha | Nimmt den Transparenzkanal heraus. | v:vec4 | out:float |
combineVec2 | Baut einen Vektor aus zwei Zahlen. | x:float, y:float | out:vec2 |
combineVec3 | Baut einen Vektor aus drei Zahlen. | r:float, g:float, b:float | out:vec3 |
combineVec4 | Baut einen Vektor aus vier Zahlen. | rgb:vec3, a:float | out:vec4 |
cross | Eine Richtung, die zu beiden im rechten Winkel steht. | a:vec3, b:vec3 | out:vec3 |
distance | Der Abstand zwischen zwei Punkten. | a:vec3, b:vec3 | out:float |
dot | Skalarprodukt: wie stark zwei Richtungen übereinstimmen. | a:vec3, b:vec3 | out:float |
equirectUv — Equirect UV | Bildet eine Richtung auf ein Panoramabild ab. | dir:vec3 | uv:vec2 |
flipbook — Flipbook | Spielt ein Raster aus Einzelbildern in einem Bild als Animation ab. | uv:vec2, frame:float, tilesX:float, tilesY:float | uv:vec2 |
gamma | Wendet eine Gammakurve an. | rgb:vec3, gamma:float | out:vec3 |
hsvToRgb | Macht aus Farbton, Sättigung und Helligkeit wieder eine Farbe. | hsv:vec3 | out:vec3 |
hueToRgb | Macht aus einem Farbton direkt eine Farbe. | h:float | out:vec3 |
length | Wie lang ein Vektor ist. | v:vec3 | out:float |
luminance | Wie hell eine Farbe für das Auge wirkt. | rgb:vec3 | out:float |
mixVec3 | Mischt zwei Vektoren aus je drei Zahlen. | a:vec3, b:vec3, t:float | out:vec3 |
multiplyVec3 | Multipliziert zwei Vektoren aus je drei Zahlen. | a:vec3, b:vec3 | out:vec3 |
normalize | Behält die Richtung und setzt die Länge auf 1. | v:vec3 | out:vec3 |
panner | Verschiebt Koordinaten mit der Zeit, für fließendes Wasser, Förderbänder oder Energiestrahlen. | uv:vec2, speed:vec2 | out:vec2 |
reflect | Lässt eine Richtung von einer Oberfläche abprallen. | v:vec3, normal:vec3 | out:vec3 |
rgb | Baut eine Farbe aus drei Zahlen. | v:vec4 | out:vec3 |
rgbToHsv | Zerlegt eine Farbe in Farbton, Sättigung und Helligkeit. Der einfache Weg, den Farbton zu verschieben. | rgb:vec3 | out:vec3 |
scaleVec2 | Multipliziert einen Vektor aus zwei Zahlen mit einer Zahl. | v:vec2, s:float | out:vec2 |
scaleVec3 | Multipliziert einen Vektor aus drei Zahlen mit einer Zahl. | v:vec3, s:float | out:vec3 |
splitVec2 | Trennt zwei Zahlen voneinander. | v:vec2 | x:float, y:float |
splitVec3 | Trennt drei Zahlen voneinander. | v:vec3 | x:float, y:float, z:float |
uvTransform | Skaliert, dreht und verschiebt Koordinaten, bevor ein Bild gelesen wird. | uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2 | out:vec2 |