Guía para desarrolladores de rostros aumentados para Unity

Obtén información sobre cómo usar Rostros aumentados en tus propias apps.

Prerequisites

Asegúrate de comprender los conceptos fundamentales de la RA y cómo configurar una sesión de ARCore antes de continuar.

Prerequisites

  • En esta guía, se da por sentado que ya instalaste y configuraste Unity. De lo contrario, consulta la Guía de inicio rápido para Android de Unity a fin de conocer los pasos de instalación y configuración.

  • Asegúrate de tener activos para superponerlos en un rostro.

Cómo compilar y ejecutar la app de muestra

  1. Crea un proyecto nuevo en Unity según la guía de inicio rápido.

  2. En Build Settings > Scenes in Build, especifica la escena AugmentedFaces de Assets/GoogleARCore/Examples/AugmentedFaces/Scenes/.

  3. Asegúrate de que tu dispositivo esté conectado a la máquina y, luego, haz clic en Build and Run. Unity compila tu proyecto en un APK de Android, lo instala en el dispositivo y lo inicia.

    La app debe abrir la cámara frontal y comenzar a registrar tu rostro de inmediato en el feed de la cámara. Ubica imágenes de las orejas de zorro en ambos lados de la frente y coloca la nariz de zorro sobre tu propia nariz.

Cómo importar elementos a Unity

Para agregar tus propios elementos como texturas y modelos 3D a un rostro detectado en tu app, primero debes importarlos a Unity.

Descripción general de la implementación de rostros aumentados en tu app

Configura tu app para que admita rostros aumentados

Agregar la app de rostros aumentados a tu sesión de ARCore para configurar la app, establecer la escena y habilitar la cámara frontal

Después de configurar tu app para que admita rostros aumentados, automáticamente creará una malla de rostros aumentada a partir del primer rostro que se detecte para cada escena.

  1. En Unity, crea una nueva configuración de sesión para la app de ARCore (Assets > Create > Google ARCore > SessionConfig).
  2. En el Inspector para el elemento de configuración de sesión de ARCore, establece Augmented Face Mode en Mesh.

  3. Crea y configura la sesión de ARCore para admitir rostros aumentados de la siguiente manera:

    1. En la carpeta Assets, ve a Prefab y arrastra el dispositivo ARCore Device a la escena.
    2. Reemplaza la configuración de la sesión existente por la nueva que importaste anteriormente.
    3. En el Inspector, establece la opción Device Camera Direction en Front.

Orientación de la malla facial

Observa la orientación de la malla de rostros para Unity:

Cómo fijar una textura a la malla facial

Cuando se adjunta una textura a la malla facial, la app se superpone y vincula la textura a los vértices y la superficie identificados del rostro.

  1. Importa una textura a Unity.
  2. Crea un GameObject nuevo.
  3. En GameObject, agrega un nuevo componente ARCoreAugmentedFaceMeshFilter desde la muestra ARFaces en el SDK. Sugerencia profesional: En la ventana del proyecto en Unity, busca ARCoreAugmentedFaceMeshFilter para encontrarlo.
  4. Para asegurarte de que los elementos se vinculen automáticamente a la malla de rostros aumentados en GameObject, selecciona Auto Bind.
  5. Agrega un procesador de malla.
  6. Crea un material que use la textura que quieras adjuntar al rostro.
  7. Agrega el material al procesador.

Conecta un modelo a una región del rostro

Sigue estos pasos para colocar la raíz del esqueleto en la raíz de la pose central en el rostro. Esto también actualiza automáticamente las tres regiones para cumplir con la malla de rostros.

  1. Importa el modelo 3D a Unity.
  2. Agrégalo a la escena.
  3. Agrega la plataforma de pruebas. En este caso, deberías ver las regiones (por ejemplo, FOREHEAD_LEFT).
  4. Haz clic en Add Component y selecciona el componente de tipo AR Core Augmented Face Rig en la muestra de ARFaces del SDK.
  5. Selecciona la opción Vinculación automática. Esto vincula automáticamente el modelo con las regiones faciales.