AR Kit sample分析

arkit动画模型规范

关卡蓝图流程 1e1e1a18449ecb8f62ff484c8df64bc7 00207870e4ceabd1cfc07f94a6c8e572

使用Live Link Plugin驱动面部追踪数据,包括当前的面部表情和头部旋转,作为一个运动捕获设备来puppeteer一个onscreen charater.

概览

对比51个独立的面部位姿。这些位姿在ARKit SDK内部,每一个位姿对应面部的一个特定部分。比如左眼,右眼,嘴巴等。位姿的值在[0.0, 1.0]间变化。举例来说,如果一个用户闭上左眼,那么LeftEyeBlink会在[0.0, 1.0]之间变化。

也就是说,用户的面部自然移动时,所有的51个位姿会被SDK评估并分配一个值。UE4 ARKit集成了所有的51个位姿,通过Live Link Plugin导入到UE4中。这51个值能够驱动实时的任务面部表情。

需要做的是捕获并驱动人物的头部来确保角色内容能够使用这51个数据。这51个反馈数据在[0.0, 1.0]之间,因而十分适合驱动人物角色表情。

详情请参见:

arkit动画模型规范

设置

  1. 角色设置

    • 创建一个blend shape角色模型基于面部动画,包括51个blend shapes.理想的,这些blend shapes的命名也与Apple ARKit一致。
    • 导入到UE4,确保导入了Blend Shapes
  2. 在DefaultEngine.ini文件中开启面部追踪。

  3. 打开项目,在项目设置中设置AR为On.

  4. 创建并应用一个Data Asset来进行面部追踪。

    • 内容浏览器,Miscellaneous > Data Asset
    • 选择ARSessionConfig
    • 双击 new Asset
    • 设置 World Alignment: Camera
    • Session Type: Face
    • Horizontal Plane Detecion: Off
    • Vertical Plane Detection: Off
    • Enable Auto Focus: Off
    • Light Estimation Mode: Off
    • Enable Automatic Camera Overlay\Trakcing :Off
    • 在关卡蓝图中Begin Play后,带动Start AR Session,并设置ARSessionConfig数据。
  5. 创建一个动画蓝图,使用LiveLinkPose节点,名称为FaceAR.这个将ARKit的面部数据反馈到UE4中,驱动Blend Shapes。