20

来自次世代的暴击:虚幻引擎5首亮相,游戏实时渲染媲美影视级作品

 3 years ago
source link: https://www.jiqizhixin.com/articles/2020-05-14-4
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

脱离硬件的绑定?Epic Games 公司推出虚幻引擎 5,看 Demo 视频可谓是次世代的游戏画面, 超出现有游戏画面一个档次。

虚幻引擎(Unreal Engine)是一款由 Epic Games 开发的游戏引擎。该引擎主要是为了开发第一人称射击游戏而设计,但现在已经被成功地应用于开发潜行类游戏、格斗游戏、角色扮演游戏等多种不同类型的游戏。

虚幻引擎 5 首次亮相

开发团队对下一个时代的愿景之一是, 让实时渲染能够媲美电影 CG 和真实世界,并通过高效的工具和内容库,让不同规模的开发团队都能实现这一目标。

Unreal Engine 团队今日发布了视频「Lumen in the Land of Nanite」,这是一个在 PlayStation5 上实时运行的 demo 视频:

uURj6vj.gif

游戏角色出现。

这个 demo 展示了虚幻引擎 5 的两大全新核心技术:

Nanite:创造丰富几何细节

团队表示,为了解决「真正的虚拟化几何体」(Truly virtualized geometry)问题,团队开发了新技术「Nanite」。

Nanite 虚拟微多边形几何体可以让美术师们创建出人眼所能看到的一切几何体的细节。 使用者可以将影视级资源直接导入至引擎内,不管是来自 ZBrush 的雕塑还是用摄影测量法扫描的 CAD 数据,都可被直接导入。

Nanite 几何体可以被实时流送和缩放,有了它技术人员无需纠结多边形数量预算、多边形内存预算和绘制次数预算了。甚至也不需要再将细节烘焙到法线贴图或手动编辑 LOD,画面质量也不会有丝毫的损失。

7v2Mbma.gif

石头细节。

上图中大部分模型是用 Quixel 的 Megascan 资源构成的。值得注意的是,所使用的资源并不是游戏版本里的,而是普通电影影视版本里的资源,平均每个资源拥有一百万个三角面,同时用的也都是 8K 纹理。

AnIVVna.gif

Nanite 技术可以展示像素级别的细节。

每一帧里的原始几何体三角面都超过 10 亿,而 Nanite 能够进行快速渲染,将其无损压缩为 2000 万个绘制三角面。上图展示了颜色各异的三角形。

Lumen:全动态全局光照解决方案

Lumen 是一个全动态全局光照解决方案,能够对场景和光照变化做出实时反应,而且不需要专门的光线追踪硬件。

据该团队介绍,该系统能够在宏大而精细的场景中渲染间接镜面反射和可以无限反弹的漫反射,小到毫米级,大到千米级,Lumen 都能处理。美术师和设计师可以使用 Lumen 创建出更动态的场景,例如,改变白天的光照角度,打开手电,或者在天花板上开个洞,系统会根据情况调整间接光照。

该解决方案为美术师省下大量时间,美术师无需因为在虚幻编辑器中移动了光源而等待光照贴图烘焙完成,也无需再编辑光照贴图 UV。同时光照效果也将和在主机上运行游戏时保持完全一致。

aqEBbiN.gif

光照变化。

如上图所示,在使用 Lumen 的解决方案中,没有光照贴图同时也无需烘焙的情况下,整个场景包含了多次反弹的全局光照。也就是说, 只要移动光源,光线反弹效果就会随之发生实时变化。

Z3I7rq7.gif

Niagara 特效系统创建的蝙蝠。

Niagara 是团队所开发特效系统,系统中的粒子可以进行互相通信写作,对周围环境的感知能力也大幅度提升。

UJbMnmq.gif

加入 大量新功能进行流体模拟。

该 demo 还展示了现有的引擎功能,包括 Chaos 物理与破坏系统、Niagara VFX、卷积混响和环境立体声渲染。

qmMbYzb.gif

利用 Chaos 物理系统来精确模拟落石的刚体。

3QJvumj.gif

增加了预测性脚步落位和运动变形功能,使动作看起来更自然。

mU3M3y2.gif

Lumen 系统对移动中的光源做出反应,还能适应几何体变化。

虚幻引擎 5 将在 2021 年初发布预览版,2021 年底发布完整版,支持次世代主机和现世代主机、PC、Mac、iOS 和 Android 平台。

开发者正在设计向前兼容的功能,以便用户在 UE4 上开发次世代游戏开发,然后再将项目迁移到 UE5。

AI + 游戏的美妙结合

游戏制作与计算机图形学、人工智能关联甚大。为了实现好的游戏体验,游戏制作公司也是煞费苦心。例如,用机器学习技术做图像处理、利用卷积神经网络增强角色动画的真实性、在游戏制作的多个环节中使用 AI 以提升效率等等。

《虚幻引擎》即开发了专门的 AI 系统,以便在项目中创建高可信度的 AI 实体。

目前虚幻引擎 5 还没发布,我们先来看虚幻引擎 4 中的 AI 系统。根据官网介绍,虚幻引擎 4 中的 AI 系统有以下作用:

用户可以同时使用多个系统,在虚幻引擎 4(UE4)项目中创建角色或其他实体的 AI。在项目中创建高可信度 AI 时,从分支为不同决策或行动的行为树,到通过环境查询系统(EQS)运行查询来获得环境信息,再到使用 AI感知(AI Perception)系统获取感官信息(如视觉、声音或伤害信息),所有这些系统都发挥着关键作用。此外,这些工具都可以通过 AI 调试(AI Debugging)工具进行调试,帮助用户了解 AI 在特定时间的思维和行为。

在 UE4 中打造 AI 和使用这些系统时,构建 AI 的思路如下: 行为树处理决策进程,AI感知系统将源自环境的刺激(例如感官信息)传输到行为树,然后 EQS 处理关于环境本身的查询。

AI 行为树

虚幻引擎 4 中怪物 AI 的控制都是通过行为树(UBehaviorTree)实现的。UE4 中的行为树是基于事件驱动的,所以不需要像 Tick 事件那样逐帧检测。

行为树相当于 AI 的大脑,黑板 (UBlackboardData) 相当于大脑的记忆。行为树的运行规则便是不断地从黑板中取/存数据,然后在行为树中加工,而行为树中的分支节点 (Composites)、服务 (Service)、装饰器 (Decotator) 相当于大脑中的神经末梢节点,可以不断地进行检测、判断,以及对记忆做出修改。

下面展示了一个行为树的示例,该行为树中的 AI 角色会在巡逻和追逐玩家之间切换。

i6fQZjY.png!web

场景查询系统

场景查询系统(EQS)用于收集场景相关的数据。EQS 可以通过不同种类的测试就收集的数据提问,然后返回符合所提问题类型的最佳项(Item)。

我们可以从行为树中调用 EQS查询,并根据测试的结果将其用于后续操作决策。EQS查询主要由生成器节点(用于生成将被测试及加权的位置或 Actor)和情境节点(被用作各种测试和生成器引用的框架)组成。

EQS 的使用范例包括:找到最近的回复剂或弹药、判断出威胁最大的敌人,或者找到能看到玩家的视线等。

zqmIjmf.jpg!web

AI感知

除可用于决定所执行逻辑的行为树,以及用于获取环境信息的场景查询系统(EQS)之外,虚幻引擎 4 中的 AI 框架中还有一个为 AI 提供感官数据的工具:AI感知系统(AI Perception System)。

该系统为 Pawn 提供了一种从环境中接收数据的方式,例如噪音来源、AI 是否遭到破坏或 AI 是否看到了什么。整个过程通过 AI感知组件(AI Perception Component)来完成。

该组件相当于刺激监听器,可收集已注册的刺激源。刺激源被注册后将调用 On Perception Updated(或用于目标选择的 On Target Perception Updated)事件,用户可以使用该事件来启动新的蓝图脚本和(或)对验证行为树分支的变量进行更新。

Eb63qyf.jpg!web

用户可以 AI感知组件中配置感官类型,如「AI 伤害」、「AI 听觉」、「AI 视觉」、「AI 触觉」等等。

AI 调试

创建 AI 实体后,用户可以使用 AI 调试工具进行问题诊断,或查看 AI 在任何特定时刻的行为。启用后,用户即可在同一集中位置循环查看行为树 、环境查询系统(EQS)和 AI感知系统。

qMRBfye.jpg!web

在游戏运行时按下撇号(')键即可启用 AI 调试。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK