/ 福彩中心设计 / Elex. .–基因组演变
福彩中心设计

Elex. .–基因组演变

2019-09-02T17:25:18 + 02:00

Piranha的非常自身的基因因子首先用于哥特式3,多年来进一步发展,现在是他们最新角色冒险的核心。

Genome是我们用于我们即将发布的福彩中心的发动机的名称»ELEX«。以前,它用于»哥特式3«以及»上升1,2和3«。在项目开始之前,2003年的Piranha字节在预科的发展中,在哥特式3.并行,该团队正在研究»哥特式2«加丁»乌鸦«仍然是基于的论哥特式和哥特式2的技术。

基因组发动机在过去14年内经历了根本性的变化。大多数组件被修订并从项目中延伸到项目,而其他组件则完全取代。在当前版本中,几乎没有任何组件从那些早期留下。

历史发展

在下文中,我们将首先详细说明我们的基因组引擎如何在过去的项目过程中开发,然后更详细地讨论两个组件。

哥特3.
从划痕开发发动机并同时使用所述发动机等哥特式3这样的福彩中心是一个巨大的挑战,并使我们造成了相当多的问题。由于规划和发展的部位已经在生产植入末期的夜晚期间参加了

线路扫描环境模糊

乌鸦«,基本结构在哥特3的发展开始时准备好,但发动机和福彩中心的很多重要部分仍然缺失。除了发动机外,我们还开发了编辑以填补世界的生活,并讲述哥特式的故事。另一个挑战是福彩中心世界,与当时的其他福彩中心相比,这是巨大的,而导致的内存用法。由于编程努力和我们必须创建该项目的大量数据被推迟,这就是为什么哥特3只能在巨大的时间压力和巨大咖啡的帮助下完成。我们需要开发的模块的紧张时间表和数量和复杂性,不幸的是,他们的收费:一些系统不成熟,易于突破,这反映在最终产品的质量上。

升起
哥特式3的技术问题提出了很多批评,大多数是有道理的,我们非常认真地采取。因此,对于上升,我们决定专注于基因组发动机进一步发展的稳定性。在哥特式3的发展期间,所有程序员都负责自己在编辑中整合他们的修改,或者使它们可用于新的编辑。通常,这比在发动机本身上工作并导致编辑器的功能不一致。

“这就是为什么我们不仅修改了发动机的大部分,而且从根本上讲了我们的工具。”

我们更换了一些模块,如流媒体,事件,互动,运动和物理系统,并将我们的重点传递给这些系统的稳定性和可维护性。我们还在图形方面重建了基因组引擎:除了HDR渲染和级联阴影之外,还有一个数据库后处理管道,能够实现屏幕空间环境遮挡等新效果,如屏幕空间环境遮挡或更好的深度提示。 Risen也是在控制台上释放的Piranha字节的第一场比赛,这导致发动机更具实质性变化。

上升2.
在我们达到目标之后,我们已经设置了自己 - 将Risen发布为一个稳定和基本的错误福彩中心 - 我们能够将重点放在上升的发动机的进一步发展2.最重要的变化之一动画软件从情感上的转换到自然语音语料。通过这一步骤,我们希望实现动画质量的大大改进,因为Morpheme允许数据生成复杂的动画流程。此外,我们开发了一个Cutscene序列机,用于使用福彩中心中的图形创建和播放CutScenes。我们还将福彩中心机与数据系统完全替换。虽然在以前的福彩中心中,整个景观是手动在3D程序中创建的,但是一个地形发动机首先用于上升2. PC和Xbox 360以及PlayStation 3释放标题。

上升3.
在Risen系列的最后一部分中,我们的重点返回了图形引擎的进一步发展。就像在哥特式3中,它基于DirectX9,但是被切换到完全延迟渲染器并通过基于物理的着色扩展。这允许更现实的呈现各种材料,如金属,石头或织物。我们还在与阴影和IM的体积雾等体积雾等环境效果中投入了大量的时间

大多数NPC通过变形在发动机中创建。
所有品种的头都基于相同的拓扑。

证明水演示文稿。 Risen 3中最大的变化之一是一体化的基于多边形的道路系统来导航NPC。这既节省了大量的时间和神经,因为现在可以从碰撞几何自动产生道路系统,并且不那么高,维护和容易出现错误。

上升3. 也被释放为Xbox 360和PlayStation 3.释放后跟一个端口到当时的新推出的PlayStation 4,它与图形修改过的64位增强PC版本一起释放。除了高分辨率纹理之外,这个版本用散景,用散景和经过修订的绽放效果特征。

Elex.
对于Elex来说,我们做了一些大计划。除了独特的环境之外 - 一系列幻想和科幻小说 - 我们还在福彩中心玩法和图形编程方面冒险进入全新的领域。我们改变了
从DirectX9到Direktx11的基因组引擎,在Elex的图形发展方面开辟了很多新的可能性。

材料系统被完全替换并通过曲面细胞形成等新技术进行扩展。此外,我们实施了一系列新效果,如线路扫描环境蒙昧,物理的体积灯,体积云,基于流动覆盖的所有水面和全局照明。

为ELEX提供的其他功能是样条网格(沿着任何给定的曲线运行的结构,用于大根,道路,管道等)以及自动(基于规则)的操作植被系统。虽然在几个小岛屿上升起了2和3,但Elex我们决定以一个大的连贯的土地质量 - 自哥特式3.为了处理所产生的数据量(单独未压缩的高度地图4 GB!),我们还必须从头开始重写世界流。我们还修订了NPC的AI:我们从基于NPC的基于NPC的实施方式转换为数据驱动的感知系统,该系统由刺激触发,导致所需的反应。 ELEX将适用于PC以及PlayStation 4和Xbox One。

导航

在各种项目过程中,需要对导航系统进行全面修改。
对于哥特式3,我们根据我们自己的概念从头开始设计了一个新的系统,该系统是基于区域(围绕区域«)和连接这些区域的路径。相应的数据必须手动插入编辑器并维护。此外,世界上的实体造成了树木和NPC等额外的静态和动态障碍。

Exex使用样条网,例如样条网。创造道路课程。

到推出哥特式3时,系统工作,但不总是根据规则放置区域,这导致了错误和性能问题。对于Risen,这意味着必须在编辑时标记关键结构。此外,Live Game中的福彩中心内可视化是使调试过程更容易。该系统逐个»免费导航«在定义的区域之外。这有助于我们摆脱剩下的错误。然后,基本的性能优化在上升的发展过程中。随着项目的开始,它变得清楚,我们希望通过评估水平几何和异议来自动生成所需数据。

以来,通过»重量«生成的导航网格并减少到实际需要在第二步中所需的零件,这是我们的路径限制系统的基础。由于我们还希望在摇摆和移动船上行走NPC,因此我们也使系统能够导航到移动物体上。

没有Gi和Bouncellight,室内设计
难以亮起;在GI之后
实施,所有材料都是
正确照亮,添加
to the ambience.

大规模的Elex世界最终需要进一步添加。现在,只加载和使用导航网格的部分,它们属于播放器或福彩中心摄像机当前的相应区域。此外,我们实现了一种从详细的导航网格导出的紧凑型网,包括两个变体之间的平滑变化。这使得可以超出整个福彩中心世界的当前加载的零件之外的表演路径。

渲染器

渲染器是负责显示3D对象及其照明的发动机的一部分。通常,相机看到的场景是»渲染«在纹理中,后来补充在后处理期间的各种效果,最后在屏幕上显示。

随着时间的推移,基因组发动机的渲染器接受了一系列修改。虽然向前转向渲染器为哥特式3实施,但是在纹理上渲染过程中,我们将所有对象直接照亮,我们使用了用于Risen 1和2的灯预传递渲染器,其中,在附加预先通过,其中有关材料属性的信息所有非透明对象都以纹理呈现,以帮助在另一个纹理中生成照明。稍后将在前向通过期间使用此纹理。这种技术的优点是灯和3D对象可以彼此分开,使得可以显示更多的每个像素灯。

在Risen 3中,然后将渲染器切换到延迟渲染器,允许更复杂的材料属性与光预传递技术。在这里完全遗漏了非透明对象的前进通行证。相反,所有材料信息将在几个纹理(G缓冲区)中呈现,然后将用于生成完全发光图像。由于既不灯预先通过也​​不是延迟渲染器自然地支持本机抗锯齿(MSAA)(尽管如此,但是,对于头发和皮肤这样的复杂材料的显示是非常复杂和昂贵的,对于ELEX我们决定与ELEX一起进行前向渲染器的旧概念。

由于DX11,现在可以在对象的渲染期间直接显示大量灯光。由于此技术是升级到经典前进渲染器,因此它也被称为前向+。这里的创新是屏幕上可能可见的所有灯都插入2D(瓷砖照明)或3D纹理(集群照明)中。此纹理中的每个像素代表屏幕的一部分,并指的是与其相关的灯列表。这种技术的另一个优点是可以同样处理透明和固体材料。

由于转发+渲染器是实现和功能的,因此我们遇到了许多问题,尤其是在控制台和较旧的PC上的速度。事实证明,着色器的复杂性是这些问题的相当值原因,因为所有必要的计算都必须在着色器中进行。为了降低着色器的复杂性,我们决定切换回延迟渲染器。由于该决定的时间,因为已经生成的特征量和数据的体积保持不变,这并不完全容易。

该溶液是瓷砖渗透技术,其也用于未公平的4等。它将G-Buffer划分为8×8个像素大小的部件。对于这些部分中的每一个,它检查材料组合的发生,并相应地进入列表中的部分以获取这些组合。后来,将照明并显示用于材料组合的着色器的部分,将材料特性(G缓冲区)与照明分开。

此外,任何进一步的所需计算都可以从预先通过和后通过的静态复杂的着色器中排除在仍然是非常复杂的着色器之外,这提高了速度。由于渲染器最初是向前渲染器和最正常的+«像集群照明的技术因转换而导致的技术,因此优势在于»延迟«渲染(solid)和»向前«渲染(透明)对象和实现的大部分仍然是相同的。

结论

发生了很大的事项。虽然基因组发动机的开发开始于困难的初始阶段,但它在各个项目的过程中进一步推动并进一步推动。不断变化的要求,新的可能性导致的多种福彩中心机和PC硬件,最后但并非最不重要,新的和改进的软件技术逐渐导致了当前状态。

我们祝愿您在该发动机上建造的Exex有很多乐趣和令人兴奋的时期。我们还要感谢所有开发人员再次参与其中。


关于作者:

Kurz Pelzer.
高级软件工程师
在Piranha bytes(左)

 

Phillip Krause.
引导程序员
在Piranha bytes(右)

作为软件工程师, 库尔特 已经开发了用于福彩中心和3D实时模拟的发动机(CodeCecults CodeCreatures发动机,Zengin,Genome引擎等)已有18年。在此之前,他研究了数学。由于哥特1,他在比拉兰字节福彩中心中工作,也是初创企业的顾问。 Kurt是大量的技术文章,这些文章在福彩中心编程宝石,Shaderx和GPU宝石等书籍系列中发表的。

菲利普 在C64和后来编程的演示和amiga上采取了第一步。他于2000年加入了福彩中心行业,在Codecult作为工具程序员和后来的代码精心引擎,然后返回»Söldner«和»Söldner:海洋军团«(后来更名为»Semper Fidelis Marine Corps«)翅膀模拟。他在哥特式3的发展期间加入了比拉兰字节,于2006年被任命为铅编员员。对于ELEX,他主要负责图形编程和优化。

去顶级