将面部网格约束到 Spark AR 中的 3D 对象

Constrain facemesh to 3D object in SparkAR

我正在尝试将 facemesh 约束到 3D 对象,以便它会围绕 3D 对象的表面旋转以响应面部跟踪器,而不是移到一边。目前,facemesh 是圆柱体的子体,但没有以围绕圆柱体表面旋转的方式附加到它。

目前,我正在尝试使用边界框补丁来确定要将面部网格夹紧到的区域。到目前为止,网格与 3D 对象边界框相关,但不会约束到其表面。调整夹具补丁变量将在 space 内移动面网格,但也不会对其进行约束。

答案比我第一次尝试的要简单得多。使用补丁编辑器:

  • 从 facefinder 中解压 3D 旋转。
  • 从X和Y位置取from范围
  • 查看面部跟踪器的最大和最小范围rotation/position 值以设置起始和起始范围
  • 创建一个空对象并使其成为静止 3D 对象的子对象
  • 使面部网格成为空对象的子对象
  • 将面部跟踪器的 rotation/position 输出连接到空对象的 rotation/position 值。