3D Face

No todos los artículos enlazados en esta página están traducidos al español. Estamos trabajando en traducir todos los recursos educativos. ¡Gracias por vuestra comprensión!
3D Face proporciona una malla 3D que se ajusta al rostro del usuario en tiempo real. Se puede usar para crear distintos efectos de rostro interactivos.


Cómo añadir 3D Face
Para añadir el efecto 3D Face, ve a + Add object > Face Effects > 3D Face en el panel Hierarchy. Se aplicará una malla predeterminada de un rostro en 3D en el panel Preview.

No puedes modificar el “Transform” del 3D Face ya que está rastreando tu rostro.
Cuando crees un objeto 3D Face, tendrá un componente Mesh Rendered y un componente 3D Face Binding agregado por defecto. En las siguientes secciones, aprenderás como configurar estos componentes para hacer efectos 3D Face.
Demo Effect: 3D Face Mask
Editando: face material + textureIn del ejemplo que tienes a continuación, aprenderás a cómo hacer un simple 3D face mask con un modelo o patrón personalizado. Descarga la demo:

Personalizando el material del 3D Face
Al crear 3D Face, también se genera Face Paint en la carpeta Material del panel Assets, y se asigna automáticamente a 3D Face.
Face Paint es un material predefinido que se aplica a la malla de 3D Face. Puedes utilizar el Face Paint predeterminado o crear uno nuevo en + Add asset > Material > Face Paint. Aprende más sobre Face Paint en este artículo.



Puedes usar Face Paint para crear un patrón personalizado, o crear y asignar otro material avanzado al 3D Face. Por ejemplo, usando un material Standarad PBR, puedes crear un efecto metalizado que reacciona a la luz ambiental.
Cómo personalizar texturas de 3D face
Creando una textura facial (Face Texture)
Para personalizar texturas para 3D Face, puede usar cualquier software de diseño 2D para crear una imagen de rostro. Puede descargar el paquete FaceAssets y usar face_uv.png como referencia para los puntos y posiciones clave en la cara.

Si quieres añadir tu propia textura a Face Paint, selecciona + Add asset > Import > From Computer y elige tu diseño.
Asignando la textura al material del rostro
Primero, haz clic en Face Paint Material en el panel de Assets. Luego arrastra la textura a la sección Texture para asignarla al material.


Si quieres conservar el canal alfa cuando estés en el modo de mezcla Normal, asegúrate de tener marcada la casilla Premult en Advanced Settings.

Demo Effect: 3D Face Morph
Editando: face mesh + material + texture

Cómo personalizar una malla de 3D Face
Descárgate FaceAsset.zip para personalizar la malla de 3D Face.


adjustedGeo_quads_01.fbx es la malla de forma de rostro que se usa en nuestro seguimiento facial. Siéntete libre de modificar el modelo en un software de modelado 3D. Asegúrate de no eliminar rostros ni vértices al ajustar la malla del rostro.

Puedes ajustar las blendshapes de tu modelo para crear diversos efectos en la estructura del rostro.
Importar una malla 3D Face
Importa el modelo de transformación de 3D Face mediante + Add asset > Import > 3D Face Binding Mesh en el panel Assets. Puedes utilizar la malla a continuación como ejemplo:

Propiedades de la malla de rostro
Vamos a aprender un poco más sobre Face Mesh Info, para ello selecciona Face en el panel Assets.

Which Face: 3D Face admite un máximo de 5 rostros. Por cada rostro, puedes especificar a qué rostro del video de entrada quieres aplicar 3D Face. Puedes añadir varios objetos de rostros para crear diferentes efectos de rostro.
Fill Eyes: Marca esta propiedad para rellenar los ojos de la malla de rostro.
Fill Mouth: Marca esta propiedad para rellenar la boca de la malla de rostro.
Create face texture: Al hacer clic en esta opción, se generará una textura de rostro dinámica basada en el rostro seguido.
Aplicar la malla de rostro a 3D Face
Elige 3D Face en Hierarchy y luego reemplaza la propiedad Mesh por la malla de 3D Face personalizada.

Configurar Deformation Component
Verás que el componente Deformation se ha asignado automáticamente a 3D Face. Esto ocurre porque la malla tiene formas fusionadas integradas (blendshapes). Un componente Deformation aparecerá automáticamente si la malla contiene blendshapes.

Propiedades de la Deformación (Deformation)

- Calculate Normal: si se activa, los valores de posición y normal se calcularán mediante las formas fusionadas. Si se desactiva, solo se calculará la posición mediante las formas fusionadas.
- Weights:
- ChannelName: usa este control deslizante para ajustar el peso del canal. Se puede ajustar entre 0 y 1.
Aplicar Real-time Face Texture a 3D Face
Para extraer una textura de rostro en tiempo real y aplicarla en tu malla de 3D Face, selecciona la malla Face predeterminada en el panel Assets y luego abre el panel Inspector y busca Face Info. Haz clic en Create face texture para extraer la textura del rostro que encontrarás en el panel Assets.

Aplica la textura de rostro al material del rostro 3D.

Demo Effect: Swap Faces (Intercambiar rostro)
En este ejemplo, aprenderás cómo intercambiar yu cara con la cara de su amigo/a. Descarga el siguente archivo de demostración:

Crea dos rostros 3D haciendo clic en + Add object > Face Effects > 3D Face dos veces en el panel Hierarchy. Verás que hay dos mallas de rostro y dos materiales de face paint creados en el panel Assets.

Para aplicar la textura del rostro de una persona al rostro de otra persona, primero genera la textura del rostro a partir de las entradas de la cámara para cada rostro. Seleccione la malla del rostro en el panel Assets, luego ves al panel Inspector para encontrar la Face Info. Haz click en Create face texture para extraer la textura facial que puedes encontrar en el panel Assets. Lo mismo para Face(1) Mesh. Sin embargo, para generar la textura del rostro a partir del segunda rostro de la escena, debe cambiar el valor Which Face a 1 y luego hacer clic en el botón Create face texture.


Ahora, aplica Face (1) Texture al material Face Paint del objeto 3D Face. Aplica Face Texture al material Face Paint (1) del objeto 3D Face (1).


Selecciona el objeto 3D Face (1) en el panel Hierarchy. Ves panel Inspector y cambia la propiedad Which Face del componente 3D Face Binding al valor 1. Ahora deberías ver la cara intercambiada.
Propiedades relacionadas con rostros 3D (3D Face Binding)

Which Face: Indica qué rostro debe seguir la malla, basándose en el orden en que se añadió a la escena. Elimina este componente para controlar y adaptar manualmente el 3D Face.