Introducción a Shader Graph III : Vertex Displacement

Este ejemplo servirá de introducción para el desplazamiento de vértices.

vv1ack01CvVEkb3QJ4ZvXwe-DkXUJparqcyAj62k

Vamos a crear un nuevo shader, con su material correspondiente y lo vamos a aplicar en una esfera añadida a la escena. Colocamos la esfera visible para la cámara y comenzamos. Para el desplazamiento de vértices vamos a usar la primera de las entradas del Master Node, ya sea el PBR Graph o el Unlit Graph. Para este ejemplo usaremos el PBR Graph pero es indiferente. 

Para poder mover los vértices, simplemente tenemos que usar el nodo Position para saber la posición y sumarle el desplazamiento. En este caso usaremos un desplazamiento en dirección a su Normal. 

SnVY65oO_FjM0qkdb096I9ldOPtbTKf-5ImFcit-

Tendremos que asegurarnos de que el espacio en el que estamos trabajando está en relación al objeto y no al mundo. Esto podemos configurarlo en la variable Space del nodo. Con esto tendríamos un desplazamiento simple de los vértices. Pero es un desplazamiento constante, vamos a añadirle ruido y movimiento con los nodos Noise y Time que vimos anteriormente. 

BsJMJyelEYhNnLVj8g4P_LyduyT-MQWB4ER4RLA7

Ahora tenemos un efecto mucho mejor. Pero el movimiento está basado totalmente en el ruido que obtenemos, sin tener en cuenta cual es la posición actual del vértice. Para que tenga en cuenta la posición del vértice y se modifique en función de esta, simplemente sumamos a la Posición el Tiempo y lo conectamos con el Ruido. 

TXM_aa_n_ndEamYUhUCafCo91rZu51xU_ynIWq9z

Ahora hemos conseguido el efecto que queríamos. Cada vértice se mueve en función de su posición y del ruido que generamos. Si queremos cambiar la intensidad podemos usar el nodo Remap. Este nodo dado un valor mínimo y máximo de entrada, interpola el valor entre dos valores de salida mínimo y máximos. Por ejemplo en este caso, la salida del Simple Noise está entre 0(negro) y 1 (blanco). Estos dos valores serían la entrada al Remap. Si los valores de salida fueran 0 y 10, en los valores en los que el ruido entrase con valor 0.7,saldría interpolado entre 0 y 10, es decir saldría como 7. 

kRuPI-lzHXfWczCZ_bxTp-xeMuqOT2_YvVFZXYJ1

Como vemos, ahora el efecto se intensifica en función de la salida que establezcas en el Remap. Recuerda guardar las variables en la Blackboard para poder cambiar los valores desde el propio material posteriormente. 

Para acabar podemos hacer lo que queramos con el color. Podríamos simplemente asignarle una textura o crear un portal como en los anteriores casos. En este caso para no alargarlo, vamos a usar un simple Voronoi junto a un Color para dar el efecto que vimos en el gif. 

NJu_WcW9tNWjSRtcpMfA2iwFVWCgqMcrnii7TBmk

Es prácticamente lo mismo que hicimos en el anterior shader, colocamos el Lerp y le seteamos los dos colores.

Espero que os sea útil y cualquier cosa no dudéis en preguntar. 

Language »