Saltar al contenido principal

Nodos de shader

95 nodos en 7 categorías, para crear materiales con nodos. Para aprender a usarlos, consulta Grafos de materiales.

Las entradas y las salidas tienen uno de cuatro tipos: float es un número, y vec2, vec3 y vec4 contienen dos, tres y cuatro números. Un vec3 contiene un color o una dirección. Si conectas puertos de tamaños distintos, se resuelve por ti cuando tiene sentido.

const​

Valores fijos que escribes tú.

NodoQué haceEntradasSalidas
constFloatUn número fijo.—out:float
constVec3Tres números fijos.—out:vec3

input​

Valores de partida: coordenadas de textura (UV), la normal de la superficie, el tiempo, texturas y qué copia de un objeto se está dibujando.

NodoQué haceEntradasSalidas
cameraDistanceA qué distancia está este píxel de la cámara. Sirve para desvanecer cosas con la distancia.—out:float
chromaKey — Chroma keyQuita un color, por ejemplo para que un fondo verde se vuelva transparente.color:vec3, key:vec3, similarity:float, smoothness:float, spill:floatrgba:vec4
instanceColor — Instance ColorEl tono de la copia que se está dibujando.—out:vec3
instanceId — Instance IDQué copia de un objeto instanciado se está dibujando. Pásalo por un hash para que cada copia sea distinta.—out:float
materialRef — MaterialUsa otro material como punto de partida.—out:vec3
normalHacia dónde mira la superficie.—out:vec3
normalMapAplica un mapa de normales, que añade detalle a la superficie sin más geometría.uv:vec2, strength:floatout:vec3
paramColor — Param (color)Un color que aparece como ajuste del material, para que puedas cambiarlo sin editar el grafo.—out:vec3
paramFloat — Param (float)Un número que aparece como ajuste del material, para que puedas cambiarlo sin editar el grafo.—out:float
positionEl punto de la superficie, en el espacio propio del objeto.—out:vec3
sampleLod — Sample Texture LODLee una imagen con el nivel de desenfoque que elijas. Una forma barata de suavizarla.uv:vec2, lod:floatrgba:vec4
screenUvDónde está el píxel en la pantalla, en lugar de en la superficie.—out:vec2
texelFetch — Texel FetchLee un píxel exacto, sin suavizado.texel:vec2rgba:vec4
texelSize — Texture SizeEl tamaño de un píxel de una textura, para efectos que leen los píxeles vecinos.—size:vec2, texel:vec2
textureLee una imagen en las coordenadas indicadas.uv:vec2rgba:vec4
timeSegundos desde que empezó la escena. Úsalo para todo lo que se mueve.—out:float
triplanarProyecta una textura desde tres direcciones a la vez, para que las formas sin coordenadas de textura, o con coordenadas estiradas, se vean bien.scale:float, blend:floatrgba:vec4
uvLas coordenadas de textura del píxel que se está dibujando. La mayoría de los patrones empiezan aquí.—out:vec2
viewDirectionLa dirección que va de la superficie hacia la cámara.—out:vec3
worldPositionEl mismo punto en coordenadas del mundo. Úsalo para efectos que se quedan en su sitio cuando un objeto se mueve.—out:vec3

light​

Iluminación que puedes ajustar a tu gusto.

NodoQué haceEntradasSalidas
fresnelMás intenso en los bordes, donde la superficie se aleja de la vista. Úsalo para luz de contorno, campos de fuerza o el brillo de un coche.power:float, normal:vec3out:float
lit — Lit (scene lights)Iluminación estándar, para que un grafo propio encaje en la escena.color:vec3, roughness:float, specular:float, normal:vec3out:vec3
toonLit — Toon (scene lights)Iluminación por franjas, para un aspecto de dibujo animado.color:vec3, steps:float, normal:vec3out:vec3

math​

Operaciones con números sueltos.

NodoQué haceEntradasSalidas
absQuita el signo menos.x:floatout:float
addSuma.a:float, b:floatout:float
atan2El ángulo hacia un punto. Úsalo para crear patrones circulares (radiales).y:float, x:floatout:float
ceilRedondea hacia arriba.x:floatout:float
clampMantiene un valor dentro de un rango.x:float, min:float, max:floatout:float
cosCoseno.x:floatout:float
divideDivide.a:float, b:floatout:float
expe elevado a la entrada.x:floatout:float
fbmRuido en capas, para nubes, humo, óxido y terreno.uv:vec2, scale:float, octaves:floatout:float
floorRedondea hacia abajo.x:floatout:float
fractSe queda solo con la parte decimal. La forma habitual de hacer que un patrón se repita.x:floatout:float
logLogaritmo natural.x:floatout:float
maxEl mayor de dos.a:float, b:floatout:float
minEl menor de dos.a:float, b:floatout:float
mixMezcla dos valores.a:float, b:float, t:floatout:float
modEl resto de una división. Otra forma de que un valor vuelva a empezar cuando llega al límite.x:float, y:floatout:float
multiplyMultiplica.a:float, b:floatout:float
noiseValores aleatorios suaves. Empieza por aquí para todo lo que deba parecer natural.uv:vec2, scale:floatout:float
oneMinusDa la vuelta a un valor de 0 a 1: 0 pasa a ser 1, y 1 pasa a ser 0.x:floatout:float
posterizeAjusta los valores a un número fijo de niveles, para un aspecto por franjas.x:float, steps:floatout:float
powEleva a una potencia.x:float, e:floatout:float
remapPasa un valor de un rango a otro.x:float, inMin:float, inMax:float, outMin:float, outMax:floatout:float
roundRedondea al más cercano.x:floatout:float
signDa −1, 0 o 1.x:floatout:float
sinSeno. Úsalo para oscilaciones, pulsos y ondas.x:floatout:float
smoothstepUn borde suave, con una transición gradual entre los dos umbrales. Uno de los nodos más usados.from:float, to:float, x:floatout:float
sqrtRaíz cuadrada.x:floatout:float
stepUn borde duro: 0 por debajo del umbral y 1 por encima.edge:float, x:floatout:float
subtractResta.a:float, b:floatout:float
tanTangente.x:floatout:float
voronoiPatrones de celdas, para escamas, tierra agrietada y vidrieras.uv:vec2, scale:floatdist:float, cell:float

output​

Donde termina el grafo: el aspecto final de la superficie.

NodoQué haceEntradasSalidas
mrtOutput — Output (MRT)Escribe varias salidas a la vez, para configuraciones avanzadas.color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float—
outputDonde termina el grafo: el aspecto final de la superficie.color:vec3, alpha:float, offset:vec3—
surfaceOutput — Output (surface)Describe la superficie: color base, metálico, rugosidad, normal, emisión y alfa.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​

Nodos que leen la imagen ya terminada. Si usas uno, el grafo se convierte en un efecto a pantalla completa en lugar de un material de superficie.

NodoQué haceEntradasSalidas
chromaticAberrationSepara los canales de color en los bordes, como un objetivo real.uv:vec2, amount:floatout:vec3
contrastHace más claras las partes claras y más oscuras las oscuras.color:vec3, amount:floatout:vec3
exposureHace más clara o más oscura toda la imagen.color:vec3, amount:floatout:vec3
grainAñade grano de película.color:vec3, intensity:floatout:vec3
invertInvierte los colores de la imagen.color:vec3out:vec3
saturationHace los colores más intensos o más apagados.color:vec3, amount:floatout:vec3
screenColorLa escena tal y como ya se ha dibujado. Si usas este nodo, el grafo se convierte en un efecto a pantalla completa.—out:vec3
tintLleva la imagen hacia un color.color:vec3, tint:vec3out:vec3
vignetteOscurece los bordes de la imagen.color:vec3, offset:float, darkness:floatout:vec3

vector​

Crea, separa y cambia vectores y colores.

NodoQué haceEntradasSalidas
addVec3Suma dos vectores de tres números.a:vec3, b:vec3out:vec3
alphaSaca el canal de transparencia.v:vec4out:float
combineVec2Crea un vector con dos números.x:float, y:floatout:vec2
combineVec3Crea un vector con tres números.r:float, g:float, b:floatout:vec3
combineVec4Crea un vector con cuatro números.rgb:vec3, a:floatout:vec4
crossUna dirección perpendicular a las dos.a:vec3, b:vec3out:vec3
distanceLa distancia entre dos puntos.a:vec3, b:vec3out:float
dotProducto escalar: cuánto se parecen dos direcciones.a:vec3, b:vec3out:float
equirectUv — Equirect UVProyecta una dirección sobre una imagen panorámica.dir:vec3uv:vec2
flipbook — FlipbookReproduce como animación una cuadrícula de fotogramas guardada en una sola imagen.uv:vec2, frame:float, tilesX:float, tilesY:floatuv:vec2
gammaAplica una curva gamma.rgb:vec3, gamma:floatout:vec3
hsvToRgbVuelve a convertir tono, saturación y valor en un color.hsv:vec3out:vec3
hueToRgbConvierte un tono directamente en un color.h:floatout:vec3
lengthLa longitud de un vector.v:vec3out:float
luminanceLo claro que parece un color a la vista.rgb:vec3out:float
mixVec3Mezcla dos vectores de tres números.a:vec3, b:vec3, t:floatout:vec3
multiplyVec3Multiplica dos vectores de tres números.a:vec3, b:vec3out:vec3
normalizeMantiene la dirección y pone la longitud a 1.v:vec3out:vec3
pannerDesplaza las coordenadas con el tiempo, para agua que corre, cintas transportadoras o rayos de energía.uv:vec2, speed:vec2out:vec2
reflectHace rebotar una dirección en una superficie.v:vec3, normal:vec3out:vec3
rgbCrea un color a partir de tres números.v:vec4out:vec3
rgbToHsvConvierte un color en tono, saturación y valor. La forma fácil de cambiar el tono.rgb:vec3out:vec3
scaleVec2Multiplica un vector de dos números por un número.v:vec2, s:floatout:vec2
scaleVec3Multiplica un vector de tres números por un número.v:vec3, s:floatout:vec3
splitVec2Separa dos números.v:vec2x:float, y:float
splitVec3Separa tres números.v:vec3x:float, y:float, z:float
uvTransformEscala, gira y mueve las coordenadas antes de leer una imagen.uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2out:vec2