首页 经验分享文章正文

阿凡达:潘多拉的边界 - 大开发人员技术采访

经验分享 2025年06月14日 02:18 8 一只巧兰呀

  阿凡达(Avatar):潘多拉(Pandora)的边界几乎无处不在,成为一年中看起来最好的游戏之一,电影系列的标志性设置精美 ,几乎是孤岛般的游戏玩法和新升级的雪花发动机 - 该引擎本身是十年以前的E3首次宣布的。最重要的是,阿凡达(Avatar)不仅是PC上的技术胜利,它推动了图形技术的界限 ,而且还在游戏机上 - 它在PlayStation 5,Xbox系列X甚至系列S上的表现非常好 。

  标题背后的工作室是Ubisoft Massive,最近数字铸造厂的Alex Battaglia有机会在其技术开发中采访了两个关键人物:游戏的技术总监Nikolay Stefanov和Snowdrop Engine的渲染架构师Oleksandr Koshlo。

  接下来的采访是幕后令人着迷的表情 ,说明了大规模开发雪花引擎,以视频游戏形式实现潘多拉的世界,并提供一种类型和质量的游戏 ,这种游戏并不像以前那样普遍。

  像往常一样,问题和答案都被轻轻地编辑为清晰 。享受!

  这是《阿凡达:潘多拉的边界》的完整PC技术评论,该评论详细介绍了其许多系统以及它们如何成功或不足。

  Digital Foundry:我注意到玩游戏的第一件事是您使用了一个全新的全球照明(GI)系统。自从2018年具有RT能力的GPU发行以来 ,我们已经看到了许多用于实现硬件RT照明的不同技术 ,因此我很想听听它在此版本的Snowdrop以及您开发中拥有的手 。

  Oleksandr Koshlo:我是Snowdrop的渲染建筑师,所以我的工作是寻找图形渲染器开发的一般方向。我花了很多时间在射线追踪的BVH(边界数量Hierachy)管理部分,而团队的其他成员则花费时间在实际照明上 ,其中的“射线”部分...我们在射线追踪世界中具有几何形状的较低范围代表。它是屏幕空间轨迹,世界空间硬件轨迹以及探针的结合,它们也在射线跟踪以获取适当的照明 。

  因此 ,过程是进行屏幕空间跟踪。如果我们击中了某些命中,那就照亮了这一点,如果没有 ,让我们继续使用硬件射线进入射线追踪世界。根据效果,即弥漫性GI或镜面反射,射线的长度不同 。因此 ,如果它没有在射线的长度上击中任何东西,我们会落后于探针结果 。因此,我们从对故障的探针中得出结果。如果您确实击中了某些东西 ,我们会用当地的灯光 ,阳光以及探针的反馈来点亮它。探针都是错过的射线的后备,也是次要光的来源 。这就是我们获得反馈和多求的方式。

  Nikolay Stefanov:我认为您会看到的一件事是 - 因为我们都是瑞典人 - 我们对命名事物非常糟糕。因此,我们没有吸引人的名字 。但是我认为这是一个非常酷 ,多才多艺的系统,它使我们基本上可以利用到目前为止所做的所有不同技术。因此,对于该部门 ,我们采用了基于探针的照明,现在继续使用它作为次要弹跳,屏幕空间GI和射线跟踪的一种缓存。当然 ,我们还利用硬件射线跟踪 。但我认为我们应该提到的一件事是,对于不支持硬件加速的RT的图形卡,我们也有一个计算着着色器后备。

  Oleksandr Koshlo:很难区分屏幕空间和世界空间射线 ,因为我倾向于将世界空间射线称为“硬件射线 ”,但是这些在软件中也可以做到,并且当我们谈论探针时 ,我想强调的是 ,这些是实时的射线追踪探针。没有什么烤 。

  Digital Foundry:这也是我想知道的,因为我想您也使用透明胶片的探针 - 如果您回到您之前拥有的PRT(预先计算的辐射转移)系统,那么它们肯定不会像在这里那样高质量。

  Nikolay Stefanov:完全。可以这么说 ,以这种方式进行探针更像是辐射缓存,而不是烤进来的东西 。谈到“烤制”,这是该系统也非常出色的一件事 - 它使我们可以跳过所有昂贵的烘焙 ,因为潘多拉的世界更详细,而且与我们在各个部门的环境中相比,它更加详细 ,并且它具有更多的区域 。我们最初使用PRT系统开始游戏,该系统需要几天的时间才能在整个层面上烘烤。只是在世界上进行迭代花了很长时间。因此,拥有一个使我们能够四处移动东西并实时查看变化的系统真的很好 ,尤其是在室内装饰方面 。

  Digital Foundry:是的,游戏从内部开始,您已经可以通过手电筒注意到它 ,这些角色从内部走来走去 ,实际上在您经历世界时实际上重新确定了世界。如预发行材料中所述,有射线追踪阴影。您能解释一下它是如何工作的吗?

  Oleksandr Koshlo:正如我之前提到的,我们对BVH有一个较低的几何形状表示 ,这意味着我们不能将RT用于精确的阴影...但是我们确实以两种方式使用它 。一个是接触阴影,所以朝光线的短射线,以查看我们是否碰到任何表面以获得触点硬阴影。与之相反的是远程阴影。因此 ,我们的影子级联山脉范围后面的任何东西都是射线追踪的,这就是我们长距离阴影的方式 。

  Nikolay Stefanov:它用于诸如大石拱门或远景中的浮岛之类的东西,对我们来说 ,获取细节非常重要。如果我没记错的话,我们也对地形进行痕迹。

  Oleksandr Koshlo:我们追踪着地形,我们还将冒名顶替者添加到了雷追踪世界中 。因此 ,这些是硬件跟踪的框。一旦我们触手可及,那些是软件射线,靠在树上的那个烤钻头上。

  Nikolay Stefanov:您会看到 ,通过我们的许多技术 ,它是我们可以组合的现有技术中最佳部分的结合,以便获得最佳结果 。

  Digital Foundry:我一直在PC上玩,但是我非常好奇您如何将其扩展以使GI在Xbox系列X ,Series S和PlayStation 5上运行良好,因为显然您可以推动一定数量的硬件有限制 。

  这是汤姆(Tom)的视频,介绍了游戏在PS5 ,X系列和系列S系列中的运行方式。答案:出人意料的是,鉴于图形忠诚度的水平,这是出人意料的。

  Oleksandr Koshlo:我要说的是充满挑战 ,但是有很多旋钮可以使其跨越不同的质量和硬件 。射线数量,结果的分辨率,deNoing的质量 ,结果的精度,射线的长度可能会有所不同。我们有一定的权衡。如果它不那么精确,我们可以更快地追踪此速度 ,因此让我们使用该速度 。我们所进行的调整可能很大 ,例如解决方案,可以调整我们可以调整的很小的事情。

  Nikolay Stefanov:我还要说,除了在GPU上的性能之外 ,我们必须扩展的一件事是内存,尤其是在Series S上,在Series S上 ,与其他目标平台相比,可用的内存少。因此,例如 ,我们在很短的距离上加载了射线追踪世界,因此某些遥远的阴影不会像其他平台上那样准确 。我们用于BVH的一些几何形状,用于射线追踪 ,它比其他平台上的几何形状(细节级别)要低。这样的事情。

  数字铸造:所有明智的缩放,因此适用于GI 。关于地形阴影或硬接触阴影,您提到的其他任何跟踪是否也在游戏机上找到?

  Oleksandr Koshlo:是的。实际上 ,平台之间的所有效果都是相同的 ,尽管在PC上,我们揭示了更多选项以禁用或启用事物。

  数字铸造厂:那么您在BVH中说一个简化的世界?包括叶子或皮肤角色的哪些方面?

  Nikolay Stefanov:我认为默认情况下,大多数几何形状都包含在射线追踪世界内;我们倾向于去除非常非常小的东西 。因此 ,例如,并非所有的草都会在射线追踪世界中,并不是所有的微型细节都会在射线追踪世界中 。角色在那里 ,或者至少应该大多数人应该是。总的来说,要决定他们是否希望某些事情在那里做出决定,这取决于技术艺术家。

  我认为您会发现一些有趣的考虑因素有些有趣 。因此 ,例如,如果您有一个超级小的和明亮的东西,那么实际上最好将其从射线跟踪中删除 ,以减少噪音。由于内存限制,在射线追踪世界中没有每一点几何形状也很重要。总而言之,默认情况下 ,一切都在RT世界中 ,但是技术艺术家可以决定单独关闭并将其从RT世界中删除 。

  数字铸造:因此,您提到了小而明亮的事物。沿着这些线条,对我来说 ,游戏中真正引人注目的是对发射照明的支持。你能告诉我如何插入吗?它“只是工作”吗?

  Oleksandr Koshlo:它只是有效的 。这是GI的一部分,如果射线铸造出发射表面,它将有助于照明。但是显然 ,如果它是一个很小的表面,并且我们在整个场景中随机施放射线,那么我们冒着撞到一个很小的表面 ,引入了很多噪音。因此,我们确实建议我们的艺术家从射线追踪世界中删除小型发射表面 。

  Nikolay Stefanov:如果我可以用路径追踪术语简要解释它,那么我们要做的是一种称为“引导路径 ”的特定技术。基本上 ,在您击中的第一射线上,您可以通过分析进行照明。因此,您不仅要完成蒙特卡洛路径追踪 。但这仅用于分析灯 。正如Sasha所说 ,对于发射的表面 ,我们实际上依靠射线的随机性。因此,这就是为什么这比分析灯引入更多的噪音。但是发电机确实起作用,我们充分支持他们 。

  Digital Foundry:那么您在谈论射线指导吗?该项目是否曾经考虑使用Restir或geng ,以使随机性的结果变得更好一些?

  Oleksandr Koshlo:我们做到了。而且,我们肯定在RT技术,Denoising Techniques方面做了很多研究。我们最终没有专门使用Restir 。我们仍在评估 ,并将评估RT中的所有进步。但是我认为我们确实有一个很好的人在Denoing方面工作,因为这是一个非常困难的问题,我们对最终结果感到非常满意。

  Nikolay Stefanov:我认为 ,如果您想定位Xbox系列S,那么我们使用的技术的组合大致就是您最终的最终位置 。某种类型的第一次弹跳GI以及探针等中的某种缓存等。我认为Restir和其他技术非常有前途,但很难使它们在控制台上运行并表现良好 ,也很难以60fps的速度运行。

  数字铸造厂:您何时开始让艺术家能够玩《射线追踪》?是在项目的初始阶段吗?还是在更换旧PRT系统的中途进入中途?

  尼古拉·斯特凡诺夫(Nikolay Stefanov):比中途早一点,但是正如我所说的那样,我们从PRT开始 ,或者实际上 ,我们甚至在某一时刻又回到了Dunia Engine,只是为了减少烘焙时间 。因此,这对我们来说实际上很容易 ,因为RT的质量比预先烘焙的[方法]好得多。那是在预生产过程中进行的一段时间。在视觉方面的影响很低 。

  有趣的一件事是,当您为射线追踪构建时,实际上有不同的规则来设置资产 。因此 ,例如,您需要做的一件事是确保室内装饰是水密的,否则您将从外面散发出轻血。我们也需要对象也是双面的。因此 ,您通常以前从未做过的事情,您只有在墙壁上拥有单方面的多边形,现在您实际上必须使它们双面使它们双面 ,以确保所有探测器和其他所有内容都可以正常工作 。

  Oleksandr Koshlo:几何形状现在需要更加近距离地代表现实世界。

  数字铸造:关于探针,它们如何放置在世界上?只是网格吗?还是在某种程度上有选择性?

  Oleksandr Koshlo:这是一个有点选择性的网格[每个人都笑]。因此,我们仍然有一些启发式方法 ,在哪个水平上放置网格 ,并根据我们在室内或室外的位置偏向它,我们在那里有什么样的东西,我们所处位置的尺寸是什么 。但是 ,这是一个级联的网格 - 因此,它是四个级联,每个级联的分辨率是相同的分辨率 ,每个分辨率均在每个级别上均更大的距离。

  数字铸造:关于透明度的阴影,显然您对水的反思,而GI正在传播到透明的表面并从它们中夺走 - 但是玻璃呢?阴影如何完成?

  Oleksandr Koshlo:我们仍然有立方体地图。而且我们仍然依靠这些玻璃表面 。还有一种局部折射 ,您可以在水中或完全透明的玻璃表面(基于屏幕空间)看到。因此,到目前为止,没有对射线追踪的折射或半透明对象的反射。

  除了汤姆(Tom)的完整视频外 ,奥利弗(Oliver)和里奇(Rich)还讨论了DF Direct Weekly上的Avatar的游戏机版本,并在此处的DF剪辑视频中复制了 。

  数字铸造:在控制台上,您是否使用自己正在加载的预先建造的BVH?您如何构建BVH?

  Oleksandr Koshlo:我们为主机上的BVH提供了自定义解决方案。由于我们不依赖他们的API ,因此我们将底部级别的BVH预先构建 ,以使网格离线以获得更高的质量。然后,我们为BVH构建了自己的自定义解决方案,使我们能够在CPU上构建顶级BVH - 而使用DXR和现有API ,您这样做的方式是您将所有实例发送到GPU,而GPU则创建了加速结构 。我们非常依靠缓存,而我们只重建已经改变的事物 。这使我们实际上可以在CPU上有效地建立顶级 ,并为此节省一些GPU时间。

  数字铸造:这通常是在GPU上的异步计算中完成的。那么在GPU上不同步做什么?最终,这可能是平台特定的,但是我对那里的事情不同步了 。

  Oleksandr Koshlo:实际上是很多事情。我们使用异步计算很多。我们喜欢它 。我们仅在PC上运送DX12 ,因此我们实际上没有使用异步方面的平台差异。体积在异步上完全运行;探针射线跟踪和照明也在异步上运行。当G-Buffer跟踪部分在图形队列上运行时,探针跟踪部分在异步上运行 。GPU淘汰也可以在异步计算上运行,还有许多其他较小的东西 ,因此加载得很好。

  数字铸造:在带有DXR射线跟踪API的PC上,您有1.0和1.1内联变体。您在PC上如何做?

  Oleksandr Koshlo:我们使用1.1内联 。这对我们来说确实至关重要,因为我们很早就决定雷追踪将为我们工作 ,我们可以避免所有阴影差异来运送它。因此 ,DXR 1.1允许我们以与我们在游戏机上的方式进行非常相似的方式进行操作。基本上只是更改说明 。有了普通材料,这绝对足以我们 。

  数字铸造:就像每个物体的一种材料,还是...?

  oleksandr koshlo:这是每一个网格的一种材料。通常 ,我们的对象由一堆网格组成,因此您仍然会在对象中获得一些变化。

  Digital Foundry:那么,控制台上的模式是什么?如何摆脱?

  Nikolay Stefanov:因此 ,我们支持PS5和Xbox系列X上的60fps“偏爱性能”模式 。玩家还可以选择目标30 fps的“偏爱质量”模式。在这里,我们将事情提高了一点,我们在内部以更高的分辨率输出。在S系列中 ,我们针对30fps,并且该特定控制台没有60FPS模式 。

  [从那以后,汤姆(Tom)进行了完整的头像控制台技术故障 ,该汤姆(Tom)详细介绍了模式如何在图形和性能方面进行比较,包括系列S的保持方式。]

  Digital Foundry:因此,过去 ,Snowdrop是为数不多的暂时性升级的引擎之一 ,那么这次您如何做到这一点?

  Nikolay Stefanov:我们在控制台上使用FSR进行升级和时间抗混溶,与PC相同。默认情况下,我认为您可能注意到它是FSR 。在PC上 ,我们还支持DLSS。我们还与Intel合作,以支持最新版本的XESS,这将作为更新 - 希望很快。

  数字铸造:游戏是否使用控制台上的动态分辨率缩放?我真的不记得该部门是否做到了?

  Oleksandr Koshlo:该部门确实使用了动态分辨率缩放 ,我们也将其用于Avatar 。

  Nikolay Stefanov:这是青睐质量和偏爱性能模式之间的差异之一。因此,在60FPS性能模式下,我们允许内部分辨率降低一点。这是您将要看到的主要区别之一 。

  数字铸造厂:因此 ,在PC上,分辨率缩放器旁边有一个选择,该选项谈论偏向分辨率 。你能解释一下吗?

  Nikolay Stefanov:是的 ,绝对。有一部PC具有深度参考文章,讨论了这一点以及许多其他内容……VRAM仪表,PC基准等等。它基本上是控制您呈现的内部分辨率以及升级的质量 。

  [缩放基于当前显示分辨​​率。低于4K的分辨率偏向更高的渲染分辨率 ,在4K时与固定缩放率相同 ,在4K以上,它偏向于较低的渲染分辨率]。

  阿凡达:潘多拉(Pandora)的前沿展示了在超高设置下在PC上以4K DLSS性能模式运行的 - 当拍摄这些镜头时,Ubisoft Massive尚未揭示隐藏的“ Unobtanium ”设置 。

  数字铸造:我注意到的一件事是 ,关于植被的数量,世界密度非常高。您是否利用了rDNA带来的任何较新的DX12功能和/或诸如原始阴影或网状阴影的事物?

  Oleksandr Koshlo:我们确实在控制台上带有网状阴影。因此,有两件事有助于我们世界上几何的高密度 。一个是AVATAR的GPU几何管道 ,它支持我们的程序放置管道。因此,这带来了许多几何实例,我们使用GPU将它们剔除 ,仅渲染屏幕上的内容。然后,我们还将几何形状缩小到所谓的网格中,并使用原始硬件功能(例如原始阴影和网格阴影)将它们渲染在屏幕上 。我们使用额外的摘除通行证来丢弃屏幕上不在屏幕上的网格。这些事情确实改善了几何形状渲染的性能。

  Digital Foundry:PC版本上是否有网格阴影路径?

  Oleksandr Koshlo:不 ,我们在某个时候决定反对这一点,因为该技术是新鲜的,并且在支持PC上可用的GPU和硬件方面存在一定的挑战 。因此 ,就目前而言 ,我们采用了首先在主机上完全支持它的简单路径 。

  Nikolay Stefanov:但是在所有PC上,我们仍然使用GPU驱动的管道进行淘汰等等。因此,不存在的只是网格路径。

  数字铸造厂:您可以进入该GPU驱动的管道及其工作原理吗?我第一次记得读到它是在Seb Aaltonen的AC Unity演讲中 ,到底是什么样的?

  尼古拉·斯特凡诺夫(Nikolay Stefanov):因此,正如您所说,世界细节的密度是我们想要表现出色的东西 ,尤其是因为潘多拉(Pandora)是电影中节目的明星,对吗?我们首先开发系统来定义特定生物群体的外观的位置 。有一些基于规则的系统告诉我们,当您接近水时 ,在那里生活的特定植物是什么样的植物,当您拥有这种树时,它被什么样的植物植物包围了等等。

  这有两个挑战。一个是 ,我们的细节数量是我们以前的标题的近十倍 。另一个挑战是,我们需要与我们开发的Vista系统以很长的距离展示此细节。因此,我们处理这种细节的唯一方法是移至基于GPU的管道 - GPU管道没有什么超级复杂的。

  基本上 ,他们要做的是 ,他们不是按每个分子运行,而是在大块的几何形状上运行,而扇区为128x128米 。GPU管道是什么需要整个扇区 ,首先经过一条特定的路径,该路径基本上说“这个扇区根本可见吗?”,那么它是否对实例的单个剔除过程 ,包括特定网格零件的网格。

  然后,这为GPU构建了为进行顶点阴影的事物列表 - 我必须说这是非常复杂的顶点阴影。我们的技术艺术家在Vertex着色器中所做的事情会让您感到惊讶 。我们基本上将它们渲染到G-Buffers并点亮它们等。但是,对于我们来说 ,仍然保持顶点阴影给我们的灵活性很重要,因为它们用于游戏中您在游戏中看到的所有互动植物:转弯的事物,弯曲的东西 ,这些黄色植物的方式...。

  数字铸造厂:哦,是的,当您触摸它们时 ,怪异的圆锥形植物会刮擦 。

  Nikolay Stefanov:因此 ,所有这些实际上都是在Vertex着色器中完成的 。而且,如果您只是为了一切而运行这些,那么性能就会坦言。因此 ,这就是为什么要为此获得网络支持很重要的原因。因此,这大致就是我们的淘汰方式的运作方式 。

  Oleksandr koshlo:关于GPU实例摘除管道,我们在资产方面没有任何区别。因此 ,当创建资产时,它不知道是否将其放置在程序上,然后将其放置 ,或者是否要手工放置并通过另一个系统,因此在这方面都是透明的。

  Nikolay Stefanov:我们为这个项目所做的另一件事是Vista系统 。因此,基本上 ,我们有几个阶段。在合理距离的情况下,与您靠近的事物是全面的几何形状,最终将这些几何形状从内存中加载。之后 ,我们在第二距离阶段切换到冒名顶替的表示 ,这再次是GPU驱动的整个部门 。冒名顶替者是您的标准冒名顶替者,尽管我们也支持对它们的阴影。然后,随着您走出进一步 ,您将拥有第三阶段。甚至冒名顶替者也被卸载,我们剩下的是超级大事的代表:拱门,浮岛等 。同样 ,所有这些都是由GPU驱动的:culling,渲染等。

  Digital Foundry:我真的很震惊,它甚至可以根据您的描述在PC上没有网格阴影而运行 ,因此即使没有,它也必须非常优化。

  Oleksandr Koshlo:公平地说,要比非网格阴影更快地遮盖网眼阴影实际上对我来说是一个很大的挑战 。我花了很多时间在上面 ,但香草栅格化仍然非常快,而且效果很好 。

  Digital Foundry:您谈到了基于规则的资产放置,但是地形是如何生成的?

  尼古拉·史蒂芬诺夫(Nikolay Stefanov):因此 ,对于这个项目 ,与任何高质量的开放世界一样,我认为这里的关键是要确保您拥有一个很好的手工放置内容的比例 - 实际上,您实际上拥有一个设计师 ,并确定一个位置的设计师,并确定该水平的样子,然后将其留下的细节以及您可以将人类留下的详细信息和erosion and osion and a and a ersion and a ersion and ersion and ersion and ersion and ersion and ersion and ersion and ers and ers and。

  对我们来说 ,我们称之为水平模板的东西实现了世界的方式。以游戏中的家乡为例 。这是一个特定的级别模板,其中包含大量的手工放置细节,但它也让艺术家手工制作地形。我们的水平编辑器使我们能够做到的是采用该电平模板并在世界各地移动 ,以便手工制作的地形与更大的地形(是水平的基础板)混合在一起。

  总的来说,这就是我们的做法 。我们有一个由设计人员使用程序系统创建的基板,还可以使用大量的手工制作来指导玩家。我们有用于侵蚀的系统 ,弹跳植物的传播方式……最重要的是,我们放置了水平的模板,其中一些模板是手工放置在确切位置的 ,地形与它们混合在一起 ,一切都对齐。我们还拥有特定的级别模板,这些模板也在程序上放置或散布在该级别上,以简化设计师的生活 ,他们可能不想手工数千次将岩石地层放置 。

  看看阿凡达如何在当前生机控制台上缩放。有趣的是,即使是系列S也能产生漂亮的体验,尽管其中一个仅限于30fps ,并削减了功能。

  Digital Foundry:我对世界有多大感到惊讶,因为我到达了家乡,我看了看地图 ,并想:“哦,我什至没有四分之一的经历 。”

  Nikolay Stefanov:我们确实有三个不同的区域。我认为那时您仍然处于第一个生物群落。它们每个人都比第2师中地图的大小大一点 。

  Digital Foundry:我在PC上特别注意的一件事是我多年来一直在谈论的事情 。我不得不谈论它,这让我很难过 ,但是我想知道PSO汇编。我很好奇游戏如何为PC平台处理它,因为游戏不会像我们在太多其他PC版本中看到的那样结结巴巴。

  Nikolay Stefanov:我们基本上是预先构建的PSO,然后发货了……我认为PC上的PSO大约为3GB ,类似 。有点疯狂。

  Oleksandr Koshlo:这只是很多变化。我们还以不同的方式处理对象的加载 。我不知道我是否应该在这里显示所有卡片[每个人都笑]。

  Oleksandr Koshlo:设计在游戏中不应在设计中经历口吃。如果需要进行PSO汇编 ,则意味着该对象将在以后流中 。我们将汇编步骤视为加载对象的一部分。现在,从技术上讲,代码中可能会引起PSO口吃的错误 ,但是我们注意这一点。这是在内部报告的,我们抓到了 。但这不是常态。我们非常非常重视这一点。

  Digital Foundry:我在配置文件中查看时注意到的一件事是,列出了VRS(可变速率阴影) - 游戏实际上支持这一点吗?

  Oleksandr Koshlo:是的 ,确实如此 。我需要专门检查设置,但支持在那里 。

  Digital Foundry:它在Xbox系列控制台上使用吗?

  Nikolay Stefanov:我认为不是。

  Oleksandr Koshlo:我认为目前我们目前在系列游戏机上使用它。

  数字铸造厂:您特别骄傲的项目中有任何特定部分吗?

  Nikolay Stefanov:我想引起您注意的一件事是游戏的合理实施 。这是我们共同感到自豪的事情。我们使用射线跟踪进行声音传播。当[声音]发射器被遮挡或声音反射[表面]时,这都是通过我们的射线追踪世界进行模拟的 。我确实希望我们将有机会明年在GDC上谈论它 - 这是一个非常酷的系统。

  另一个疯狂的事情之一是 ,您在地面上看到的每一个单独的植物实际上都有一些“触发音量 ”。因此,当玩家角色或陆地动物穿过它们时,它们将制作局部的声音发射器 。因此 ,基本上,当您听到沙沙作响的声音时,这意味着实际上有一种正在穿过那里植物的动物 ,而不仅仅是循环的氛围“伪造”。因此 ,如果您有一双好耳机,那么您可以真正享受。

  我为之骄傲的另一件事是PC基准 。它具有非常非常详细的图表,我认为您会发现有趣的图。我们在游戏中有分析标签 ,告诉我们射线追踪通行证在GPU上花费了多少时间,G-buffer通行证花了多长时间,后处理通行证花了多长时间等等。还有一个细节页面 ,您可以在其中单独看到所有这些内容作为基准的一部分 。我们还支持基准的自动化,因此您可以通过命令行启动它,然后将其在CSV文件中为您提供所有这些详细信息 。基准也将用于CPU使用。因此 ,它将告诉您我们花了多少时间处理代理,碰撞检测等。因此,如果您想要统计数据和图形 ,我认为这将适合您 。

  Oleksandr Koshlo:我认为我只是为它们的聚集在一起而感到自豪 - 并且我们设法将所有这些都塞入60fps的游戏机中。很长一段时间以来,我们的哲学一直是不依靠一些“热门事物”。我们在这里进行射线追踪,但仅针对我们关心的事情 ,可以通过适当的性能来大大提高视觉质量 。我们关心您的费用。而且 ,我们不仅要在基本的事情上进行工作,而是在做正确的事情,然后做正确的事情 ,以便一切顺利进行。我认为我们再次做到了 。我绝对希望您喜欢结果。

  Nikolay Stefanov:Alex,我有一个问题。您是否看过动作模糊?

  数字铸造:[笑]是的 。我确实看了动作模糊。它比预告片好得多。[大家笑]

  数字铸造:这只是一些反馈 。您是否介意实现运动模糊滑块,因为目前该游戏目前有一个动作模糊的二进制开关 。很高兴夸大效果的夸张或根据个人喜好将其拒绝。许多运动模糊在较高的框架速率上消失了 ,有些人可能会喜欢更高的平滑,尤其是在像这样的游戏中具有电影野心的游戏。

  Nikolay Stefanov:我认为这是个好主意 。我们可以与设计师讨论,看看这是否是我们以后可以实施的。我认为有些人真的喜欢动作模糊。关于动作模糊的有趣之处在于 ,我们的创意总监MagnusJansén是数字铸造厂的忠实拥护者,所以当他看到您谈论他对我们的动作模糊的那一刻 。

  在访谈的这一部分中,运动模糊的讨论参考了亚历克斯对《阿凡达:潘多拉预告片的边境》的最初反应 ,如上所示。

  Digital Foundry:您提到作为基准的一部分,您正在录制您向用户暴露的CPU使用情况的数据。您能否探讨如何利用多核CPU和多线程的好处?因为这仍然是PC游戏中一个很大的问题 。

  Nikolay Stefanov:绝对可以详细介绍一些细节。因此,使用Snowdrop和Avatar ,我们可以使用所谓的任务图。实际上 ,我们没有拥有更传统的单个游戏线程,而是将工作分为具有依赖性的单个任务,这使我们能够以更有效的方式使用多核CPU 。实际上 ,如果您没有很多核心,那么游戏不会很好。

  我们这样做的方式是,我们利用除一个内核(除一个内核外) ,我们将其留给操作系统。在其余的情况下,我们根据负载进行了一堆任务 。关于雪花的好处之一是,它使我们可以灵活地运行这种东西 ,而我们花费大量时间的一件事只是分解依赖性,以确保例如,NPC可以并行更新 ,UI可以并行更新,该物理学也可以并行更新 。因此,希望您会看到良好的CPU优化。

  Digital Foundry:我肯定马上就这样做了。简而言之 ,您支持FSR 3框架生成 。您将在将来支持XESS。您是否在查看DLSS 3框架一代?

  Nikolay Stefanov:我们没有任何DLSS 3框架一代的具体计划...但是我们非常紧密地与Nvidia合作 ,因此希望您将来会听到更多与之相关的信息。

  数字铸造:世界上有些植物可损坏 。他们怎么做?

  Nikolay Stefanov:这是我们用于该部门的系统的延续。尽管大多数对象都以一种或另一种方式支持破坏,但最基本的破坏形式是切换到着色器的破坏版本。例如,当您靠近污染区​​域时 ,您可以看到它,例如,您可以看到被摧毁的植物等等 ,然后在打败基地时,自然可以清洁,然后切换回原始的植物外观 。

  某些较大的植物支持我们称之为“网状切割 ”的东西 ,我认为其中大多数是“预切割 ”。在DCC(数字内容创建应用程序)(例如Maya或3DS Max)中,您定义了应该如何剪切。然后,当我们发现命中率时 ,我们将其从GPU驱动的管道中获取特定的植物实例,然后将其转换为更传统的CPU驱动的对象,然后将其分开并销毁 。然后 ,我们对掉落的位进行物理模拟。如果这样做太多 ,您可能会开始看到一些框架速率下降。

  数字铸造:关于音响系统和射线追踪,是否在CPU上进行了射线跟踪?还是在GPU上的硬件中完成?

  Nikolay Stefanov:是GPU,在硬件中可用 。我们使用与系统其余部分完全相同的射线追踪世界和完全相同的射线追踪查询 。

  Digital Foundry:声音似乎以一种高度现实的方式传播 ,做得很好。

  Nikolay Stefanov:是的,绝对。我认为您会看到的另一件事是它也是互动的 。因此,如果您试图发射武器 ,您会发现某些鸟的声音消失了,因为它们害怕您。如果您发射弓,那不会发生。这全都基于互动性 。

  这是我作为技术总监一无所知的一件事。作为技术主管 ,您想对特定系统的雄心勃勃。但是这次是在音频团队中,他们必须统治自己的野心 。他们做了很多。甚至在某些时刻,他们会在某些几何形状中听到风吹吹口哨的过程种子 ,因此他们弄清楚您可能会根据不同的资产来吹口哨的声音,当暴风雨发生时,它将具有独特的方面 ,您将以3D位置的繁殖声音听到所有这些声音。

  数字铸造:地面本身是相当缝制的 。那怎么办?

  Oleksandr Koshlo:它已在CPU上进行了预选。因此 ,我们只是在需要的地方发送更详细的网格。

  尼古拉·斯特凡诺夫(Nikolay Stefanov):就地形而言,这次我们并没有真正在技术上投入太多投资,因为很多时候它完全被东西覆盖了!

  数字铸造:是的 ,通常被覆盖!我一直喜欢该部门的一件事是照明本身和粒子照明的体积渲染 。这里的阿凡达发生了变化吗?

  Oleksandr Koshlo:是的 。在体积方面,我们只有在分区游戏中的玩家面前和前面的数量。现在,我们有一个音量和射线经过它 ,因此我们可以支持更大的距离。没有它,它将完全崩溃 。我们现在也有体积云。我们统一地穿过雾和云。云也可以成为特写量的一部分,因为现在我们可以使用飞行架子飞行 。这是一个统一的系统。

  Nikolay Stefanov:正如Sasha所说 ,您现在可以在云层上飞行。例如,这导致了有趣的情况,例如 ,在地面上,您可能会有雷暴,但是现在您可以通过体积射线行进云 ,然后实际上越过它 。看起来很酷。

  就颗粒而言 ,它们从射线追踪中接收照明,我们现在实际上对GPU颗粒得到了全力支持。在分区游戏中,如果我没记错的话 ,我们将GPU颗粒用于雪和雨,但是现在它们完全与Snowdrop的节点图完全集成在一起 。因此,大多数粒子效应都通过碰撞检测和所有照明进行了GPU。因此 ,这是我们所做的重要事情之一。因此,您看到的所有这些旋转的小东西都是GPU粒子 。

  数字铸造:在这里消化的许多信息 。非常感谢,萨沙。非常感谢 ,尼古拉。谢谢你的宝贵时间 。我希望我将来的某个时候我都会与你们交谈。我希望您所做的一切都有GDC演讲!

发表评论

头条125号 备案号:陕ICP备202505058号-1 sitemap 主题作者QQ:999999