[TUTORIAL] [Parte II] Introducci贸n a Shader Graph

Portal Effect
El siguiente efecto es un portal muy simple inspirado un poco en la serie Rick and Morty:
馃摲
Para este efecto, a diferencia del anterior, vamos a crear un Shader Unlit Graph. La diferencia es que el PBR Graph incluye c谩lculos de iluminaci贸n avanzados entre otras cosas, cosa que el Unlit no.
馃摲
Este nodo Master como vemos, s贸lo tiene entradas para color y alpha. Una vez creado el shader, vamos a a帽adir un Quad a la escena con un nuevo material con nuestro shader. Colocamos la c谩mara para poder verlo y hacemos el Quad del tama帽o que desees hacer el portal. Podr谩s cambiarlo posteriormente.
馃摲
Una vez creado abrimos el shader. Lo primero que queremos es crear una m谩scara circular para darle el efecto ovalado y no tener el rect谩ngulo actual. Esto es simple, simplemente creamos un nodo de forma tipo elipse(Procedural/Shape/Elipse). Cambiamos el tama帽o a 1 en ambas dimensiones y colocamos la salida del nodo en el Alpha del Master. Como en el anterior shader, sacamos un integer del AlphaClip y lo colocamos a 1.
馃摲
Si guardamos y probamos podemos ver que ahora es una elipse en vez de un rect谩ngulo (cambia el color en el Unlit Master directamente si no lo consigues ver).
Para seguir vamos a hacer uso de dos nodos, que combinados, dan justo el efecto que buscamos. El primero de ellos es un nodo de ruido,Voronoi. La explicaci贸n de Voronoi se saldr铆a del objetivo de este tutorial asique si te interesa te dejo un enlace de un art铆culo que lo explica muy bien:
Junto al nodo de Voronoi vamos a usar un nodo de movimiento de UV, en este caso por Twirl que hace que las UV giren.
馃摲
Uniendo el nodo de Twirl al nodo de obtendremos lo siguiente:
馃摲
Puedes cambiar las variables de entrada de ambos nodos para que configurar el efecto a tu gusto. Tambi茅n ser铆a una buena pr谩ctica crear propiedades para poder configuraras luego desde editor.
Ahora solo falta que gire, para conseguir este efecto necesitamos acudir a otro modificador de UV, en este caso el nodo Rotate. Este nodo se coloca en la entrada de UV del Twirl y nos permitir谩 controlar el giro de este.
馃摲
Podremos controlar el giro con la entrada Rotation del nodo Rotate. Llegados a este punto vamos a hacer uso de un nodo muy importante, que quiz谩s se me olvid贸 comentar en la lecci贸n pasada. Es el nodo Time, el cual nos permite usar diferentes tipos de tiempo seg煤n lo necesitemos. Creamos entonces un nodo Time y conectamos la salida Time (el tiempo por defecto) a la entrada de Rotation.
馃摲
Como ves, si queremos controlar el tiempo simplemente podemos guardar una variable que multiplique el tiempo y esa salida la conectamos al Rotate. Puedes experimentar con los dem谩s tipos de tiempo para ver lo que ocurre con cada uno.
Ahora ya solo necesitamos a帽adirle color. Puedes notar que el Voronoi tiene dos salidas, te animo a que pruebes el efecto con ambas, ya que son el mismo concepto pero de diferentes estilos. Yo me voy a quedar para este con la salida Cells, que le da un toque m谩s estilizado. Al igual que con el anterior, vamos a hacer uso del nodo Lerp que nos ayudar谩 a convertir los colores negros y blancos en los colores que nosotros queramos. Creamos dos colores, para poder editarlos m谩s adelante y los colocamos en las entradas A y B del nodo de Lerp.
馃摲
Con esto el efecto estar铆a terminado. Vamos a a帽adirle unos detalles extra para mejorar el efecto. Podemos sacar un nodo Step del Voronoi. En este caso he usado la salida por defecto para poder apurar m谩s el Step. Ponemos un valor peque帽o en la entrada del Step para darle un toque sutil simplemente. Lo multiplicamos por el color que quieras, en mi caso blanco y posteriormente lo a帽adimos a lo que ten铆amos hasta ahora. Si茅ntete libre de modificar los valores a tu gusto para darle el tu propio toque.
馃摲
Espero que os sea 煤til. Cualquier duda que tengas no dudes en dejarla. Hasta la pr贸xima.
![[TUTORIAL] Crea tu primer Vertex/Fragment shader en Unity](https://static.wixstatic.com/media/c17bf8_3d64cb02661046538d2a5ebbc29146fa~mv2.gif/v1/fill/w_733,h_601,al_c,pstr/c17bf8_3d64cb02661046538d2a5ebbc29146fa~mv2.gif)
Comentarios