El render pass ha generado un sinfín de posibilidades, una de estas es la capacidad de capturar cualquier rostro humano para posicionarlo en el nuestro. De esta manera se logra clonar cualquier cara y generar divertidos filtros. Hoy te enseñaré dos métodos para hacerlo. A este conjunto de tutoriales lo llamo Spark AR Face Clone.

Face Swip

El primer ejemplo es el método tradicional de Spark AR, donde haremos un cambio de rostro en tiempo real con otra persona. Lo que necesitamos primero es generar dos rostros con sus respectivos face mesh. Recuerda que el segundo face tracker debe apuntar hacia un segundo rostro. A ambos mesh le generaremos sus materiales. Estos dos material serán flat.

Ahora habilitaremos el patch editor. El primer paso con el render pass es ir hacia “device” y hacemos clic  a default pipeline y se creará todos estos elementos básicos. Cualquier tema adicional puedes visitar mi primer tutorial sobre render pass.

En estos momentos generamos el face extraction render pass. Conectaremos camera texture de esta manera. Tendremos que mencionar que este tracked face contendrá el primer rostro. Luego conectaremos el material del segundo face mesh para hacer el efecto switch. Ahora solo nos queda realizar el mismo proceso pero esta vez con el tracked face del segundo rostro y claro conectado con el material del primer face mesh. El proceso es bien sencillo con interesantes resultados.

Clone your Face

Haremos este filtro más interesante! Con este siguiente tutorial podrás capturar cualquier rostro y posicionarlo en otro, no hay límite.

Primero generamos un face mesh. Le creamos su material con su shader type flat. Habilitaremos el patch editor y lo ampliaremos lo más que podamos. Vamos a device y generamos el default pipeline de render pass. Lo ordenaremos. Ahora generamos un face extraction render pass. Conectaremos cámara texture de esta manera. No te olvides de seleccionar el tracker face. En estos momentos habilitaremos un sender. Dicho sender será de textura.  

Llamaremos a un shader render pass para que se conecte con un delay frame. De esta manera. Tomaremos un conector de camera texture y lo llevaremos hacia el first frame del delay frame. Es momento que aparezcan dos receivers.

El primero será el delay frame y el segundo será el sender relacionado al face extraction render pass para conectarlo con el shader pass. Necesitan pasar por un mix.

Ahora tomaremos al único material relacionado al face mesh y lo conectaremos con este extremo el shader render pass. Aquí veremos todos los cambios visuales. Por ahora no se ve tan agradable, pero está por cambiar.

Necesitamos un trigger para generar la experiencia podemos utilizar un screen long press. Para activarlo cuantas veces querramos usaremos un switch y lo conectaremos al alpha. 

Ahora para desaparecer esa fea imagen inicial de nuestro rostro podemos hacer que el face mesh sea visible en un momento específico podemos jalar otro switch pero quizá no sea lo adecuado porque tendríamos que generar más instrucciones. Lo que haremos es habilitar un runtime que luego estará conectado un greather than para unirlo al switch principal. Lo que estará antes del visible del face mesh será un not.

Patreon

Si desear apoyarme para mantener mi sitio web, puedes hacerlo a través de patreon y además tendrás los archivos de este tutorial llamado Spark AR Face Clone.




Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.