Cómo crear texturas personalizadas y modelos 3D para rostros aumentados

Para implementar rostros aumentados, necesitas texturas y modelos personalizados para superponer las mallas de rostros identificadas. Los artistas crean estos elementos con anticipación en software de animación y modelado 3D, y los exportan como archivos *.fbx.

El SDK de Sceneform para Android se incluye con un archivo canonical_face_mesh.fbx y un archivo canonical_face_mesh.psd para ayudar a los artistas a crear elementos que se superpondrán correctamente en los rostros que detecte ARCore. Estos archivos se pueden encontrar en la carpeta assets.

Usa el archivo *.fbx para crear elementos

El archivo *.fbx contiene la topología de la malla de rostros, las coordenadas de texturas UV y los equipos que definen las regiones faciales admitidas para crear y adjuntar elementos. Para asegurarte de que sean compatibles con ARCore,*.fbxlos archivos deben guardarse con la configuración compatible. Luego, puedes importar estos archivos al proyecto como archivos *.sfb.

Este archivo contiene una referencia facemesh que no debe exportarse como parte de la *.fbx final. ARCore generará y actualizará una malla de rostros separada en el entorno de ejecución.

Usa el archivo *.psd para crear elementos

La textura de referencia de la malla de rostros .psd se usa para ver cómo una textura que un artista crea se alinea con los rasgos faciales de un usuario en el tiempo de ejecución. Incluye cuatro capas:

  • Máscara: Muestra la ubicación de los ojos, las fosas nasales y la boca en la textura.
  • Líneas: Lineamientos que muestran cómo los rasgos faciales de un usuario se alinean con una textura durante el tiempo de ejecución.
  • UV: Representa la triangulación de la malla de textura de rostro de 468 puntos.
  • Fondo: Una capa de fondo gris neutra para que los otros tres componentes sean visualmente claros.

Si modificas el archivo *.psd, deberías ver tus cambios en cuanto exportes.

Requisitos y formato de los elementos de FBX

Te recomendamos que admitas la siguiente configuración para los archivos *.fbx exportados desde el software de modelado y animación.

  • Formato de archivo: FBX 2016/2017 o posterior

  • Conversión del eje: El eje hacia arriba es Y

  • Factor de escala: centímetros

  • Configuración de geometría requerida:

    • Suavizar grupos
    • Malla suave
    • Contenido del activo al que se hace referencia
  • Configuración de geometría recomendada:

    • Tangentes y binormales
    • Triangulado
    • NURBS
  • Animación: habilitada

  • Configuración de modelos deformados:

    • Modelos deformados
    • Aspectos

Cómo personalizar la malla de rostros canónica

Si se crean modelos y texturas con el assets/canonical_face_mesh.fbx incluido en el SDK, también se requiere esta configuración cuando se exportan archivos *.fbx:

  • Asegúrate de que las mallas personalizadas tengan una piel para los huesos o las regiones asociados.

  • Usa la siguiente jerarquía:

    asset
    |__root
    |   |__NOSE_TIP
    |   |__FOREHEAD_RIGHT
    |   |__FOREHEAD_LEFT
    |__facemesh           <-- for reference
    |__                   <-- place additional custom 3D meshes here
  • No exportes el modelo facemesh incluido. Esta malla es solo de referencia. ARCore creará una malla de rostros separada en el entorno de ejecución. Usa los UV de facemesh como referencia cuando crees texturas de malla de rostros personalizadas.

  • Coloca mallas personalizadas como secundarias del nodo asset.

  • Se admite el uso de espacios de nombres.

  • El elemento contiene cuatro huesos que constan de root y tres regiones: NOSE_TIP, FOREHEAD_RIGHT y FOREHEAD_LEFT. No cambies los nombres de estos huesos.