Hola, en esta oportunidad te traigo un video continuación de mi primero, primerísimo tutorial que hice sobre Spark AR. Me refiero a la segmentación, pero ahora haré segmentación inversa, es decir, “person segmentation”. En vez de segmentar el fondo o background. Voy a segmentar el contorno de las personas, para luego agregarle texturas o animaciones en dicha segmentación. Es un proceso interesante que quiero enseñarte.
Como siempre mis archivos de mis tutoriales se encuentran en mi patreon. Apóyame para continuar trabajando con la realidad aumentada.
Tutorial Spark AR Person Segmentation
Abrimos Spark AR. Para crear nuestro filtro necesitamos un rectángulo. Automáticamente se crea un Canva que es el predominante de la jerarquía. Este rectángulo cubrirá toda la pantalla. Luego crearemos otro rectángulo; y realizaremos los pasos anteriores.
Posteriormente iremos a la cámara para extraer su textura y obtener su segmentación.
Para el rectángulo 0 vamos a crearle un material. Este material le cambiaremos su shader type por “flat”. y en textura le aplicamos “camera texture”. Ahora en rectángulo 1 iremos a crear un material nuevo. A este nuevo material también le cambiaremos el shader type y en texture usaremos “person segmentation”. Por el momento queda de esta manera.
Para que cambie el color del material 1 activamos “environment” y en “type” usaremos color y allí seleccionaremos los colores sin problemas.
Uso de un Ripple Shader
Primero habilitaremos el patch editor. Ahora haremos uso de la librería: Entraremos a “patch assets, luego a “shaders”. Para el proyecto usaremos “ripple”. Una vez descargado ripple aparecerá en tus assets. Lo que se necesitamos es arrastrarlo al patch.
Luego iremos a el material1 y su environment, cambiaremos “color” por “textura” y aparecerá su conector. Lo seleccionamos y lo incorporamos en el patch, luego lo conectaremos.
Propiedades del Ripple: podemos cambiar los colores A y B del ripple para ver su interacción en el efecto. “Scale” permite visualizar más ondas al proyecto. Shift X o Y permite cambiar la posición de la onda. Softness permite suavizar las líneas del ripple.
Ahora agregaremos “loop animation”, usaremos 2 segundos de duración y con mirrored. La salida “progress” del loop animation lo conectaremos con el “scale” del ripple. Mira el resultado.
Conectar el proyecto con el mouth open
Por último, quiero utilizar un activador. Por ejemplo, al abrir la boca se activará el efecto ripple, para hacer eso necesito un face tracker. Arrastraré el face tracker al patch y ahora buscaré “el mouth open” para conectarlo.
Luego necesito “pulse”. Acto seguido agrego un “switch”. Conectaré ambos “turn on”.
Finalmente conecto el switch con el “enable” del loop animation. El efecto es super interesante 🙂