为“ OnAir”游戏创建角色的头像

下午好 我叫Daria,我是RainStyle制作工作室的3D艺术家。 我们目前正在开发一款名为直播”的科幻恐怖游戏。

图片

游戏讲述了主人公意外发生的神秘事件,后者意外地留在了美国旅馆Algol。 这件事将彻底改变他的生活,使他面对未知的事物。

这是我们的第一个游戏项目,我们在其中尝试实现角色的最大真实感,传达他们的情感和角色。 因此,为了创建它们,决定使用面部扫描技术。 作为项目目标的一部分,我们需要为角色提供两个详细程度的信息:渲染(用于电影)和低多边形(用于游戏本身)。

游戏是在Unreal Engine 4上开发的。我们计划编写几篇文章,其中将详细描述角色准备的阶段。

目前,我们正在创建游戏的演示版本,该版本将很快出现在Steam中。 在本文中,我将讨论创建游戏主角面孔的初始阶段。

图片

第一部分


下图显示了我们在处理扫描后收到的一些情绪。

图片

基本上,它们是夸张的,似乎并不现实。 这是有目的的。 事实是,这种创建面的方法的基础是混合“混合形状”形式的原理。 也就是说,这些情感中的每一种都不会以“纯粹”的形式应用,而是会与其他情感组合使用。 我将在文章的最后详细讨论。 首先,您需要弄清楚如何处理扫描头以及如何使用它。 显然,扫描的拓扑不允许将其用作模型,但是通过烘焙法线贴图,我们可以获得脸部,皱纹,毛孔,肿块或疤痕的主要特征。 同样从扫描中,我们可以提取基色的纹理。

图片

Wrap 3.3程序将为我们提供帮助。 它被广泛用于处理扫描的模型。 在其帮助下,我们将把未来的头部模型投影到扫描仪上。

第二部分


首先,您需要创建所谓的基础网格。 也就是说,中性的面部表情将成为所有情感的基础。 我们的中性情绪扫描如下所示:

图片

Wrap 3.3程序具有一个节点系统,即所有功能均以通过链链接在一起的节点(节点)的形式呈现。

使用Tab键执行节点选择。 使用LoadGeom和LoadImage节点,加载带有中性情绪的扫描及其对应的纹理。 为此,请在“文件名”窗口中指定路径。 在“ LoadGeom”节点的设置中,可以选择各种显示几何的模式(下图禁用了线框功能)。 在这里,您还可以更改几何图形的颜色(如果连接了纹理,则不起作用),坐标和比例。

图片

接下来,您需要加载基础网格物体,该网格物体将投影到此扫描中。 您可以在“画廊”选项卡上找到它。 这里有许多现成的情绪。 在这种情况下,我选择Basemesh。

图片

Basemesh应该与扫描大致匹配。 为此,可以使用坐标轴。

要将基础网格物体投影到扫描中,我使用“包裹”节点。 当您将鼠标悬停在节点的节点上时,将显示提示:第一个节点“浮动几何”(用于投影的几何形状),第二个节点“ Fixet几何”(用于在其上投影几何的固定对象)(在我们的示例中,这是一种带有中性情绪的扫描)。

图片

要开始计算,必须在两个模型上标记彼此对应的点。 为此,使用了“选择点”节点,该节点连接到模型的相应节点。 选择此节点后,转到“可视编辑器”选项卡。 随附的“同步视图”功能可让您同步左右窗口的摄像机。

图片

如果投影模型包含应保留的多边形,则必须使用“选择多边形”功能选择它们。 否则,可能会出现与网格的内部细节相关的伪影。

图片

要使用“选择多边形”节点,请使用“可视编辑器”选项卡。 在这里,您可以选择将图库中的模型分为多个多边形组的多边形,这简化了任务:可以在顶部面板上选择或取消选择它们。

我强调了喉咙,鼻孔,极端的眼睑和下颈的内部。

图片

图片

之后,将正确投影模型。

图片

另外,为了获得更细粒度的信息,可以使用“细分”节点。 它连接到基础网格物体,下面的所有节点都连接到其下部节点(输出)。

图片

接下来,将纹理从扫描烘焙到基础网格。 为此,使用了“传输纹理”节点。 源几何节点连接到将要烘焙纹理的模型。 在我们的情况下,这是一次扫描。 因为我们将使用已经修改的投影几何体,所以目标几何体节点将连接到基础网格物体,但不连接到LoadGeom节点,而是连接到包装节点。

图片

在此节点的设置中,可以选择烘焙纹理的质量。 之后,值得添加“外推图像”节点以填充透明位置,并使用“保存图像”节点并按“计算当前帧”按钮保存生成的纹理。 使用“保存几何体”节点以相同的方式保存几何。

图片

第三部分


获得中性的情感和质感后,我们可以继续获取其他情感的几何形状。 为此,请向扫描模型和Basemesh加载纹理。

图片

接下来,您需要根据扫描对齐Basemesh。 对于初学者,您可以使用坐标轴近似比较模型。

图片

允许您更准确地将模型彼此相对对齐的节点-刚性对齐。 浮动几何节点连接需要对齐的几何。 分别在“固定几何”节点中,将存在静态几何(在我们的示例中,这是一次扫描)。

图片

使用“刚性路线”节点时,必须使用“选择点”节点:

图片

我的模型具有控制标记,可以简化选择点的任务。 为了使模型彼此对齐,必须将点放置在描绘特定情绪时会稍有变化的面部部分上。 对于这种情绪,这是前额,鼻子的上部,脖子等。 另外,建议将点放置在模型的所有侧面(例如,不仅在脸部,而且在头和耳朵的后部)。

图片

结果,我们使模型相对于彼此对齐:

图片

在“刚性路线”节点的设置中,有一个“匹配错位”功能。 如果模型也需要缩放,则使用它。

之后,您可以开始将基础网格物体投影到扫描中。 为此,我们将使用“光流包裹”节点。 它使您可以根据扫描的纹理对齐几何。 同时,除皱纹,皱纹和其他变化外,最终的情绪纹理将与基本网格的纹理完全重合。 使用此方法时,皮肤和毛孔的所有不规则之处均会保留。

图片

与第一种情况一样,在使用光流之前,请使用“选择多边形”节点:

图片

因此,头部的固定部分将保持在原位。

您也可以使用“选择点”节点。 以下是面部运动部分上的点:

图片

接下来,转到光流设置。 可以调整的摄像机出现在模型周围的“可视编辑器”窗口中。

图片

顶部有一个下拉菜单,您可以使用它从相机查看视图。 默认情况下有13个,您需要进行设置以使脸部完全适合框架。

图片

根据开发人员的建议,除“最终分辨率”和“光流平滑度”最终参数外,我几乎保留了几乎所有设置:

图片

之后,您可以单击“计算”并查看结果:

图片

将网格精确投影到扫描后,您需要烘焙纹理。 这是根据与本文第一部分相同的原则完成的:

图片

因此,如果将结果纹理与基础网格物体的纹理相结合,将添加一些细节,但同时,控制点将重合:

图片

之后,可以保存纹理和生成的几何图形。

图片

结果,我们得到了一种带有纹理的新情感网格。

第4部分


混合形状方法可让您“混合情绪”。 为此,请在“混合形状”节点中加载已经接收的网格。

图片

我把中性的情绪带入了第一个结。 在节点设置中移动滑块,您可以选择表达这种情感的强度。 为了使该方法起作用,模型必须具有相同的拓扑。

图片

图片

结果


上述过程只是大量工作的一小部分。 收到LowPoly头部模型后,有必要创建法线贴图,粗糙度,次表面等,并配置着色器(在我们的示例中,我们为渲染和引擎配置了着色器)。 眼睛,衣服和头发也分别创建。 还值得注意的是,只有三个人执行了此任务。 这是我们第一次创建高度详细的角色。 我们对结果感到满意,但我们将继续努力。

图片

Source: https://habr.com/ru/post/zh-CN471288/


All Articles