腾讯游戏开发精粹II——1.1 游戏中的捏脸系统
内容简介
【腾讯游戏开发精粹II——1.1 游戏中的捏脸系统】《腾讯游戏开发精粹Ⅱ》是腾讯游戏研发团队不断积累沉淀的技术结晶,是继2019年推出《腾讯游戏开发精粹》后的诚意续作。本书收录了21个在上线项目中得到验证的技术方案,深入介绍了腾讯公司在游戏开发领域的新研究成果和新技术进展,涉及人工智能、计算机图形、动画和物理、客户端架构和技术、服务端架构和技术及管线和工具等多个方向。本书适合游戏从业者、游戏相关专业师生及对游戏幕后技术原理感兴趣的普通玩家。
1.1 游戏中的捏脸系统
随着游戏行业的快速发展,个性化的角色设定已经越来越成为必不可少的功能。个性化角色可以根据玩家的喜好进行局部的修改、编辑、增删等。
在早期的2D游戏中,游戏角色的个性化设定往往通过修改贴图来实现,不同部位的贴图存在图层前后关系,以达到最终效果。例如,用户可以指定不同的发型、服装,其贴图可以覆盖标准角色的头部及躯干,以达到修改游戏角色的效果。
现阶段的多数游戏采用了3D技术,通过网格与贴图的方式,以3D形式呈现游戏中的角色。常见的3D角色的个性化设定有两种方式:①模板选择方式;②自由调整方式。
模板选择方式通常将角色划分为不同的部分,每个部分提供多套模板供用户选择。例如,不同的发型、不同的脸型、不同的服饰等。通过模板选择方式,用户可以自定义多种不同的搭配,以实现个性化角色的设定。此类方法的优点在于模板都是游戏制作者预先制作好的具备美观效果的样例,用户所能改变的仅仅是不同部分的组合方式,最终效果相对可控。缺点则是游戏制作者需要花费大量的时间与人力对各个部分生成足够多的模板,由于人力的限制,往往无法提供足够多的具备各色特征的模板,造成个性化能力表示不足。
为了提供更加自由的个性化角色生成,很多游戏开始采用自由调整方式。游戏提供了很多具有物理含义的滑条供玩家调整,如眼睛大小、肤色深浅、脸部长短等。通过提供多种滑条,玩家可以对各个部分进行各种非常细致的控制。有些游戏直接让玩家对某些关键点进行拖曳,以达到改变模型的效果。自由调整方式使得最终可以生成的个性化角色的数量大幅增加,并且可以减少人工生成模板的成本,因此开始被越来越多的游戏采用。
本章关注游戏中3D人脸的自由调整方式的个性化。人脸的特征往往是个性化中最为关注的部分,对于细微的变化,玩家可能会主观认为有较大的差别。对于没有美术功底的普通玩家而言,通过滑条或关键点的调整达到满意的细微的人脸变化十分困难。因此,自动捏脸成为了很多游戏中的关键模块。
目前,行业中的自动捏脸系统主要有以下几方面的问题:①仅能适用于真实系的游戏,现有的系统采用将真实人脸的特征直接迁移到游戏人脸的方法,保证两张人脸的类似,无法适用于风格变化较大的卡通系游戏;②现有的系统需要对游戏引擎进行模拟或对真实人脸进行全脸建模(如《天涯明月刀》),计算复杂度较高;③现有的系统模块耦合度较高,对于不同游戏的部署需要进行算法及系统方面的较大调整。
本章将介绍基于照片的自动捏脸系统的设计与实现。玩家只需要上传一张单人照片,系统将自动分析与提取人脸的特征,并自动生成带有照片中人脸风格的游戏人脸。
本章的结构如下:首先介绍整体的基于照片的角色捏脸流程,然后对每个模块依次进行说明。主要模块包含基于关键点的人脸表示方法、人脸关键点检测、人脸关键点风格化调整、基于关键点的网格变形、骨骼参数估计、图像特征提取和发型分类。最后介绍基于以上模块搭建的自定义捏脸工具包Face Avatar。
《腾讯游戏开发精粹Ⅱ》电子版已上线UWA学堂 | Unity和Unreal游戏引擎的从业者学习交流平台,感兴趣的读者可以前往阅读。
推荐阅读
- 王莉(将开发文档英文化和本地化,我们努力让OpenHarmony走向全球)
- 解决 API 开发中遇到的 CORS 问题
- 中控考勤机二次开发小记
- 物联网中间件平台-05YFIOs策略开发指南
- 最佳Python课程(程序员和开发人员应在2020年考虑)
- ARM开发板 嵌入式Linux 修改开机启动LOGO
- Dynamics 365基于FetchXml的S S R S报表开发实例
- 学嵌入式Linux软件开发需要的知识
- 嵌入式Linux开发环境中双网卡使用过程杂记
- Linux 驱动开发 | 驱动世界里的宏伟建筑