腾讯游戏开发精粹Ⅱ
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 自定义捏脸工具包Face Avatar

以上的各个算法模块可以适用于多数的游戏自动捏脸需求。为了能够方便地在实际的游戏项目中进行部署,本章介绍的自动标注流程实现了一个自定义捏脸工具包Face Avatar。此工具包具有以下特性。

● 通用性。对于不同的游戏,只需要非常少的用户人工操作即可实现具体游戏的捏脸系统的搭建。

● 易用性。为各个模块所需要的人工操作提供所需的工具,如网格划分、关键点标注等。

● 轻量及便利性。各个算法模块相互独立,每个使用Face Avatar的游戏可以根据实际需求选取相应的模块进行自定义的拼接,搭建出所需系统。

● 可扩展性。用户可以根据实际需求对相应的算法模块进行修改,或者新增额外的模块。例如,用户可以自定义风格化关键点算法或增加属性分类模块。

图1.32给出了一个使用Face Avatar工具包进行系统搭建的样例。

图1.32 捏脸系统搭建样例

整个搭建过程分为以下几步。

(1)对目标人脸模板进行预处理,进行各个Mesh组件的分解、标准化,以及各部分贴图。

(2)对于给定的存在人脸的照片,采用Prediction模块进行人脸检测、关键点预估。如有需要,可以进一步预估眼镜和发型。

(3)对检测的人脸关键点进行处理,得到具备输入人脸特征且符合目标游戏风格的关键点。

(4)根据风格化关键点及人脸模板的Mesh,计算控制参数或直接调整网格,生成风格化的人脸Mesh。

(5)从检测到的人脸区域中进行颜色、纹理等特征的提取。根据提取的特征对标准贴图进行调整,使其带有当前人脸的颜色和纹理特征。

(6)最终Demo的输出为带有当前人脸特征且符合目标游戏风格的Mesh、贴图和附件信息(眼镜及发型)。

(7)游戏客户端根据这些信息进行相应的3D模型生成。

图1.32中的样例是其中一种搭建方式,用户可以根据实际需求进行调整。例如,如果不需要进行贴图的修改,则无须进行颜色纹理特征的提取,仅使用默认贴图即可。

Face Avatar工具包目前已经在《QQ飞车》游戏中上线使用,用户可以通过自拍或上传照片的方式来生成游戏人脸。图1.33展示《QQ飞车》AI捏脸实例。

图1.33 《QQ飞车》AI捏脸实例