BioWare 揭开了《龙腾世纪:面纱卫士》神奇头发技术的面纱

在玩家和开发者拥有的众多众多事物中称赞关于 BioWare 的龙腾世纪:面纱守卫是角色创建器中令人难以置信的头发选项。在制作完美版本的 Rook 时,玩家可以从 100 多种风格中进行选择,其中许多风格捕捉到了电子游戏中不常见的发型的高品质细微差别,例如黑人角色的头发。

他们是怎么做到的?今天,当 BioWare 和 EA 揭开面纱时,我们得到了一些答案技术深度探讨进入龙腾世纪:面纱守卫的头发技术,描述了工作室如何使用 Frostbite 引擎模拟多达 50,000 根单独的头发。

有很多见解不是这篇文章中分享了一些东西——就像 Frostbite 工具的更精细的工作方式——但 BioWare 提供的数据出人意​​料地强大,并为开发者在未来的游戏中为他们自己的头发系统提供了基准。正如工作室技术总监 Maciej Kurowski 所写,该系统被称为“Strand Hair”渲染系统(取决于内存和 GPU),并使用定制的计算软件光栅器将头发合成到框架中,然后将其与其他不透明和透明对象混合。

面纱卫士头发系统需要与更透明的对象一起渲染。

正如 BioWare 的帖子所解释的那样,Strand Hair 是 Frostbite 引擎中现有的头发系统,已用于 EA 的各种体育系列,例如 EA Sports FC 和 Madden NFL。

在这些游戏中,头发系统不仅旨在模拟头发在球场上的工作方式,而且通常通过捕捉景深的电视摄像机的视角来模拟头发的工作方式。然而,这些游戏并没有齐腰的头发、在角色头上的角周围飘逸的头发,或者在烟雾缭绕的情况下从法杖中飞出十亿个魔法粒子的同时渲染的头发。

根据 BioWare 的说法,最终的结果是一个头发附件“无缝”移动的系统,并且头发的模拟和渲染去细化已经完全解耦。头发长度上限也从“63分”延长至“255分”,让齐腰发型的梦想成为现实。

了解更多:龙腾世纪:面纱卫士总监 Corinne Busche 在任职 18 年后离开 BioWare 和 EA

高级渲染工程师詹姆斯·鲍尔(James Power)写道,这项技术涉及将头发分成“两个不同的通道”,第一个是不透明的,然后是透明的。 “为了将头发分开,我们在渲染通道中添加了一个 alpha 截止值,将头发与世界合成,并首先渲染高于截止值的头发(>=1,不透明),然后渲染低于截止值的头发(透明),”他写道。

在渲染分割通道之前,首先渲染头发透明部分的深度,通常创建发丝的“末端”。它成为发丝“下方和上方”的透明像素之间的空间屏障。游戏先渲染头发的不透明部分,然后渲染透明物体。

为了确定着色像素是位于毛发“下方”还是“上方”,它会检查透明毛发深度纹理以获取信息。如果它位于“下方”,引擎将渲染头发并标记“模板位”。如果它位于“顶部”,则该像素将被丢弃并且不会渲染任何内容。

之后,游戏再次绘制透明对象,使用“模板位”查看之前没有绘制透明对象的位置,从而允许“正确”渲染透明对象。

在游戏中的引擎内过场动画中,所有这些细节都变得更加难以管理。当照亮这些场景时,头发必须适应各种光线,如广角灯、远距离灯等。因此,游戏根据艺术家指定的对镜头“重要”的每个相应光线,为每个 Strand Hair 对象渲染“英雄阴影”。

正如您在角色贝拉拉的随附渲染中所看到的,英雄阴影创建了更自然的质感,并保留了她头发的一些不同色调。

图片来自 BioWare/Electronic Arts。

这确实意味着每个 Strand Hair 资源都具有较高的内存占用量,这会占用可分配给其他资源的内存量。面纱卫士与大多数体育游戏相比,屏幕上一次渲染的角色确实更少,但仍然有很多资产争夺宝贵的内存。渲染玩家角色和追随者的“全场”的 GPU 成本为 128mb。

幸运的是,头发需要“更少的内存”来占用更少的像素,并且成本可以根据场景中的内容动态调整。 Xbox Sereis X 和 PlayStation 5 的成本显然约为 400mb,但高端 PC 的运行内存可达 600mb。 Xbox Series S 和低端 PC 可以在需要时将 Strand Hair 资源替换为“Card Hair”资源,这样内存占用更低,并允许其他高保真资源正确渲染。

“为了确保满足帧时间要求,我们将控制台的毛发渲染最大帧时间预算设置为 6.5 毫秒(30 FPS)(33.3 毫秒帧时间)和 3 毫秒(60 FPS(16.6 毫秒帧时间)),屏幕上有八根毛发资源,”Power 写道。 “我们的头发分辨率控制将根据我们的上采样器和 DRS 设置在最小和最大分辨率内调整分辨率,并使头发成本与这些目标成比例。这一点很重要,因为如前所述,头发不会经过上采样,并且不会因这些技术而减少其负载。”

在 GPU 上完成的头发渲染往往会持续 2 毫秒左右,有些峰值会达到 5 毫秒,“具体取决于头发的复杂程度”。

情人眼里出西施

BioWare 令人印象深刻的毛发技术凸显了对高质量、逼真图形的争夺现在如何推动了对复杂解决方案的需求,以渲染看似普通的动作和物体。一般玩家不会过多考虑 Thedas 中的角色突然拥有更长的头发这一事实,但那些想要充分生活的人阿丽亚娜格兰德幻想现在有这个机会。

尽管进一步的图形进步可能越来越难以用眼睛看到,但它们所需要的努力并不比鲍尔、库洛夫斯基和他们的同事所展示的那样少。