REQUIREMENTS

NB: This face capture system is based on facial landmark detection: Even if it can recognize a wide range of faces, it could have difficulties to detect some features in some kind of face and appearance.




GETTING STARTED
INSTALLATION


MODEL SETUP


CAPTURE EDITOR

On the right area you can find the WEBCAM area.
You can decrease the LERP SPEED for a smoother but slower animation, or increase it for a faster but error-prone animation.
If your blendshapes tend to overlap each other, you can enable the NORMALIZE option, to keep the global sum of weights under the cap.
The RECORDING FRAME DT value is delta time between each recording frame. Keep it at 0 for smoother animations.
Under NECK BONE SETTINGS you can setup the neck bone ( and bind relative axis of bone to the capture rotation by a multiplier and an offset value ).
In ADDONS AREA you can configure addons. Please see ADDONS section.


BLENDSHAPES EDITOR
  • Once you linked a METRIC, the system will need to know 2 informations to produce the final blendshape value:
    The BASE VALUE and the TARGET VALUE.
  • The BASE VALUE is the value that the METRIC will have when the blendshape value is equals to 0. So that's the value that the METRIC will have when the actor stay in a NEUTRAL POSE.
    To set this value, the actor must stay in a neutral pose ( that mime the neutral pose of the 3D model with all the blendshapes values at 0 ), and press the [ ❶ CAPTURE [BASE VALUE] ( STAY IN A NEUTRAL POSE ) ❶] button.
  • The TARGET VALUE, instead, is the value that the METRIC will have when the blendshape value is equals to 1 ( or 100 in Unity's range ). So that's the value that the METRIC will have when the actor mime the TARGET POSE.
    For example, if we are setting up a blendshape that represent a mouth open pose, the actor will have to open the mouth and press the [ ❷ CAPTURE [TARGET VALUE] ( MIME THE TARGET POSE ) ❷] button.




API
CLASS: FaceTracker ( FaceTracker.cs ) ⇒ MonoBehaviour
Polyphemus outputs standard AnimationClips that can be used in different scenarios, from the legacy Animation to the Animator controller, including the use of the Timeline and Playables. It also comes with a simple API to control the playback inside the FaceTracker class. Here's a summary of main fields and methods:

Public Methods:

Properties:

Properties [UPDATED ONLY DURING THE IN-EDITOR CAPTURE]:
CLASS: FaceTrackerConfig ( FaceTrackerConfig.cs )
The FaceTrackerConfig class contains the FaceTracker configuration data and, during the recording, will contains recorded values.
You should access to the FaceTracker's config instance only in EDITOR MODE, because its data will be updated only during the recording.

Public Fields:


EXTENDIBILITY
Two of the core features of Polyphemus are:
-Capture facial landmarks points.
-Transform these points into blendshape.
From points and blendshape values, you can build up several generic and/or specific 3D model related features.
For example, it's possible to implement a wrinkles map system, that change some normal map area intensity according to these blendshape values.
Or... make something happen when the upper point of mouth is near enough to the bottom nose point.
Or... force eye blinking pressing a button...
Or... hardcode some blendshape logics or constraints.
Or... why not, use points and/or blendshape values to drive skeleton-based 3D face model's bones.
To add this kind of features, you'll have to extends the FaceTrackerAddon ( it's a MonoBehaviour ) and attach it to the same GameObject containing the FaceTracker component.

In the package budle, there are included two Addon examples ( FaceTrackerAddonExample.cs and FaceTrackerWrinkles.cs ) that should be a good starting point to understand how it works.
CLASS: FaceTrackerAddon ( FaceTrackerAddon.cs ) ⇒ MonoBehaviour

Public fields:

Virtual Public Methods:

EDITOR ONLY Methods:
  • To access to captured facial landmarks current points, use the FaceTracker points array: faceTracker.points
  • To access to captured current metrics, use faceTracker.config.metrics.[METRIC_NAME].currentValue


PERFORMANCE TIPS
FaceTracker Editor:
Unity:


FAQ


SUPPORT


LICENSES