El grafo de Estilo
Cada ajuste del paso Estilo es un control de un pase: el sombreado, las líneas, las aristas de la malla, la limpieza, los colores con los que sale la hoja. El paso Estilo es ese grafo: los pases como cajas con conexiones entre ellas, cada una mostrando la imagen que produce y con sus propios ajustes, así que ves el procesado y no solo su resultado. Puedes poner los pases en otro orden, pasar uno por una máscara o mezclar dos.
La cadena de imágenes desde los colores del modelo hasta la hoja terminada es la explicación del pipeline. El botón del ojo las desactiva en un equipo lento.
No tienes que trabajar en el lienzo: elegir un nodo muestra los mismos ajustes en el Inspector de la derecha, así que siempre tienes un deslizador a mano. Sin ningún nodo elegido, el Inspector muestra el nodo Paleta, que lleva los colores.
Estilos. Un proyecto tiene tantos Estilos como quiera, cada uno con su nombre y un grafo de estilo propio, sin que ninguno pertenezca a una cámara. El del lienzo es el elegido en la lista Estilos o en el selector Estilo de la cabecera de la ventana, que dibuja la cámara y la acción de la cabecera. Nuevo Estilo, bajo la lista, crea una copia del que se muestra, con un nombre basado en el suyo (Pixel Art 2). El menú contextual de una fila lo renombra, lo duplica, lo elimina (Eliminar NOMBRE…, que pregunta antes: también el primero, mientras quede otro), Guardar kit… (Guardar el Estilo como kit) lo escribe como kit, con su grafo y su paleta dentro, y Usar kit… (Usar un kit de Estilo) incorpora a este proyecto uno guardado desde otro. Arrastra una fila hacia arriba o hacia abajo para reordenar la lista. Guardados en la biblioteca de pipelines, aparecen en la biblioteca de nodos en Mis pipelines; los del propio proyecto están en Pipelines, junto al nodo Pixelar.
Cada grafo tiene su biblioteca de nodos a su izquierda, cuando su panel es lo bastante ancho: los grafos de Escena, Acción, Estilo y Asset por igual. Lista todo lo que puede contener el grafo, primero las entradas y las salidas, luego el resto por grupos, con una línea sobre lo que hace cada uno; escribe en Buscar para acotarla. Haz clic en uno para añadirlo donde lo coloque el grafo, ya conectado, o arrástralo al lienzo para ponerlo donde lo sueltes.
Un proyecto que nunca cambia un nodo sigue sin guardar ningún grafo y renderiza exactamente igual que antes.
El grafo con el que empiezas
Es el propio pipeline de Pixor, conectado:
De izquierda a derecha en el orden en que se hace el trabajo, para que las conexiones vayan hacia delante y se crucen lo menos posible.
-
Cámara es donde empieza el grafo: la cámara para la que dibuja este Estilo. Cada cámara que apunta al Estilo ejecuta el grafo una vez, desde su propio lado.
-
Render por capas recibe la cámara: lo que renderizó de la acción en este fotograma, antes de cualquier paso de pixel art, con cada una de sus ocho capas en una salida propia: albedo, normales, profundidad, parte, material, cobertura, luz principal, sombra. El sombreado lee normales y sombra; las líneas, profundidad, normales y parte. Es un grupo de átomos: ábrelo y es el marco de un nodo Render (un fotograma por capas) y ocho nodos Capa, cada uno sacando del fotograma la capa elegida en él. Las conexiones muestran qué lee qué, y son reales: conecta un Campo de ruido a la sombra de Luz y sombra y la sombra es ese ruido; sin conectar, una pasada lee el propio render de la cámara.
-
En Paleta se eligen los colores del fotograma: cuántos colores base y bandas de luz, el tramado, una paleta propia, el desplazamiento de tono. Salida no lleva nada: es el fotograma.
-
Luz y sombra convierte la luz en un paso de la rampa de colores de cada píxel. Es un grupo de átomos que también tienes, en orden: Bandas de luz (la banda de la luz principal en la que cae cada píxel, tramada en los bordes, mantenida entre fotogramas cerca de un borde), Luz del mundo (lámparas, líneas de olas, sombras de nubes, haces de luz, espuma de la orilla), Brillos, Resplandor, Desplazamientos de rampa (y el ciclo de color), y luego Colores de sombreado, que convierte el sombreado en colores. La conexión entre ellos lleva un sombreado: la rampa de cada píxel y su paso en ella.
-
Entintado encuentra la silueta, las líneas interiores y los pliegues. También es un grupo: Silueta, Aristas (líneas interiores, pliegues, dobleces convexos), Limpiar líneas (sin fragmentos cortos, sin esquinas ni dobles) y Colores de línea, con una conexión lines entre ellos.
Los parámetros de un grupo son los ajustes de los átomos que contiene. En el nodo, o desde un script, fijar uno lo fija en cada átomo de dentro que lo tenga (pxr graph set my.pixor --node light-and-shade --set dither=0.5, --node line-work --set min_inner_line=3), así que un grupo que construyes tú mismo con átomos se ajusta igual que los que vienen incluidos. Haz doble clic en un grupo (fuera de su título), o pulsa la flecha de su título, para abrirlo y ver, o volver a conectar, aquello de lo que está hecho.
- Alámbrico también aparece cuando el aspecto alámbrico está activado, y va a la tercera entrada de Combinar. Es un grupo de dos átomos: Trazado de las conexiones (por dónde cruzan el fotograma las aristas de la malla, y si una que queda detrás de la superficie se omite, se punta o se oscurece) y después Colores de las conexiones.
- Combinar las superpone, decide qué queda bajo las conexiones y adelgaza las líneas unas contra otras.
- Limpieza elimina los píxeles sueltos y suaviza las esquinas de las líneas. Es un grupo de dos nodos atómicos: Píxeles sueltos (grupos de un mismo color demasiado pequeños para conservarlos, y cuántas pasadas los buscan), y después Esquinas suaves (qué esquinas de las líneas se suavizan un paso más abajo en la rampa).
- Salida es lo que produce el grafo: el sprite de esta cámara en este momento de la acción, que luego los nodos Sprites del grafo de Asset cortan en listas de sprites. No lleva ajustes; los colores están en la Paleta que la precede.
Esos nodos llaman exactamente al mismo código que el pipeline, así que el grafo con el que empiezas da exactamente los píxeles que tenías antes. Los tests de referencia propios de Pixor se renderizan de las dos formas y se comparan, siempre.
Trabajar en él
Todos los grafos funcionan igual, los grafos de Escena, Acción, Estilo y Asset por igual: la misma barra, el mismo menú contextual, las mismas teclas y gestos. Esta tabla los recoge todos, en los cuatro. Cada edición es un paso del historial (Ctrl+Z la deshace), incluido mover un nodo; las teclas funcionan mientras el puntero está sobre el grafo.
| Hazlo | A |
|---|---|
| Arrastra con el botón central (o con Alt y el izquierdo) | mover la vista |
| Desplazar (o pellizcar) | zoom alrededor del puntero, desde un cuarto del tamaño hasta el doble, cada paso igual que en la Vista 3D y la Vista 2D; Fotograma y la primera vista de un grafo lo encajan |
| Fotograma, o Home | traer todos los nodos a la pantalla |
| Haz clic en el título de un nodo | elegirlo: sus ajustes aparecen también en el Inspector, y el centro muestra lo que hace él; donde hay nodos superpuestos, el de arriba |
| Shift+clic en un nodo | elegirla también, o soltarla |
| Arrastrar el fondo | un recuadro: se eligen todos los nodos que toca (Shift conserva los ya elegidos) |
| Arrastrar un nodo | moverlo, junto con todos los nodos elegidos |
| +, o clic derecho en el lienzo › Añadir un nodo | la lista de la biblioteca de nodos, por grupo: lo elegido entra; desde el clic derecho, donde hiciste clic. Usar kit… (Añadir un kit como grupo), arriba del todo, mete un kit como un grupo |
| Una fila de la biblioteca a la izquierda | haz clic para añadirlo donde lo pone el grafo, ya conectado; arrástralo al lienzo para ponerlo donde lo sueltes |
| Arrastra desde el punto redondo a la derecha de un nodo hasta un punto a la izquierda de otro | conectarlos; mientras arrastras, se marca con un círculo cada punto al que encaja la conexión |
| Soltar una conexión sobre el lienzo vacío | un menú de los nodos que encajan: escribe para filtrarlo, Intro toma el primero |
| Arrastrar un punto de entrada hacia fuera | desconectarla; suéltala en otra entrada para mover allí la conexión |
| Haz clic en una conexión y luego en Eliminar | cortarla; la conexión bajo el puntero (o la elegida) también muestra una × en su centro que la corta con un clic |
| F2, o doble clic en el título de un nodo | cambiarle el nombre: su propio nombre en su título (el de un grupo es su nombre); vacío, vuelve a llamarse por lo que es |
| Ctrl+D | duplicar los nodos elegidos, debajo de ellos, conectados como están y leyendo lo que leen |
| Ctrl+C, Ctrl+V | copiar los nodos elegidos y pegarlos bajo el puntero, en cualquier grafo del mismo tipo: otro Estilo, otra acción, otro pipeline de asset, el interior de un grupo. Los nodos de un tipo de grafo no entran en otro, y la línea de estado lo indica |
| − (Eliminar el nodo elegido), o Supr | borrar el nodo elegido; lo que lo leía lee lo que él leía, así que una cadena sigue siendo una cadena |
| Agrupar, o Ctrl+G | los nodos elegidos (y el seleccionado) se convierten en un grupo, abierto |
| La flecha a la derecha del título de un grupo, o un doble clic en el grupo fuera de su título | abrirlo en el sitio, o volver a plegarlo |
| Guardar kit… | el grupo elegido como kit o, sin ningún grupo elegido, el grafo entero (el título del diálogo dice cuál) |
| Limpiar | recolocar todos los nodos, de izquierda a derecha en el orden en que se hace el trabajo |
| Nota | poner una nota alrededor del nodo elegido, o a la vista |
| El ojo, o clic derecho › Imágenes de nodos | mostrar u ocultar la imagen que hace cada nodo |
| Clic derecho en el lienzo | todo lo anterior, con sus teclas, y lo que tiene cada grafo de propio: en el grafo de Estilo, Mostrar solo lo que fija un preset, Mostrar los ajustes de cada nodo y Volver al grafo del preset; en el grafo de Escena, Volver a una copia; en el grafo de Asset, Volver a una hoja |
Qué es la imagen de un nodo, grafo a grafo: en el grafo de Estilo, los píxeles que produce; en el grafo de Escena, los objetos que pasa, vistos desde arriba; en el grafo de Acción, lo que hace la salida del nodo durante una pasada (abajo); en el grafo de Asset, los fotogramas que pasa una lista, o la hoja o el archivo que escribe.
En el grafo de Acción, cada tipo de nodo tiene la imagen que más dice sobre él:
| Nodo | Su imagen |
|---|---|
| Clip, Fotogramas clave, Rutina, Acción | el modelo en cuatro momentos equiespaciados de lo que reproduce, de izquierda a derecha (un bucle a lo largo de un ciclo, el último momento justo antes de que vuelva a empezar), todo visto a través de una cámara que abarca cada pose, desde el ángulo de la cámara mostrada |
| Giro, Flotar, Vaivén, Pulso, Deslizar, Ola, Ruido, Rampa, Tiempo de la escena | una curva de cada número que de verdad cambia, de su valor más bajo al más alto: un Giro, una rampa; un Flotar, una onda; los números que cambian igual son una sola línea (los tres tamaños de un Pulso) |
| Filtros, Aplicar a, Salida, grupos | como lo que pasan: las poses cuando eso mueve más de tres números (un clip, un clip fusionado con un giro, mantenido de dos en dos), una curva cuando es un solo movimiento (un Paso sobre un Giro dibuja su escalera) |
Las curvas se colorean por tipo (posiciones en azul, giros en ámbar, tamaños en verde, todo lo demás en rosa), como máximo seis, las que más lejos llegan; con el puntero sobre la imagen, nombra cada línea y dice cuántas más hay. Las poses pasan a curvas cuando lo que se mueve no forma parte del modelo (una cámara, la luz). Un nodo que no cambia nada (un Constant, un clip que no existe) muestra Sin movimiento donde iría su imagen. Una línea que cruza una curva, o una barra bajo una pose, sigue el tiempo de la Línea de tiempo mientras se reproduce.
Las imágenes las dibuja el propio rasterizador por CPU de Pixor, pequeñas, en un hilo propio, empezando por la del nodo elegido: el grafo nunca las espera. Un nodo conserva la imagen que tenía hasta que la siguiente está lista, así que nada parpadea; una edición que no cambia lo que un nodo pasa no la vuelve a dibujar. Un nodo tarda unos 25 ms con el caballero y 40 ms con el FBX humanoide de prueba, así que veinte nodos se dibujan todos en menos de un segundo tras una edición.
Las notas son recuadros detrás de los nodos con tus propias palabras en la parte superior: para qué sirve esta parte del grafo, qué probar después. Escribe directamente en una. El asa de su esquina superior izquierda la mueve junto con todos los nodos que contiene, así que una nota sirve tanto para mantener unida una parte de un grafo grande como para explicarla; la esquina inferior derecha cambia su tamaño, y el signo menos la quita (los nodos se quedan). Una nota no cambia ningún píxel.
Mientras se arrastra un deslizador de un nodo, la imagen de ese nodo se rehace primero, luego la del nodo elegido y después el resto por orden, así que el cambio se ve al instante donde estás mirando.
Cada tipo de conexión tiene su propio color, así que lo que encaja en cada sitio se ve sin leer: una capa de colores de paleta, una máscara, un número por píxel, una normal, una rampa, una paleta, una cámara, un render, un sombreado, líneas, trazados de conexiones, y los valores (sí/no, número, palabras). Una entrada que no tiene nada y necesita algo aparece rodeada de rojo, y la línea de abajo dice qué falla. Una conexión del tipo equivocado, y una que haría que el grafo diera una vuelta en círculo, se rechazan al soltarla.
Qué son los nodos
La biblioteca y el menú Añadir un nodo los listan bajo estos grupos:
| Agrupar | Nodos |
|---|---|
| Entradas | Cámara, Render, Capa (albedo, normales, profundidad, ID de parte, ID de material, cobertura, luz principal o sombra de un render), Imagen, Luz de relleno, Movimiento, Tramado de superficie, Fase del bucle, Rampa del color, Posición en la rampa, los canales de material Metálico, Rugosidad, Emisivo, Oclusión, Transparente, y Píxeles de borde (donde las aristas propias de la malla cruzan el fotograma por delante de todo) |
| Pases | Sombreado, Líneas, Aristas de la malla, Combinar, Limpieza, A la paleta: cada uno, un pase completo en una caja |
| Sombreado | Bandas de luz, Luz del mundo, Brillos, Resplandor, Desplazamientos de rampa, Colores de sombreado, y el acabado dibujado a mano: Formas, Sin bandas, Destello, Suavizar bandas, Rayado |
| Líneas | Silueta, Aristas, Limpiar líneas, Colores de línea, Bordes de color, Grosor de línea |
| Alámbrico | Trazado de las conexiones, Colores de las conexiones |
| Limpieza | Píxeles sueltos, Esquinas suaves, Limpiar silueta |
| Color | Paleta, Color más cercano (cada píxel con el color de la paleta más cercano al suyo, sin tener en cuenta las rampas), Escalonar la rampa, Paso donde hay máscara, Aplanar, Tramado de paleta, Mapa de rampa, Colores de tile, Movimiento subpíxel |
| Máscaras | Umbral, Por parte, Por material, Por orientación, Ruido, Patrón, Píxeles sólidos, No, Y, O |
| Mezcla | Elegir por máscara, Mezcla de tramado, Capa encima de |
| Matemáticas | Número, Añadir, Restar, Multiplicar, Dividir, Menor, Mayor, Sin signo, Fracción, Número entero, Mantener entre, Reasignar, Mezcla, Paso en, Paso suave, Coincidencia, Longitud, Como número, Campo de ruido (el ruido al que la máscara Ruido aplica el umbral, como número) |
| Espacio | Desfase, Desenfoque, Pendiente, Crecer, Encoger, Cavidad: cada uno declara hasta dónde mira alrededor de un píxel, que es lo que mantiene exactas las uniones entre tiles |
| Valores | consulta Cada propiedad es una entrada |
| Grupos | Entrada y Salida, los puertos dentro de un grupo |
| Salidas | Salida, CRT (una imagen para mirar, nunca un sprite) |
Por encima, la biblioteca enumera Pipelines (los Estilos del proyecto y Pixelar), Mis pipelines y Mis nodos.
Una imagen es una capa propia: un grano de papel, un patrón, un cielo pintado o un logotipo, cada píxel con el color de la paleta más cercano al de la imagen, sobre los propios píxeles del sprite desde donde se coloca, o en mosaico sobre todo el fotograma. Elegir por máscara la coloca donde quieras, Capa encima de la pone encima. La imagen se lee una vez y se guarda en el nodo, así que un aspecto guardado o un kit la lleva consigo. Desde un script:
pxr graph add my.pixor --node picture --set file=logo.png --set tile=false # node 8 on a new project
pxr graph add my.pixor --node layer-over --in under=4 --in over=8 # node 9: the logo over the palette's frame
pxr graph wire my.pixor --from 9 --to 5 --slot layer # into the Output
Mezclar nunca crea un color nuevo. Pixor trabaja en el espacio de índices de paleta, así que una mezcla elige un píxel u otro; nunca funde dos en un tercero que no esté en la paleta. Mezcla de tramado dispone A y B en un patrón ordenado, que es como mezcla un artista de pixel art.
Un acabado dibujado a mano
Algunos nodos hacen lo que un artista de pixel art hace a mano una vez que el sombreado está ahí. Ninguno está en el grafo con el que empiezas; añade los que quieras. Los que actúan sobre un sombreado van entre Desplazamientos de rampa y Colores de sombreado (abre el grupo Luz y sombra), en el orden de abajo; los que actúan sobre líneas, entre Aristas y Colores de línea (abre Entintado). Cada patrón que trazan queda sobre la superficie, así que se mueve con el modelo en lugar de arrastrarse sobre él, y nada de lo que crean sale de la paleta, salvo CRT, a propósito. Los que deciden según lo que rodea a un píxel o dónde está en la superficie (Formas, Destello, Rayado, Sin bandas) conservan, donde la superficie no se ha movido desde el fotograma anterior, lo que decidieron entonces, así que no añaden parpadeo; un clip en bucle que pasa por un grafo con uno de ellos da una vuelta primero, para que su primer fotograma siga al último.
| Nodo | Conéctalo | Qué hace | Ajustes |
|---|---|---|---|
| Formas | sombreado → sombreado | Formas de luz y sombra limpiadas como las dibujadas: una forma de una banda más pequeña que Mínimo toma la banda en la que está la mayor parte de lo que la rodea; luego cada píxel toma la banda en la que están la mayoría de los píxeles dentro de Suave a su alrededor, lo que elimina lenguas de ese ancho y suaviza los bordes. Solo cuentan entre sí los píxeles de una misma parte y una misma rampa, y una banda necesita la mayor parte de lo que rodea a un píxel, así que una mancha de un color propio queda para Píxeles sueltos. Un píxel cuya superficie no se ha movido y cuya luz es la misma conserva la banda que se le dio en el fotograma anterior. | Mínimo, Suave |
| Sin bandas | sombreado (+ líneas) → sombreado | Un borde de banda que recorre la silueta, el borde de una parte o una línea, a una distancia fija de ella —el aspecto acolchado—, se escalona un píxel en tramos, como lo escalonaría una mano: a la mitad, dos píxeles de cada cuatro a lo largo de él, contados sobre la superficie para que los escalones se muevan con ella. | Dentro de (píxeles desde el borde), Cuánto |
| Destello | sombreado (+ máscara, + luz) → sombreado | Un brillo deliberado en cada parte (la parte del render, esté donde esté en el fotograma) donde la máscara está activa, en su píxel más luminoso de la banda superior, mantenido donde estaba en el fotograma anterior cuando dos son igual de luminosos; Por parte pide más, cada uno al menos a Separación de los demás. Sin conectar, la luz es la luz principal. | Tamaño (1 o 2), Por parte, Separación, Solo el destello (los demás brillos de ahí bajan a la banda superior) |
| Suavizar bandas | sombreado → sombreado | Las esquinas de la escalera entre dos bandas, suavizadas: entre bandas que saltan dos pasos o más (sombras proyectadas, lámparas, brillos) la esquina toma el paso intermedio; entre bandas contiguas, con Tramado, las esquinas de un color de un damero colocado sobre la superficie toman la otra banda: un intermedio tramado, dentro de la paleta, que la limpieza deja intacto. | Ambos lados, Tramado |
| Rayado | sombreado → capa | Los colores del sombreado, con líneas diagonales, tramado cruzado o puntos sobre cada banda por debajo de la superior, más densos cuanto más oscura es la banda, en el paso inferior o en el color de línea. Una banda rayada es un patrón, como una zona de tramado: la limpieza no toca los píxeles entre sus trazos. Ocupa el lugar de Colores de sombreado. | Patrón, En color de línea |
| Cavidad | (normals, depth) → número | Cuánto se pliega la superficie hacia dentro: por encima de 0 en un pliegue, por debajo de 0 en una arista. Aplícale un umbral y conéctalo a Paso donde hay máscara con −1 para que los pliegues sean un paso más oscuros. Sin conectar, lee el render. | Radio, Salto de profundidad |
| Bordes de color | (lines, albedo) → líneas | Una línea donde cambia el color pintado dentro de una parte, en el lado más oscuro para que tenga un píxel de ancho, coloreada como los pliegues (así que da a Colores de línea un color de pliegue). Ponla antes de Limpiar líneas, que mantiene sus líneas libres de esquinas y duplicados. Sin conectar, lee los propios colores del modelo. | Contraste |
| Grosor de línea | líneas → líneas | La silueta con dos píxeles de grosor en el lado opuesto a la luz, y Borde anillos de contorno a su alrededor, en el color de la línea exterior o, con Color propio, en Color (el más cercano de la paleta). Donde una línea interior se encuentra con la silueta, se queda en un píxel. | Lado en sombra, Borde, Color propio, Color |
| Limpiar silueta | capa → capa | Se quitan del contorno las puntas de un píxel (no el extremo de una parte fina), y las muescas y agujeros de un píxel se rellenan con el color que los rodea, no con el del contorno donde eso lo haría de dos píxeles de grosor. | Picos, Muescas |
| Tramado de paleta | capa (+ luz) → capa | El propio color de superficie de cada píxel, iluminado por el factor conectado (1 lo deja como está), como el par de colores de la paleta cuya mezcla se le acerca más (tramado de Yliluoma), dispuesto según el umbral de la superficie. Las líneas se quedan; el resto es un tramado que la limpieza deja en paz. | Separación de parejas: un valor más alto se queda con las parejas cercanas |
| Mapa de rampa | número (+ rampa) → capa | La rampa de un artista leída de una tira de imagen: el número de 0 a 1 elige a lo largo de ella, de oscuro a claro. Una tira de varias filas da a cada rampa su propia fila. Sin imagen, las bandas propias del color. Conecta Luz principal a ella a través de Reasignar. | Archivo |
| Colores de tile | capa → capa | El fotograma en tiles desde su esquina superior izquierda, cada uno limitado a cierto número de colores, como la NES dispone tiles de 8 × 8 de 3: se quedan los colores más usados (un píxel al que contradicen tres de sus vecinos cuenta como de ellos, para que el píxel de borde de un rasterizador no incline la elección), el resto toma el más cercano de ellos, y un píxel que queda solo en su color toma el de sus vecinos en el tile. | Tile, Colores |
| Movimiento subpíxel | capa (+ movimiento) → capa | Una parte que se mueve menos de Quieto debajo píxeles por fotograma (una respiración, un balanceo) lo muestra en sus píxeles del borde: uno cubierto solo en parte baja un paso en la rampa, y el píxel vacío en el que se va adentrando toma ese color en cuanto está cubierto en una cuarta parte. En cualquier punto del grafo: el borde es el del render, así que también funciona después de Combinar, y el contorno se queda como está (solo cambian los píxeles del borde que hay dentro). | Quieto debajo, Pasos |
| CRT | capa → capa | Su imagen es el fotograma en una pantalla (líneas de barrido, una máscara de sombra o la rejilla de una LCD), unos pocos píxeles de pantalla por píxel. Esa imagen está fuera de la paleta, así que solo sirve para mirar y para imágenes fijas: la capa sigue hacia el sprite sin cambios, y ninguna hoja ni exportación lleva nunca la pantalla. Elígelo y la Vista 2D muestra la pantalla, primero a pasos enteros; pxr stages MODEL --style KIT --node crt la escribe como crt.still.png. Ponlo el último, antes de Salida. |
Pantalla, Tamaño |
Desde un script, como cualquier nodo:
pxr graph add my.pixor --node tidy-silhouette --in layer=3 # node 8, after Cleanup
pxr graph wire my.pixor --from 8 --to 4 --slot layer # and into the palette
Destello y los demás nodos que reciben un sombreado van dentro de Luz y sombra, donde está el sombreado (fuera de él, el grupo da una capa terminada): abre el grupo en la aplicación y añádelos ahí, o guarda el grupo como kit, edítalo y vuelve a ponerlo con pxr graph swap --kit.
Cada uno tiene un caso de referencia (tests/golden/cases.txt, hand-*): el grafo con el que empieza el aspecto y el nodo añadido, como un kit de grafo de Estilo que lee pxr render --style.
Cada propiedad es una entrada
Los ajustes de un nodo son sus propiedades: filas dentro del nodo, cada una con una toma a la izquierda. Fija una en el nodo, o conecta un valor a ella, y la fila se atenúa y muestra lo que trae la conexión. Los valores son nodos propios, en Valores en la biblioteca: Valor numérico, Activado/Desactivado, Ángulo, Texto, y las operaciones sobre ellos (Sumar valores, Restar valores, Multiplicar valores, Dividir valores, Valor menor, Valor mayor, Está encima, Opuesto, Ambos activados, Cualquiera activado, Elegir un valor), cuyos operandos también son propiedades. Un solo Activado/Desactivado conectado a tres nodos activa o desactiva los tres a la vez.
Las propiedades vienen en grupos con nombre (Desde y A de un Reasignar, Colores y Buscándolos de Aristas); haz clic en el nombre de un grupo para plegarlo. Una conexión a una propiedad plegada llega al nombre de su grupo.
Las propiedades de un grupo son sus entradas de valor. Agrupa nodos cuyas propiedades se alimentan de valores, y cada valor se convierte en una entrada del grupo, con el nombre de la propiedad a la que va y listada tras las demás entradas del grupo: una fila en la caja del grupo, que se fija ahí (lo que fija cada propiedad de dentro conectada a ella) o se conecta desde fuera.
Los grupos que fijan las secciones de un Estilo (Luz y sombra, Entintado, Alámbrico, Limpieza) los fijan esas secciones además de las propiedades de los átomos que contienen; la Paleta son los colores del fotograma, que fija la sección Colores.
Una vez por material, una vez por parte
Un nodo se ejecuta una vez para todo el fotograma, salvo que indiques otra cosa. Elige un nodo y pon Tramos en el Inspector a Una vez por material o Una vez por parte, y se ejecutará una vez por cada uno, viendo solo ese cada vez, como si el resto del fotograma estuviera vacío; las piezas se vuelven a juntar píxel a píxel. Su título indica entonces cada material o cada parte.
Eso es lo que impide que un desenfoque, un crecimiento, un contorno o una limpieza pasen de una parte a la siguiente: un nodo Líneas ejecutado por parte dibuja una línea alrededor de cada parte, donde el mismo nodo ejecutado una vez dibuja una alrededor de todo el modelo. Un grupo ajustado así ejecuta así todo lo que contiene. Un nodo ejecutado por parte no mira el fotograma anterior, así que no tiene histéresis contra el parpadeo.
El mismo ajuste desde la línea de comandos, o en un archivo de aspecto, es el scope del nodo: pxr graph set my.pixor --which style --node cleanup --set scope=object (frame, material u object).
La imagen de un nodo como capa propia
El sprite es lo que recibe el nodo de salida, pero también se puede escribir la imagen de cualquier nodo. Elige el nodo y escribe un nombre en Salida adicional en el Inspector: su título dice entonces layer y el nombre, y cada exportación la incluye junto a lines y flat: una hoja propia con su nombre en la exportación layers (hero_rim.png) y una capa oculta del .aseprite, que un re-bake sustituye como las demás capas de Pixor. Una luz de contorno, una máscara que lee un shader, las líneas de una parte: lo que haga un nodo. Borra el nombre y deja de ser una salida. No puede tomar un nombre que ya tenga una hoja (final, lines, flat, normal, depth, emission y similares) ni el de otra salida adicional.
Desde un script: pxr graph extra my.pixor --node line-work --name rim, y --drop para quitarlo.
Un ejemplo: pintura desgastada
Aplana el sombreado y luego elige entre la versión sombreada y la plana con una máscara de ruido, y la superficie se lee como pintura desgastada a parches:
Light and shade --+---------------+
| +--> Choose --> Combine --> ...
+--> Flatten ---+
Noise ----------------------------+
- Añade Aplanar y conecta Luz y sombra a él.
- Añade Ruido; pon su tamaño en unos 5 píxeles.
- Añade Elegir por máscara: Luz y sombra en A, Aplanar en B, Ruido en la máscara.
- Arrastra la conexión fuera de la entrada shading de Combinar, y conecta en su lugar Elegir por máscara.
Grupos: una caja que puedes abrir
Un grupo es un grafo usado como un solo nodo. Pixor incluye Pixelar, todo el pipeline anterior en una sola caja (en la biblioteca, en Pipelines), y los grupos de los que está hecho el grafo con el que empiezas: Render por capas, Luz y sombra, Entintado, Alámbrico y Limpieza, con nombres distintos de los pases Sombreado y Líneas, que hacen en una caja lo que los grupos hacen por pasos. Ninguno es un elemento integrado privilegiado.
Un grupo se abre en su sitio, en todos los grafos. Haz doble clic en él fuera de su título, o pulsa la flecha a la derecha de su cabecera (un grupo es el único nodo que tiene una): el propio grupo se convierte en el marco del grafo del que está hecho. Un grupo dentro de un grupo abierto se abre del mismo modo, dentro de su marco. Su cabecera recorre la parte superior, sus parámetros se quedan a su izquierda y, donde estaba su imagen, se disponen los nodos de dentro, en el mismo grafo. Las conexiones solo cruzan el marco por sus dos lados. Lo que alimenta al grupo llega a sus entradas, a la izquierda, y sale de un ancla a la derecha de cada una, donde estaba el borde de la caja cerrada, hacia los nodos de dentro que lo leen. Cada salida es un ancla en el borde derecho del marco, a la altura de lo que la produce dentro, y todo lo que lee esa salida se conecta desde ahí. Nada de dentro sale nunca del marco, y los nodos que vienen después se apartan para dejar sitio, solo en pantalla: el grafo conserva dónde estaban. Cada nodo de dentro se edita como cualquier otro: sus ajustes, su imagen, sus conexiones, su nombre; un nodo pegado o soltado dentro del marco entra en el grupo. La flecha de nuevo lo pliega a una caja con su imagen. Qué grupos están abiertos es cosa de la ventana, no del proyecto.
Crear un grupo propio. Elige los nodos que quieres meter en él (arrastra un recuadro a su alrededor o haz Shift+clic en ellos; el elegido también cuenta) y luego Agrupar (o Ctrl+G): se convierten en una sola caja, con una entrada por cada conexión que llega y, como salida, el resultado que el resto del grafo leía de ellos. Se abre al instante; F2 le pone nombre. Guardar kit… en la barra guarda el grupo elegido como kit propio (Guardar el grupo como kit; el diálogo de archivo empieza en la carpeta que la biblioteca lista bajo Mis nodos), y la biblioteca lo lista ahí, en todos los proyectos, en el grafo de su tipo; sin ningún grupo elegido guarda el grafo entero (Guardar el grafo de Estilo como kit). El Guardar kit… de cada grafo significa esto.
Un grupo viaja como kit igual que cualquier otro aspecto, y pxr graph flatten look.pixorkit lo escribe como los nodos simples que representa, para que se lea como un diff y no como una caja negra.
Un aspecto guardado también es un grupo. + › Usar kit… coloca uno que escribió el Guardar kit… de un Estilo o pxr graph save en el grafo en pantalla como un solo grupo: su nodo Salida se convierte en la salida de la caja, una capa, para que la conectes, por ejemplo sobre el propio resultado del grafo mediante Capa encima de, o a un Elegir por máscara, para que una parte del modelo tenga otro aspecto. Haz doble clic en él para ver y cambiar el aspecto de dentro.
Con qué puedes construir
Además de los pases, la biblioteca contiene los nodos pequeños con los que se escribe un aspecto: las entradas, las matemáticas, el espacio, las máscaras, el color y los nodos de mezcla de arriba.
Los grupos incluidos (Luz y sombra, Entintado, Alámbrico y Limpieza) están hechos de átomos que hacen cada uno un trabajo con unos pocos controles: las bandas de luz, la longitud mínima de una línea interior, las propias aristas del modelo, los píxeles sueltos detectados por cómo se conectan. Las pasadas completas que sustituyen siguen en la biblioteca para un grafo que quiera una sola caja. Aún puedes sustituir cualquiera de ellas por tu propia cadena: conecta Luz principal a Reasignar, Paso en y A la paleta y habrás escrito tu propio sombreado, o pon Píxeles de borde como máscara de un Elegir por máscara entre un aspecto plano y otro un paso más arriba, y habrás dibujado tú mismo el alámbrico.
Compartir un aspecto
Guardar kit… y Usar kit… de un Estilo llevan un aspecto de un proyecto a otro; el modelo, los clips y las exportaciones se quedan como están. Un kit de Estilo también lleva el grafo, así que «todos los assets de mi juego combinan» incluye un aspecto con conexiones.
Clic derecho en el lienzo › Volver al grafo del preset descarta el grafo y vuelve al pipeline de Pixor. El proyecto ya no guarda ningún grafo.
Todos los grafos tienen la misma barra: lo que muestra (el nombre de un pipeline, el camino de vuelta de una rutina), luego + (añadir un nodo), − (eliminar el elegido), Fotograma, Limpiar, Nota, Agrupar, Guardar kit… y el ojo que muestra u oculta las imágenes de los nodos, y todos funcionan en todos los grafos.
Lo que no hará
- Sin nodos de script y sin nodos de GPU. Cada nodo es una función fija de sus entradas, así que el mismo proyecto da los mismos píxeles cada vez, hoy y dentro de diez años (en otra máquina casi siempre: consulta las preguntas frecuentes).
- Los nodos nunca cambian a tus espaldas. Un grafo registra con qué versión de cada nodo se hizo, y el comportamiento antiguo se queda en Pixor con su versión antigua.
- No es un editor de imágenes general. Son los pases propios de Pixor, tipados para que solo se conecte lo que tiene sentido. Pintar, los filtros y las matemáticas arbitrarias corresponden a un programa de dibujo.
Referencia de nodos
Todos los nodos de los cuatro grafos, con lo que hacen, lo que reciben y dan, y cada ajuste con su rango y su valor predeterminado.
Grafo de Estilo
CámaraRenderCapaImagenLuz de rellenoMovimientoTramado de superficieFase del bucleRampa del colorMetálicoRugosidadEmisivoOclusiónTransparentePíxeles de bordeSombreadoPosición en la rampaLíneasBandas de luzLuz del mundoBrillosResplandorDesplazamientos de rampaColores de sombreadoSiluetaAristasLimpiar líneasPíxeles sueltosTrazado de las conexionesColores de las conexionesEsquinas suavesColores de líneaAristas de la mallaCombinarLimpiezaA la paletaPaletaEscalonar la rampaPaso donde hay máscaraAplanarUmbralPor partePor materialPor orientaciónRuidoCampo de ruidoColor más cercanoPatrónPíxeles sólidosNoYOElegir por máscaraMezcla de tramadoCapa encima dePintarNúmeroAñadirRestarMultiplicarDividirMenorMayorSin signoFracciónNúmero enteroMantener entreReasignarMezclaPaso enPaso suaveCoincidenciaLongitudComo númeroDesfaseDesenfoquePendienteCrecerEncogerFormasSin bandasDestelloSuavizar bandasRayadoCavidadBordes de colorGrosor de líneaLimpiar siluetaTramado de paletaMapa de rampaColores de tileMovimiento subpíxelCRTSalidaValor numéricoActivado/DesactivadoÁnguloTextoSumar valoresRestar valoresMultiplicar valoresDividir valoresValor menorValor mayorEstá encimaOpuestoAmbos activadosCualquiera activadoElegir un valorRender por capasLuz y sombraEntintado
Grafo de Acción
ClipFotogramas claveRutinaAcciónTiempo de la escenaConstanteOlaRuidoRampaGiroFlotarVaivénPulsoDeslizarMatemáticasMezclarFusionarSecuenciaDesplazamiento temporalVelocidadRecortarRepetirInvertirRetardoPasoLímiteRenombrarSeleccionarInstanciasAplicar aSalidaValor numéricoActivado/DesactivadoÁnguloTextoSumar valoresRestar valoresMultiplicar valoresDividir valoresValor menorValor mayorEstá encimaOpuestoAmbos activadosCualquiera activadoElegir un valor
Grafo de Asset
SpritesArchivo de imagenFusionarCapaRango de fotogramasMantenerVoltearEtiquetaOrganizarColocarPilaSuperposiciónHojaArchivoJSONArchivo de AsepriteSpriteFrames de GodotMapa de normalesMapa de profundidadMapa de emisiónCapas de líneas y planasPaletaGIF por clipAPNG por clipVídeo por clipKit de luzCartucho de PICO-8InformeCapa de sombraVariantes de paletaCapas de paper dollCapas de parallaxArchivo de textoArchivo ZIPTilesetIconosArchivo de animaciónJSON de tilesetTileSet de GodotTileset de TiledHoja de cuadrícula dualAutotiles de GameMakerAutotiles de RPG MakerRuleTile de UnityProyecto LDtkVariantes de paleta de tilesVista previa del mapaValor numéricoActivado/DesactivadoÁnguloTextoSumar valoresRestar valoresMultiplicar valoresDividir valoresValor menorValor mayorEstá encimaOpuestoAmbos activadosCualquiera activadoElegir un valor
Grafo de Escena
ImportarObjetoAnilloFilaCuadrículaDispersarMirar aVariarReproducirFusionarVisto porDiferenciaUnirMoverReflejarSubdividirDesplazarCampo de alturasBiselBajar al sueloEn la superficieEn puntosFijar formaAtributoSeleccionarSalidaFormaImagenTextoVolumenLámparaEfectoObjetoAccesorioMuelleTerrenoRamitasFollajeAguaNubesCieloVientoHaces de luzHoras del díaTrozosValor numéricoActivado/DesactivadoÁnguloTextoSumar valoresRestar valoresMultiplicar valoresDividir valoresValor menorValor mayorEstá encimaOpuestoAmbos activadosCualquiera activadoElegir un valor
Lo que describe esta página está en la versión completa; la demo gratuita del navegador se limita al aspecto predeterminado y a la hoja PNG.
Probar en el navegador Obtener Pixor