FaceTrackerActor
FaceTrackerActor 是用于制作脸部彩妆效果和2D / 3D头饰效果(如帽子)的一类Actor,每个FaceTrackerActor对应一张人脸,默认对应检测到的第一张脸。如果想要支持多人脸,需要创建多个FaceTrackerActor。挂载到FaceTrackerActor上的其他2D、3D物体会跟随人头移动、旋转及缩放。
在编辑器中,只有facetrack类型的工程才能创建FaceTrackerActor。如果想要制作头饰效果,需要将3D模型或2D人脸关键点序列帧对应的Actor附加到FaceTrackerActor,对应编辑器的操作是将3D模型Actor或2D序列帧Actor拖拽到世界大纲面板中对应FaceTrackerActor的tracking下。
1. 脸部彩妆效果
创建的FaceTrackerActor默认没有彩妆效果,需要为其指定彩妆贴图和彩妆数据配置xml文件。其中彩妆贴图可以由美术设计,而数据配置xml文件需要由编辑器生成。
1.1. FaceTrackerActor彩妆属性
FaceTrackerActor彩妆效果的属性编辑界面如下:
属性说明:
- FaceMask纹理:脸部彩妆的贴图路径,支持png/jpg/pvr/ktx格式。要求脸部所有部位的效果都必须绘制到同一张图片上,不支持眼部、唇部、脸颊的效果分别保存。
- UV:对应彩妆数据配置xml文件的路径,由编辑器通过编辑生成。
- 显示人脸效果:是否显示FaceMask纹理在脸部的效果。
- 编辑UV:编辑人脸关键点的位置,最终生成新的配置数据。
1.2. 编辑UV
在编辑器中点击“编辑UV”按钮会弹出一个窗口,此窗口用来编辑人脸点对应的彩妆图上的位置(基于104个人脸关键点编辑)。
可以同时移动多个关键点的位置,同时也允许滚动鼠标滑轮缩放。通过调整图中关键点在彩妆图上的位置,最终生成配置数据文件(xml)并将其应用到场景中。
可以边调整关键点的位置,边在主窗口中查看调整后的效果。效果图如下两幅图所示:
1.3. 注意事项
- 设计师设计FaceMask纹理时,应该尽可能按照标准点的位置摆放不同部位的效果,否则在编辑器内需要调整的关键点会非常多,标准图如下所示(虽然给出的标准点96点,但是底层库是基于104个关键点计算的)。
- 要求脸部所有部位的效果都必须绘制到同一张图片上,不支持眼部、唇部、脸颊的效果分别保存。
2. 头饰效果
前文已经介绍,如果想要制作头饰效果,需要将3D模型Actor或2D人脸关键点序列帧Actor(XEImg2DFaceKeyPointSequenceFrameActor)附加到FaceTrackerActor。效果如下图所示(tracking表示跟随人脸移动、旋转、缩放):
主窗口中的预览效果如下图所示: