Ruido y patrones
Cada ejemplo de esta página se ejecuta después de estas dos líneas y termina enviando un color al nodo Salida:
from pyzed import shading
g = shading.Graph("demo")El ruido da valores entre 0 y 1 que parecen aleatorios pero cambian suavemente: la base de nubes, fuego, agua, mármol y terrenos.
Noise · noise · Ruido · g.noise(...)
Valores aleatorios suaves de 0 a 1 (ruido de valor, Perlin o simplex).

Aleatoriedad suave de 0 a 1. Perlin es la clásica, simplex se ve más natural, value es más cuadrada y más barata. scale es cuántas ondulaciones caben.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
UV con proporción (contexto) |
scale · escala |
float |
8 |
| Salida | Tipo |
|---|---|
value · valor |
float |
| Ajuste | Valores | Por defecto |
|---|---|---|
kind |
value, perlin, simplex |
perlin |
Entradas de la barra lateral
| Entrada | Qué hace | En Python |
|---|---|---|
| Ruido | Valores aleatorios suaves de 0 a 1 (ruido de valor, Perlin o simplex). | g.noise(...) |
| Ruido de valor | Ruido suave en bloques de 0 a 1. | g.value_noise(...) |
| Ruido simplex | Ruido simplex de 0 a 1. | g.simplex_noise(...) |
n = g.noise(scale=5.0, kind="simplex")g.output(g.rgba(n, 1.0))Ruido fractal
Sección titulada «Ruido fractal»Fractal noise · fbm · Ruido · g.fbm(...)
Capas de ruido, cada una más fina y tenue (fBm): nubes, humo, fuego, terreno.

Varias capas de ruido, cada una más fina y más tenue: el aspecto de nubes, humo y montañas. Más octaves añaden detalle (y coste).
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
UV con proporción (contexto) |
scale · escala |
float |
4 |
octaves · octavas |
int |
5 |
lacunarity · lacunaridad |
float |
2 |
gain · ganancia |
float |
0.5 |
| Salida | Tipo |
|---|---|
value · valor |
float |
| Ajuste | Valores | Por defecto |
|---|---|---|
kind |
value, perlin, simplex |
value |
n = g.fbm(scale=3.0, octaves=6)g.output(g.gradient(n))Voronoi
Sección titulada «Voronoi»voronoi · Ruido · g.voronoi(...)
Celdas alrededor de puntos aleatorios: la distancia al punto más cercano y al segundo, al borde más cercano, y un número aleatorio por celda. Phase mueve los puntos.

Celdas alrededor de puntos aleatorios, como barro agrietado, cristales o piel de jirafa. edge es pequeño cerca de los bordes y cell es un número aleatorio por celda (ideal para un color por celda). phase mueve los puntos.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
UV con proporción (contexto) |
scale · escala |
float |
6 |
jitter · dispersión |
float |
1 |
phase · fase |
float |
Tiempo (contexto) |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
second · segundo |
float |
edge · borde |
float |
cell · celda |
float |
v = g.voronoi(scale=6.0)color = g.palette(v["cell"])g.output(g.rgba(color * g.smoothstep(0.0, 0.05, v["edge"]), 1.0))Ruido blanco
Sección titulada «Ruido blanco»White noise · white_noise · Ruido · g.white_noise(...)
Un número aleatorio distinto, de 0 a 1, para cada valor de p.

Un número aleatorio distinto para cada valor de entrada, sin suavidad: estática de TV, destellos, tramado.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Píxel (contexto) |
| Salida | Tipo |
|---|---|
value · valor |
float |
random2 |
vec2 |
n = g.white_noise()g.output(g.rgba(n, 1.0))Aleatorio
Sección titulada «Aleatorio»Random · random · Ruido · g.random(...)
Un número aleatorio de 0 a 1 para una semilla (misma semilla, mismo número).

Un número aleatorio para una semilla: la misma semilla da siempre el mismo número. Pásale el número de una celda para dar a cada celda su propio valor.
| Entrada | Tipo | Por defecto |
|---|---|---|
seed · semilla |
float |
1 |
| Salida | Tipo |
|---|---|
value · valor |
float |
r = g.repeat(cell=[0.2, 0.2])v = g.random(r["cell"].x * 7.0 + r["cell"].y)g.output(g.rgba(v, 1.0))Patrones
Sección titulada «Patrones»Patrones regulares, casi siempre 0 o 1 (negro o blanco). Multiplica un color por ellos, o úsalos como t de un Mezclar o un Degradado.
Tablero
Sección titulada «Tablero»Checker · checker · Patrones · g.checker(...)
Un tablero de ajedrez de 0 y 1.

Un damero: 0 y 1 en cuadros alternos.
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV con proporción (contexto) |
cells · celdas |
vec2 |
(8, 8) |
| Salida | Tipo |
|---|---|
value · valor |
float |
c = g.checker(cells=[8.0, 8.0])g.output(g.rgba(g.mix(0.2, 0.9, c), 1.0))Franjas
Sección titulada «Franjas»Stripes · stripes · Patrones · g.stripes(...)
Franjas paralelas de 0 y 1 (ángulo en radianes, ancho de 0 a 1).

Rayas paralelas en cualquier ángulo; width es cuánto de cada raya es blanco.
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV (contexto) |
count · cantidad |
float |
10 |
angle · ángulo |
float |
0 |
width · ancho |
float |
0.5 |
| Salida | Tipo |
|---|---|
value · valor |
float |
s = g.stripes(count=12.0, angle=0.785)g.output(g.rgba(s, 1.0))Cuadrícula
Sección titulada «Cuadrícula»Grid · grid · Patrones · g.grid(...)
Líneas de cuadrícula: 1 sobre las líneas, 0 entre ellas (grosor de 0 a 1 de una celda).

Líneas finas de cuadrícula: papel milimetrado, planos y suelos synthwave.
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV con proporción (contexto) |
cells · celdas |
vec2 |
(8, 8) |
thickness · grosor |
float |
0.06 |
| Salida | Tipo |
|---|---|
value · valor |
float |
l = g.grid(cells=[10.0, 10.0], thickness=0.05)g.output(g.rgba(g.mix([0.05, 0.05, 0.15], [0.2, 0.8, 1.0], l), 1.0))Dots · dots · Patrones · g.dots(...)
Una cuadrícula de puntos redondos: 1 dentro, 0 fuera (radio de 0 a 0,5 de una celda).

Una cuadrícula de puntos redondos: lunares y aspecto de trama de imprenta.
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV con proporción (contexto) |
cells · celdas |
vec2 |
(10, 10) |
radius · radio |
float |
0.3 |
| Salida | Tipo |
|---|---|
value · valor |
float |
d = g.dots(cells=[12.0, 12.0], radius=0.25)g.output(g.rgba(d, 1.0))Degradado lineal
Sección titulada «Degradado lineal»Linear gradient · linear_gradient · Patrones · g.linear_gradient(...)
De 0 a 1 a lo ancho del área en una dirección (ángulo en radianes).

De 0 a 1 a lo ancho del área en una dirección (angle en radianes, 0 es de izquierda a derecha).
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV (contexto) |
angle · ángulo |
float |
0 |
| Salida | Tipo |
|---|---|
value · valor |
float |
t = g.linear_gradient(angle=1.57)g.output(g.gradient(t))Degradado radial
Sección titulada «Degradado radial»Radial gradient · radial_gradient · Patrones · g.radial_gradient(...)
1 en el centro, se desvanece hasta 0 en el radio (respeta la proporción).

1 en el centro que se desvanece a 0 en radius: focos, brillos suaves y viñetas.
| Entrada | Tipo | Por defecto |
|---|---|---|
uv |
vec2 |
UV (contexto) |
center · centro |
vec2 |
(0.5, 0.5) |
radius · radio |
float |
0.5 |
| Salida | Tipo |
|---|---|
value · valor |
float |
r = g.radial_gradient(radius=0.5)g.output(g.rgba(g.compose(r, r * 0.6, 0.2), 1.0))Wave · wave · Patrones · g.wave(...)
Una onda repetida de 0 a 1 (seno, triangular, cuadrada o diente de sierra): frequency ondas por unidad de x.

Una onda repetida de 0 a 1 en cuatro formas: sine (suave), triangle, square (encendido/apagado, parpadeo) y sawtooth (rampa). Con la x por defecto (el tiempo) se anima; conecta una coordenada UV para obtener bandas.
| Entrada | Tipo | Por defecto |
|---|---|---|
x |
float |
Tiempo (contexto) |
frequency · frecuencia |
float |
1 |
phase · fase |
float |
0 |
| Salida | Tipo |
|---|---|
value · valor |
float |
| Ajuste | Valores | Por defecto |
|---|---|---|
shape |
sine, triangle, square, sawtooth |
sine |
Entradas de la barra lateral
| Entrada | Qué hace | En Python |
|---|---|---|
| Onda | Una onda repetida de 0 a 1 (seno, triangular, cuadrada o diente de sierra): frequency ondas por unidad de x. | g.wave(...) |
| Onda cuadrada | Encendido y apagado: 0 o 1, repetido. | g.square_wave(...) |
| Onda diente de sierra | Sube de 0 a 1 y vuelve a empezar. | g.sawtooth_wave(...) |
w = g.wave(g.uv()["x"], frequency=6.0, shape="triangle")g.output(g.rgba(w, 1.0))Ver también: Primeros pasos · La vista Shader · Recetas · Grafos de shader en Python