We implemented different components to animate the face of virtual humans all derived from ``VHFaceAnimation'' which
* also contains a method ``SaveAsAnimSequence(FString AnimName)`` which can be used to convert the animation data given in .csv, .txt etc. to an Unreal Animation Asset (.uasset)
We implemented different components to animate the face of virtual humans all derived from ``VHFaceAnimation'' which contains
* Flags (``bUseHeadRotation`` and ``bUseEyeRotations``) that specify whether only blendshapes and jaw bone or also head and eye movements should be used (not provided in each component, e.g., not in OcukusLipSync)
* A ``Calibrate()`` method to always use a specific frame from a specific animation as neutral face or a ``bResetFaceCalibration`` flag, to specify a frame at time ``TimeForCalibration`` of the current animation to be used for calibration, i.e. substracted from every frame. This can be used when the animation sequence starts with a neutral face which is not detected as entirely neutral due to differences in the tracked faces.
* A ``LoadAnimationFile()`` method that loads an animation with the given implementation, and can also be used to preload animations, since they are cached and reused. Alternatively you can also specify an animation to use with ``AnimationName`` which is loaded, if set, on ``BeginPlay``.
* Provides general ``PlayFromTime(StartTime [in seconds])``, ``Play()``, ``Stop()`` and ``IsPlaying()``
* Also contains a method ``SaveAsAnimSequence(FString AnimName)`` which can be used to convert the animation data previously loaded with ``LoadAnimationFile()`` to an Unreal Animation Asset (.uasset) with name ``AnimName``
The Face Animation uses a pose asset that maps the different poses provided by, e.g., LiveLink to the blendshapes of the model. If you need to create a new pose asset, the names of the poses can be found in the ``PluginContent/Characters/FacePoseAssetsResources``. You need to create an animation with curve values for all needed blendshapes, where each frame of the animation is one pose (frame 0 being the first pose). :warning: Avoid bone tracks, and even remove those from the animation if present. Then you can click ``Create Asset -> Pose Asset`` and copy paste the pose names in there.