Shader-Node-Referenz
95 Nodes in 7 Kategorien, um Materialien als Graphen zu bauen. Wie man sie einsetzt: Material-Graphen.
Die Port-Typen sind float, vec2, vec3 und vec4. Ein vec3 trägt eine Farbe oder eine Richtung; unterschiedliche Breiten zu verbinden wird für Sie geregelt, wo es sinnvoll ist.
const
Feste Werte, die Sie eintippen.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
constFloat | Eine feste Zahl. | — | out:float |
constVec3 | Ein festes Tripel. | — | out:vec3 |
input
Woher Werte kommen: UV, Oberflächennormale, Zeit, Texturen, gezeichnete Instanz.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
cameraDistance | Wie weit dieses Pixel von der Kamera entfernt ist. Praktisch, um mit der Entfernung auszublenden. | — | out:float |
chromaKey — Chroma key | Entfernt eine Farbe und macht einen Greenscreen durchsichtig. | color:vec3, key:vec3, similarity:float, smoothness:float, spill:float | rgba:vec4 |
instanceColor — Instance Color | Der Farbton, den diese Kopie trägt. | — | out:vec3 |
instanceId — Instance ID | Welche Kopie eines instanzierten Objekts gerade gezeichnet wird — durch einen Hash geschickt, macht das jede Kopie anders. | — | out:float |
materialRef — Material | Holt ein anderes Material als Ausgangspunkt. | — | out:vec3 |
normal | In welche Richtung die Oberfläche zeigt. | — | out:vec3 |
normalMap | Legt eine Normal-Map an und fügt Oberflächendetail ohne zusätzliche Geometrie hinzu. | uv:vec2, strength:float | out:vec3 |
paramColor — Param (color) | Eine Farbe, genauso sichtbar gemacht. | — | out:vec3 |
paramFloat — Param (float) | Eine Zahl, die als Material-Einstellung sichtbar wird und sich ohne Eingriff in den Graphen ändern lässt. | — | out:float |
position | Der Punkt auf der Oberfläche, im eigenen Raum des Objekts. | — | out:vec3 |
sampleLod — Sample Texture LOD | Tastet auf einer gewählten Unschärfestufe ab — billige Weichheit. | 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 ein genaues Pixel, ohne Filterung. | texel:vec2 | rgba:vec4 |
texelSize — Texture Size | Wie groß ein Texturpixel ist, für Effekte, die Nachbarn abtasten. | — | size:vec2, texel:vec2 |
texture | Tastet ein Bild an bestimmten Koordinaten ab. | uv:vec2 | rgba:vec4 |
time | Sekunden seit dem Start der Szene. Alles Bewegte beginnt hier. | — | out:float |
triplanar | Projiziert eine Textur aus drei Richtungen zugleich, damit Geometrie ohne UVs oder mit verzerrten UVs korrekt aussieht. | scale:float, blend:float | rgba:vec4 |
uv | Die Texturkoordinaten des gezeichneten Pixels — die Grundlage der meisten Muster. | — | out:vec2 |
viewDirection | Die Richtung von der Oberfläche zur Kamera. | — | out:vec3 |
worldPosition | Derselbe Punkt im Weltraum — für Effekte, die stehen bleiben, wenn das Objekt sich bewegt. | — | out:vec3 |
light
Beleuchtungsterme, die Sie selbst formen.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
fresnel | Stärker in flachen Winkeln — Randlicht, Kraftfelder, der Glanz auf einem Auto. | power:float, normal:vec3 | out:float |
lit — Lit (scene lights) | Standardbeleuchtung, damit sich ein eigener Graph richtig in die Szene einfügt. | color:vec3, roughness:float, specular:float, normal:vec3 | out:vec3 |
toonLit — Toon (scene lights) | Beleuchtung in Bändern, für einen stilisierten Look. | color:vec3, steps:float, normal:vec3 | out:vec3 |
math
Rechnen und Kurven auf einzelnen Zahlen.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
abs | Entfernt das Vorzeichen. | x:float | out:float |
add | Addiert. | a:float, b:float | out:float |
atan2 | Der Winkel zu einem Punkt — so baut man radiale Muster. | y:float, x:float | out:float |
ceil | Rundet auf. | x:float | out:float |
clamp | Hält einen Wert in einem Bereich. | 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 der Eingabe. | x:float | out:float |
fbm | Geschichtetes Rauschen — Wolken, Rauch, Rost, Gelände. | uv:vec2, scale:float, octaves:float | out:float |
floor | Rundet ab. | x:float | out:float |
fract | Nur der Nachkommateil — der Standardweg, irgendetwas zu wiederholen. | x:float | out:float |
log | Natürlicher Logarithmus. | x:float | out:float |
max | Der größere der beiden. | a:float, b:float | out:float |
min | Der kleinere der beiden. | a:float, b:float | out:float |
mix | Mischt zwei Werte. | a:float, b:float, t:float | out:float |
mod | Der Rest; die andere Art, einen Wert umlaufen zu lassen. | x:float, y:float | out:float |
multiply | Multipliziert. | a:float, b:float | out:float |
noise | Weiche Zufallswerte. Der Ausgangspunkt für alles Organische. | uv:vec2, scale:float | out:float |
oneMinus | Dreht einen 0–1-Wert um. Erstaunlich nützlich. | x:float | out:float |
posterize | Rastet Werte auf eine Anzahl Stufen ein — Banding, absichtlich. | x:float, steps:float | out:float |
pow | Potenziert. | x:float, e:float | out:float |
remap | Bildet von einem Bereich auf einen anderen ab. | x:float, inMin:float, inMax:float, outMin:float, outMax:float | out:float |
round | Rundet zum nächsten Wert. | x:float | out:float |
sign | Gibt −1, 0 oder 1. | x:float | out:float |
sin | Sinus — jedes Schwingen, Pulsieren und Wellen beginnt hier. | x:float | out:float |
smoothstep | Eine weiche Kante mit Verlauf zwischen zwei Schwellen. Das Arbeitspferd der Shader-Graphen. | from:float, to:float, x:float | out:float |
sqrt | Quadratwurzel. | x:float | out:float |
step | Eine harte Kante: unter der Schwelle 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: Schuppen, rissige Erde, Buntglas. | uv:vec2, scale:float | dist:float, cell:float |
output
Wo der Graph endet: wie die Oberfläche tatsächlich aussieht.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
mrtOutput — Output (MRT) | Schreibt mehrere Ausgaben zugleich, für fortgeschrittene Pipelines. | color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float | — |
output | Wo der Graph endet: wie die Oberfläche am Ende aussieht. | color:vec3, alpha:float, offset:vec3 | — |
surfaceOutput — Output (surface) | Die physikalische Beschreibung — Grundfarbe, Metallgrad, Rauheit, Normale, Emission, 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
Nodes, die das gerenderte Bild abtasten — damit wird der Graph zu einem Vollbild-Effekt statt einer Oberfläche.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
chromaticAberration | Trennt die Farbkanäle an den Rändern, wie ein echtes Objektiv. | uv:vec2, amount:float | out:vec3 |
contrast | Zieht Helles und Dunkles auseinander. | 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 | Dreht es um. | color:vec3 | out:vec3 |
saturation | Mehr oder weniger farbig. | color:vec3, amount:float | out:vec3 |
screenColor | Die Szene, wie sie bereits gerendert wurde. Sie zu verwenden macht den Graphen zu einem Vollbild-Effekt. | — | out:vec3 |
tint | Schiebt das Bild zu einer Farbe hin. | color:vec3, tint:vec3 | out:vec3 |
vignette | Dunkelt die Bildränder ab. | color:vec3, offset:float, darkness:float | out:vec3 |
vector
Vektoren und Farben bauen, zerlegen und transformieren.
| Node | Was sie tut | Eingänge | Ausgänge |
|---|---|---|---|
addVec3 | Addiert zwei Tripel. | a:vec3, b:vec3 | out:vec3 |
alpha | Zieht den Transparenzkanal heraus. | v:vec4 | out:float |
combineVec2 | Baut ein Paar. | x:float, y:float | out:vec2 |
combineVec3 | Baut ein Tripel. | r:float, g:float, b:float | out:vec3 |
combineVec4 | Baut ein Quadrupel. | rgb:vec3, a:float | out:vec4 |
cross | Eine Richtung senkrecht zu beiden. | a:vec3, b:vec3 | out:vec3 |
distance | Abstand zwischen zwei Punkten. | a:vec3, b:vec3 | out:float |
dot | Skalarprodukt — wie sehr zwei Richtungen übereinstimmen. | a:vec3, b:vec3 | out:float |
equirectUv — Equirect UV | Projiziert eine Richtung auf ein Panoramabild. | dir:vec3 | uv:vec2 |
flipbook — Flipbook | Spielt ein Raster von Einzelbildern in einem Bild als Animation ab. | uv:vec2, frame:float, tilesX:float, tilesY:float | uv:vec2 |
gamma | Legt eine Gammakurve an. | rgb:vec3, gamma:float | out:vec3 |
hsvToRgb | Und zurück. | hsv:vec3 | out:vec3 |
hueToRgb | Ein Farbton direkt zu einer 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 Tripel. | a:vec3, b:vec3, t:float | out:vec3 |
multiplyVec3 | Multipliziert zwei Tripel. | a:vec3, b:vec3 | out:vec3 |
normalize | Gleiche Richtung, Länge 1. | v:vec3 | out:vec3 |
panner | Lässt Koordinaten über die Zeit laufen — fließendes Wasser, Förderbänder, Energiestrahlen. | uv:vec2, speed:vec2 | out:vec2 |
reflect | Lässt eine Richtung an einer Oberfläche abprallen. | v:vec3, normal:vec3 | out:vec3 |
rgb | Baut aus drei Zahlen eine Farbe. | v:vec4 | out:vec3 |
rgbToHsv | Farbe zu Farbton, Sättigung und Helligkeit — der einfache Weg, den Farbton zu verschieben. | rgb:vec3 | out:vec3 |
scaleVec2 | Skaliert ein Paar mit einer Zahl. | v:vec2, s:float | out:vec2 |
scaleVec3 | Skaliert ein Tripel mit einer Zahl. | v:vec3, s:float | out:vec3 |
splitVec2 | Zerlegt ein Paar. | v:vec2 | x:float, y:float |
splitVec3 | Zerlegt ein Tripel. | v:vec3 | x:float, y:float, z:float |
uvTransform | Skaliert, dreht und verschiebt Koordinaten vor dem Abtasten. | uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2 | out:vec2 |