虚幻引擎5抢先体验版版本说明

介绍了虚幻引擎5抢先体验版中的新功能和最新升级

Windows
MacOS
Linux

虚幻引擎5 是虚幻引擎的一次重大升级。它专为次世代游戏、实时可视化和沉浸式互动体验进行了设计和改良。此版本将赋予游戏开发者和各行各业的创作者更大的自由度、真实感和灵活度,以便创建次世代实时3D内容和体验。

  • 跨世代的真实度提升—— 得益于 Nanite 虚拟几何体、Lumen 实时全局光照和 MetaSounds 等功能,UE5在真实感和细节上实现了跨世代的提升,并在沉浸式音频渲染方面达到了新的标杆。你将享受到难以置信的沉浸感和逼真游戏体验。

  • 构建更广阔的世界—— 在当前的技术条件下,开放世界游戏和模拟类项目很容易在地形大小方面受限,而且开发者还要在有限的内存和性能预算下,想方设法满足日益复杂的创作、流送需求。为了应对这些挑战,UE5引入了一个专门用于分区和流送大型关卡的内置工作流,同时简化了虚拟场景中的多人协作难度。有了UE5,你能用各种工具以及可扩展的内容,为玩家打造真正意义上的开放大世界。

  • 创作者制造,创作者享受—— 鉴于次世代资产和项目庞大又复杂,而项目团队的角色又多种多样(比如美术师、程序员、打包人员等),所以将效率最大化和迭代时间最小化至关重要。UE5引入了全新的UI,调整了侧重点,将更多资产设计和创作流程整合到了编辑器中,减少了对外部应用程序的需求;同时,它提供了全新工具,以便与主机和移动设备等目标同步顺畅地工作。

全新的编辑器界面

在UE5中,虚幻编辑器焕然一新,视觉风格更加美观,更简洁;我们优化了可用画面的利用率,并让操作变得更简便、更快捷、更易用。

  • 虚幻引擎5打造了身临其境的体验,减少了干扰因素,能让你可以专注于视口。例如,内容侧滑菜单(Content Drawer) 提供了一种新方法,需要时你可以按下 Ctrl +空格键 来临时弹出 内容浏览器(Content Browser)。完成交互后,浏览器将自动最小化,直到你下次调用时才会出现。

  • 为了优化分组功能,重点突出最常用的功能,我们重新设计了菜单和工具栏。你甚至可以标记并收藏 细节(Details) 面板中的设置选项,并让它们悬浮在最上层。

  • 现在,你有更多选项来按照个人喜好自定义编辑器。例如,你可以创建多种颜色主题,还可以将选项卡停靠在视口侧面,以便将其弹出,从而进行快捷操作。

如需了解有关虚幻编辑器所有界面变更的更多信息,请参见编辑器优化文档。

渲染功能

Lumen动态全局光照和反射

Lumen是一种全新的全动态全局光照和反射解决方案,能够对场景变动和光源变化作出实时响应,赋予美术师和设计师创建逼真动态场景的能力。当阳光照射角度发生变化时、当你打开手电筒或大门时,甚至是在天花板上炸开一个洞后,间接光照和光照反射会实时变化。它能够在拥有海量细节的宏大场景中渲染间接漫反射,并确保无限次数的反弹以及间接高光反射效果。无论是毫米级别的场景细节,还是数以千米的宏大场景,它都能游刃有余。

Lumen动态全局光照

美术师和设计师不必再因为静态光照烘培而受限。Lumen能为他们节省大量时间,因为美术师可以直接在编辑器中查看变更效果,不必再为静态网格体重新生成光照或设置光照贴图UV。

Lumen实现了高效的软件光线追踪(Software Ray Tracing),从而能在尽可能多的显卡上实现全局光照和反射;它同时还支持硬件光线追踪,能实现高品质视觉效果。

在UE5抢先体验版本中,Lumen仍处于积极研发阶段,以期满足次世代主机和高端电脑的需求。该版本可能暂时无法为某些功能提供有力支持(如实例化的枝叶),或完全无法支持某些功能(如半透明材质上的反射)。

如需了解更多信息,请参见Lumen全局光照和反射文档。

Nanite虚拟几何体

Nanite是一种虚拟微多边形几何体系统。借助它,你可以创建出含有海量几何体细节的游戏。你可以直接导入由数百万多边形构成的电影级品质资产——无论是Zbrush雕刻模型,还是摄影测量扫描数据——都能在场景中放置百万次,并且能够保证帧率稳定且无任何明显失真。

Nanite十分智能,它可以只流送并处理你能够感知到的细节,能在很大程度上消除多边形数量和绘制调用方面的限制。同时,它摒弃了耗时的工作(例如将细节烘焙到法线贴图、手动创建LOD等),真正解放了开发者的双手,让你能专注于创作。

Nanite虚拟几何体

在UE5抢先体验版本中,Nanite暂时还无法兼容所有引擎功能或所有材质类型。此外,除了需要满足UE5的基本要求,Nanite对于GPU还有一些特殊要求。

如需了解更多信息,请参见[Nanite虚拟几何体](RenderingFeatures/Nanite)文档。

虚拟阴影贴图(次世代阴影)

得益于Nanite、Lumen和世界分区系统,虚拟阴影贴图能够提供稳定且高品质的次世代投影效果,可用于为电影级品质的资产和大型开放世界生成阴影。

对于负责处理大中型世界的美术师和设计师而言,传统阴影技术往往限制颇多,导致他们不得不牺牲品质来换取性能。这些限制通常也会导致开发者必须混合使用多种阴影技巧,例如混合使用级联阴影贴图(Cascaded Shadow Map)和距离场阴影贴图(Distance Field Shadows),以便在大型场景中实现动态阴影效果。

相比而言,UE5引入的虚拟阴影技术是一种单一、统一的阴影方法,能够自动将阴影资源分配到最需要的地方。这意味着阴影能够在更远的距离为大大小小的对象提供始终一致的品质效果。软半影效果和接触硬化的效果也会更真实,且性能开销更低。

PCF方法会均匀施加模糊效果 | 这会移除重要细节

阴影贴图光线追踪(SMRT)| 能产生真实的软阴影以及接触硬化效果

在虚幻引擎5抢先体验版本中,虚拟阴影贴图仍处于积极研发阶段。它能支持目前已有的多类几何体和材质类型。然而,如果几何体和材质类型无法得到支持,则会退回到使用传统阴影映射。此外,Nanite几何体仅支持虚拟阴影贴图,同时品质和性能方面仍有许多待优化之处。

如需了解更多信息,请参见虚拟阴影贴图文档。

时序超级分辨率

Nanite微多边形几何体和次世代游戏的保真度需求,让屏幕上显示的细节数量呈现了前所未有的增长。为了满足这些需求,我们编写了时序超级分辨率(Temporal Super Resolution)算法。该算法将取代UE4的TAA,以满足高端平台需求。

时序超级分辨率算法具有以下属性:

  • 在输入分辨率低至1080p的情况下,输出能够接近原生4k渲染品质,从而允许更高的帧率和渲染保真度。

  • 在更高频率的背景(high-frequency background)上具有更少的重影。

  • 在高复杂度情况下减少几何体闪烁问题

  • 在任何支持着色器模型5的硬件上运行:D3D11、D3D12、Vulkan、PS5、XSX。Metal即将推出Metal即将推出。

  • 针对PS5和XSX的GPU架构优化着色器。

在虚幻引擎5抢先体验版中,时序超级分辨率(Temporal Super Resolution)会在项目设置中默认启用。

原生4K分辨率渲染4K画面 | FPS:20.57

1080p分辨率渲染4K画面 (r.ScreenPercentage=50) | FPS:44.22

默认情况下,渲染的几何体细节会适应渲染分辨率,导致上图对比中的差异。这就导致了上图中的差异。不过,你可以选择调整几何体细节,使用与原生4K渲染相同的几何体图形,以便更接近原生4K的输出。

原生4K分辨率渲染4K画面 | FPS:20.57

![1080p分辨率渲染4K画面 (r.ScreenPercentage=50) | 几何体细节和原生4K相同 | FPS:43.33](image_6a.png)(convert:false)

在所有对比滑块中,4K图像都会受限于页面宽度。如需查看未压缩分辨率,右键点击 图像并选择 另存为 来保存到本地。

世界构建功能

世界分区

世界分区(World Partition)是一种全新的数据管理和流送系统,可以在编辑器中以及在运行时使用。你再也不用将世界划分成无数的子关卡来管理流送,从而减少了编辑器中的数据争用(data contention)。

使用世界分区功能后,世界场景会以单个持久关卡(persistent level)的形式存在。在编辑器中,世界场景以编辑器网格为参照进行划分,而数据会根据你的需求进行局部加载。这样一来,你就能加载那些本需要花很长加载时间的大型世界。在烘焙场景或启动PIE后,场景会被划分成多个单元,而这些单元会作为关卡单独流送。

打开世界分区编辑器 选择加载哪个单元格

你可以在项目设置(Project Settings)中开启世界分区(World Partition),或在菜单的 世界分区(World Partition) 分段下选择 启用世界分区(Enable World Partition) 选项。我们提供了一条命令,允许你将基于关卡或基于"世界场景合成(World Composition)"的场景转换成基于世界分区的场景。

尽管我们仍然支持基于关卡的流送,但未来我们打算将"世界分区"设置为场景的默认创建方式。

如需了解更多信息,请参见世界分区文档。

世界分区 - 数据层

世界分区的数据层提供了一种方法,可以通过在运行时激活/停用层来有条件地加载世界数据。你可以使用这种方式处理游戏中不同的场景(例如:夜晚和白天的不同设置,或完成任务后世界场景的变化)。你可以通过编辑器中的 数据层(Data Layers) 选项卡或通过Actor 的 细节(Details) 面板控制数据层。

数据层

如需了解更多信息,请参见数据层文档。

世界分区 — HLOD

搭配使用世界分区,新的层次细节级别(HLOD)系统可通过网格单元中的Actor生成代理模型,让你能够在运行时显示未加载单元的内容。这些代理模型均由原始Actor几何体生成而来,但均经过简化处理来降低内存占用和绘制调用。

例如,下图演示了两个流送源,都用白色球体表示。所有与这些球体相交的单元都会被加载(包括一些进入附近单元的较大Actor)。半径外的单元中的内容不会被加载;相反,它们会被自动生成的HLOD取代,如右图所示。

HLOD关闭

HLOD开启

HLOD关闭

HLOD开启

当某个流送源离开加载单元的范围后,该单元的内容会自动切换为该单元的HLOD形式。

如需了解更多信息,请参见HLOD文档。

关卡实例化

关卡实例化提供了一种模块化方法来填充世界分区场景。

你可以在可复用子关卡中创建和存储Actor的布局。你可以使用特别设计的Actor去移动、旋转和缩放这些子关卡,也可以在上下文中无缝式编辑子关卡,不必在文件之间跳转。世界分区世界可以包含任意数量的特定子关卡实例,以使其更适合用于在整个项目中创造可复用的环境资产集。

为选中的Actor创建关卡实例 新建关卡实例

如需了解更多信息,请参见关卡实例化文档。

一Actor一文件

全新的 一Actor一文件(One File Per Actor) 系统能让大型场景的协作编辑更加轻松。关卡编辑器会把每个Actor单独保存为文件,而不是保存为一个单独的关卡文件。这意味着用户只需通过版本控制检出所需的Actor,而不是检出整个关卡。

如需了解更多信息,请参见一Actor一文件文档。

动画功能

创建动画和过场动画

得益于虚幻引擎5的强大动画工具集,你可以在实时场景中创建难以置信的精细角色。由于可以在上下文情境中进行创建,你可以更快、更准确地迭代,省去耗时的导入导出工作。

例如Control Rig这类适合美术师使用的工具,能让你快速创建Rig,并在多个角色之间共享Rig。你可以在Sequencer中为其制作动画,使用全身IK(FBIK)解算器轻松创建自然的动作。结合运行时动画系统以及Control Rig,你可以创建出更加动态丰富的动作。

Sequencer中的动画工具

现在,在线性动画工具Sequencer中为角色设计动画将变得更加轻松。通过将一些常用的动画工具引入虚幻引擎5,你可以投入更多时间在动画制作上,减少在不同软件工具之间的操作耗时。

借助全新的新的 姿势库(Pose Library),你可以在任何Control Rig设置中快速保存、镜像和混合姿势。姿势库还可以创建选择集(Selection Sets),以便在你的Rig上复用常用设置。你可以在关卡编辑器的 动画面板(Animation Panel) 工具栏中找到此工具和其他实用工具,比如Tween和Snapper等。

Control Rig姿式库

FBIK

尚处于试验阶段的全身IK(FBIK)插件采用了全新的解算器,性能已得到显著改进,求值速度更快,并能提供确定性的姿势。FBIK搭配Control Rig使用,可为你提供各种工具,以便你创建可由Gameplay驱动的动态、可响应的角色。

PBIK

如需了解更多信息,请参见FBIK文档。

Control Rig

在虚幻引擎4中,我们引入了实验性Control Rig,将动画编辑直接引入到了引擎当中。在虚幻引擎5中,Control Rig已经脱离了试验阶段,成为了一个成熟的支持工具。Control Rig快速又灵活,可在运行时和关键帧工作流中使用。为了进一步扩展Control Rig的功能,你可以在Rig图表中创建函数以及折叠节点(Collapse Nodes),以便创建可复用的逻辑、缩小图表、提高可扩展性。

如需了解更多信息,请参见Control Rig文档。

动画工具脚本

在虚幻引擎5中,我们希望动画系统比以往任何时候都更开放且容易访问。此流程的第一阶段是引入动画工具脚本,重构我们的动画系统,集成Python和基于蓝图的脚本。借助ToolMenus API,你可以直接从动画序列读取或向其写入骨骼和曲线,并且现在可扩展到动画相关的编辑器。

以下示例展示了基于Python的动画编辑扩展功能(以工具栏按钮形式实现)。此按钮可使用帧偏移复制源和目标骨骼间的世界空间骨骼动画,预测之后的骨骼位置。

动画工具脚本示例

运行时和Gameplay动画

全新改良的混合空间节点

我们推出了全新的混合空间(Blendspace)节点;它在原有基础上进行了多方面的改进。相比原来需要创建"混合空间(Blendspace)"资产或"瞄准偏移(Aim Offset)"资产,这些新型节点自带一个"混合空间图表(Blendspace graph)"。双击混合空间节点即可打开该图表。

AnimGraph树形结构中同样提供了全新的混合空间节点以及示例。示例不再是简单的动画序列,而是具有自己的子图表,以便实现更广泛的自定义效果。

混合空间节点

运动扭曲

运动扭曲(Motion Warping)是新增的 试验性 功能,可供你操控根位移动画,以便在资产较有限的情况下,适应场景的各种变化。运动扭曲是Gameplay动画团队为角色运动所做的第一个激动人心的优化。

在以下示例中,你可以看到它在调整跨越障碍时的蒙太奇效果,从而让人物适应不同高度和长度的障碍物。

运动扭曲

如需使用运动扭曲,必须启用它的插件。启用后,将 运动扭曲(MotionWarping) 组件添加到Actor蓝图中,然后在蓝图事件图表中引用该组件,即可访问该功能。

如需了解更多信息,请参见运动扭曲文档。

音频功能

我们正在借助UE5引入一种全新的音频制作方式。MetaSounds是一套高性能系统,可完全控制声源的音频DSP图表生成过程,让你能够管理音频渲染处理的方方面面,创造次世代程序化音频体验。

了解更多关于虚幻引擎5中的音频

MetaSounds

MetaSounds有点类似于可编程材质,它的操作体验类似于材质编辑器。这个全新系统允许你管理音频渲染的方方面面,有助于你掌控次世代程序化音频体验。

借助游戏数据和蓝图提供的音频参数和音频事件,MetaSounds能提供"准确到采样级别(sample-accurate)"的音效控制和音频调制。

MetaSounds还对Sound Cue的性能进行了显著提升,并且提供了可扩展的API供第三方插件使用。

如需了解更多信息,请参见MetaSounds文档。

音频调制

音频调制使参数控制和调制能够通过一个通用的参数总线(Parameter Bus)实现。任何音频都可以成为调制源或者成为调制目标。现在,音频设计师可借助音频调制参数总线,按个人的喜好定义自己的参数组和控制音频。

Quartz

Quartz 是一个功能集,它使音频事件的计时实现了"采样级别的精准(sample accurate)",并将其引入到蓝图中。Quartz使复杂的音频调度变得更加精准,可用于实现各种自定义的交互效果以及程序化的音乐系统。Quartz还可向蓝图发回精确的定时事件,以支持同步游戏逻辑、视觉效果和音频。

音频分析

音频分析(Audio Analysis) 是一个技术集,能够提供非实时和实时的音频分析。这些工具与Niagara和蓝图脚本配合使用,并可集成到虚幻引擎5的编辑器中,用于创建用户体验和调试分析器,抑可进行运行时音频分析,驱动Gameplay和画面。

物理功能

Chaos物理系统

Chaos 物理系统 是虚幻引擎5的轻量级物理模拟解决方案,拥有全新的设计,用以满足次世代游戏需求。

Chaos物理系统

该系统包括以下主要功能:

  • 刚体动态

  • 刚体动画节点和布料物理

  • 物理破坏效果

  • 布娃娃物理

  • 载具

  • 物理场

  • 流体模拟

  • 毛发模拟

Chaos物理系统取代了原有的物理系统,但实现了完全相同的功能。此外,Chaos还在性能和核心功能方面进行了显著提升,例如异步物理(Asynchronous Physics)模拟、联网机制提升、强大的破坏系统、以及物理场。

刚体动力学

Chaos物理在刚体动力学(Rigid Body Dynamics)方面与原有的物理系统具有相同的功能。这包括碰撞响应、物理约束以及阻尼和摩擦。

它还添加了一些功能,包括**试验性** 的异步物理更新

刚体动画节点

Chaos物理系统提供了全新的 刚体动画节点(Rigid Body Animation Node,RBAN) 模拟系统,它提供了与UE4相类似的功能,并对工作流进行了额外的改良,从而具备更优秀的性能和稳定性。

Chaos RBAN使用了与之前相同的物理编辑器,能以更低的迭代次数提供更高的稳定性,并且在链条更长时,提供更好的连接稳定性。

布料物理

Chaos物理提供了布料模拟解算器,并对模拟的精确性和性能进行了改良。Chaos布料(Chaos Cloth) 能对模拟结果提供更高水平的控制,并提供了一套调试工具,让用户更轻松地进行操作。

Chaos布料删除了布料网格体中碰撞图元的硬性限制(之前最大图元数为32)。这让用户能够实现品质和性能的最佳平衡。

Chaos布料的界面易于使用,其中有各种布料参数,可以对模拟结果进行更多的控制。布料逆止半径(Backstop Radius)的实现现在更加直观,用户可以跟轻松地编写网格体逆止,防止布料网格体和网格体碰撞之间发生裁剪。

Chaos布料参数现在会暴露给蓝图,从而允许在运行时对布料进行前所未有的控制。用户现在可以根据具体需求来修改模拟参数。

Chaos破坏系统

Chaos破坏系统(Chaos Destruction) 系统是一个工具集,可用于实现拥有电影级画质的实时破坏效果。除了炫目的视觉效果,该系统还在性能方面进行了优化,采用直观的非线性工作流和全新的资产类型"几何体集合(Geometry Collection)",让美术师和设计师能够更好地控制内容创建过程和破坏过程。

Chaos破坏系统

Chaos破坏系统极大改善了物理模拟和一些其他新功能,例如每个群集的 破坏阈值(Damage Thresholds),以及确定结构发生损坏时如何坍塌的 连接图表(Connection Graphs)

此外,Chaos破坏系统提供了全新的 缓存系统(Cache System),能够在运行时流畅地播放复杂的破坏效果,并将性能开销降到最低。

Chaos破坏系统能够和其他虚幻引擎系统轻松集成,例如Niagara和音频混合器;集成之后可以读取Chaos破坏系统的分解事件和碰撞事件,从而在模拟期间生成粒子或播放特定音效。

Chaos载具

Chaos载具(Chaos Vehicles) 是虚幻引擎5的全新载具物理系统。

Chaos载具支持任意车轮数量的载具,例如两轮摩托车、六轮载具、八轮载具,甚至更多轮子的载具。此外,该系统还支持任意数量的前进和倒挡配置。

你可以为Chaos载具配置任意数量的翼面,这类翼面可用于在车身特定位置提供下压压力或升力。这些翼面可以模拟汽车扰流板,甚至是充当飞行器的机翼。

你可以添加多种"傻瓜化"的力,从而让载具控制更加方便。一些常见案例包括,添加扭矩力来保持摩托车的直立,或直接控制直升机的俯仰或滚动效果。

Chaos载具还支持全新的Chaos异步物理模式,从而在网络中复制的可预测物理模拟。

物理场

你可以借助 物理场系统(Physics Field System) 在运行时直接影响特定区域内的Chaos物理模拟效果。你可以对这些场进行配置,以多种方式来影响物理模拟,例如在刚体上施加力、打破几何体集的群集、锚定或禁用破裂的刚体。

物理场

物理场系统可以使用物理场数据接口与Niagara通信,将物理模拟中的破碎、碰撞和踪迹事件通知给Niagara。另外,你可以通过使用内置函数对特定位置的场进行采样,从而使系统影响材质。

如需了解更多信息,请参见物理场文档。

异步物理模拟

虚幻引擎5(Unreal Engine 5) 中,用户现在可以在整个引擎范围中启用 更新异步物理(Tick Async Physics)。启用后,物理模拟就会在自己单独的物理线程上运行,而不是在游戏线程上运行。

在单独线程中运行物理的主要优势在于,物理模拟会以固定的更新间隔运行,从而改进模拟的确定性,并获得可预测的结果。

用户可以利用此功能对模拟进行微调,让其始终以可预测的方式运行。此功能还可以作为在网络中同步物理效果的基础,因为它能让服务器和客户端以相同频率更新物理,从而更轻松地同步结果。

禁用异步物理

禁用异步物理

启用异步物理

启用异步物理

如需了解更多信息,请参见异步更新函数物理概览

Gameplay框架功能

游戏功能和模块化Gameplay

游戏功能(Game Features)模块化Gameplay(Modular Gameplay) 插件允许你开发并封装完全独立的游戏功能。

Echo光镖技能

这种开发方式为开发者提供了诸多优点,其中包括:

  • 新团队成员可以在更短的时间内上手开发,因为他们无需了解其他项目的内在工作机制,就能开发这些独立功能。

  • 更少漏洞,更多易读代码。自包含的代码(Self-contained code)天然地易于单元测试,能够避免在编译时(因为意外或偶然因素)依赖其他代码。

  • 可以在不同团队或项目中更方便地共享功能。在项目之外独立构建功能,就意味着可以提升抽象性和健壮性,避免依赖特定项目的代码或数据类型。以这种方式工作的开发人员在将某个功能迁移到其他项目时,不再需要特意花时间来抽象功能。

  • 若项目有多个团队同时处理不同功能,则项目可以得到更好的保护。可以避免因为系统内置的独立结构,导致系统间意外交互。这在大型或更加分布式的开发环境中尤其高效。

  • 实时产品,包括使用"游戏即服务(Games As A Service)"模型的产品,可以轻松地反复循环利用各种功能,例如新游戏类型、道具、角色或用户界面功能,或者快速安全地删除某些导致出现问题的功能。

借助游戏功能和模块化Gameplay,你可以开发类、数据、内容,甚至是在(项目中)添加调试/作弊代码。系统包含项目相关的支持功能,可以确定要添加哪些功能,以及如何添加这些功能,从而让封装了功能的组件仅用于你指定的Actor或Actor类型。开发人员最终获得的代码将更加清晰、更易于避免漏洞、更不容易与其他系统发生意外交互以及更容易测试、维护和复用。

如需了解更多信息,请参见游戏功能和模块化Gameplay文档。

数据注册表

全新的 数据注册表(Data Registry) 插件提供了可扩展的高效存储系统,可供全局的、基于USTRUCT的数据使用,其中包括标准数据表行和曲线数据。数据注册表的设计目的在于支持同步和异步数据访问,让用户能够为每个数据源配置缓存行为。你可以将数据注册表配置为使用目录扫描搜索和手动注册组合从各种不同的源加载或生成数据。

数据注册表类似于复合数据表(Composite Data Table),但是在标准数据行之外还可以存储曲线数据;它使用间接层,而不是手动将多个表复合在一起。类似于资产注册表,数据注册表为开发人员提供了一个可以加载、缓存和访问重要全局数据的平台。它们可以在C++和蓝图可视化脚本中。

数据注册表-蓝图Blueprint

如需了解更多信息,请参见数据注册表文档。

增强输入系统

增强输入系统(Enhanced Input) 是一种更健壮、灵活的输入系统;它基于 操作(Actions) 概念设计,而不是原始输入。你可以使用此系统处理简单二元输入(例如按下键或按下按钮),或者处理复杂的三维输入设备。系统提供了 修饰符(Modifiers)触发器(Triggers) ,以便开发人员设置内置的筛选器(例如径向死区)或条件(例如,需要某个输入注册前按住一段时间)。这些功能完全可扩展,因此开发人员还可以使用蓝图可视化脚本或C++编写自己的修饰符和触发器。

此外,增强输入系统还实现了 协同操作(Chorded Actions),能在激活条件式命令时,将用户定义的玩家状态和其他输入操作同时考虑在内。开发人员可以使用 输入映射上下文(Input Mapping Contexts) ,为单个用户的输入应用或删除操作,从而创建基于状态或上下文的行为,并且可以随时重新映射按钮输入。增强输入使用编辑器内置的蓝图资产,因此设计人员可以随意调整项目的操控,并且不必重新编译源代码。

如需了解更多信息,请参见增强输入系统文档。

性能和平台管理功能

Unreal Insights的内存分析工具

虚幻引擎5通过引入 Unreal InsightsMemory Insights 模块,对内存跟踪和分析支持进行了改良。这个外部工具可以帮助开发人员了解他们的应用程序如何使用内存,识别内存的分配、解除分配模式,从而提高性能甚至发现和解决内存漏洞。

此工具可以在本地或远程服务器上与引擎或编辑器并行运行。开发人员可以实时查看数据,或将数据流送到磁盘,以便之后对会话进行复查和分析,或与团队成员共享。你可以将内存数据与CPU计时事件关联,或者与Unreal Insights系统其它基于时间的数据关联。

Memory Insights赋予了开发人员强大的工具集,可用于查询、跟踪内存分配信息。开发人员可以使用该工具进行以下操作:

  • 在某个给定时段内,查看会话的完整内存分配快照。

  • 比较两个时间段内的内存分配的快照。

  • 查看每个内存分配的调用堆栈。

  • 识别长期和短期(或临时保存)的内存分配情况。

  • 查找内存泄漏。

在查询过信息之后,Memory Insights可以按照以下一个或多个数据字段来筛选、排序和汇总信息:

  • 每当发生分配时,以及当已分配的内存变得空闲时。

  • 已分配的内存块的大小。

  • 与分配关联的类别(称作 LLM标签 )。

  • 导致发生分配的函数调用堆栈。

Memory Insights还能持续绘制内存分配的数据情况。这能让开发人员更方便地识别出内存开销规律,例如找出内存占用的高低时间段,检测内存泄漏,识别频繁发生或很少发生的内存分配,以及识别自由事件(free event)。Memory Insights能将统计数据中的各种变化显示为连续的图表:

  • 会话生命周期内的所有内存分配。

  • 会话生命周期内的活跃内存分配的总数。

  • 会话期间的内存分配频率和自由事件频率。

如需了解更多信息,请参见Memory Insights文档。

虚幻Turnkey

虚幻Turnkey 是一套全新的系统,可以简化平台支持操作(包括SDK安装和刷机)。

如需使用Turnkey,你的组织首先要在一个便于访问的位置托管SDK文件。Turnkey支持Perforce、Google Drive或本地文件路径来托管SDK文件。之后,用户就可以使用简单的"一键式"流程(从虚幻编辑器中的 平台(Platforms) 菜单访问),为所选的平台下载或安装所需的SDK。从要支持的平台的子菜单中选择 安装SDK(Install SDK),Turnkey将自动执行必需的设置。

平台菜单

你也可以通过命令行界面访问高级选项并获取SDK。在命令中,导航到引擎的安装目录,使用命令`RunUAT.bat` Turnkey。该命令行将提供一个编号选项列表。输入与每个选项关联的编号并按Enter键,将执行该选项。你还可以提供参数,以便在启动.bat 文件时自动运行相关进程。

命令行

使用 7 (Help) 获取关于安装和管理SDK的可用选项的其他信息。该帮助指南还包含关于特定平台的设置信息。

在抢先体验版本中,Turnkey支持桌面平台和主机,并拥有支持安桌系统的测试版。由于存在配置流程,iOS系统仍需手动设置,但我们目前已在计划之后优化Turnkey对iOS系统的支持能力。

如需了解更多信息,请参见使用虚幻Turnkey进行平台管理

iOS工具链改良

我们提升了适用于Macs上iOS的远程构建流程的可靠性,增加了跨平台库来提升通过USB与iOS设备进行交互时的可靠性。

移动渲染改良

我们对移动设备上的效率和保真度进行了一些提升。

  • 移动渲染器现在使用渲染依赖图(Rendering Dependency Graph)

  • 距离场环境光遮蔽和全局距离场现在可以在移动渲染器中使用。

  • 在UE5中,DirectX着色器编译器(DXC)现在是Android Vulkan的默认着色器编译器。此外,我们还为OpenGL ES增加了DXC支持。

移动延迟渲染器

UE5抢先体验版优化了4.26版本中移动延迟渲染模式的性能和稳定性。现在,基于图像的光照、延迟贴花、IES光照效果和其他光照功能在画质方面已经能够与桌面渲染器相媲美。延迟渲染器现在使用的着色器排列也显著减少。

重新设计的VR模板

我们使用OpenXR框架编写了新的VR模板,以便兼容多家公司的VR开发标准。模板旨在充当各类VR项目的起点,并且封装了传送以及常见输入操作(例如将物品在握手中)的逻辑。

传送

抓取

VR模板目前支持的VR平台包括:

  • Oculus Quest 1和2

  • 支持Oculus Link的Oculus Quest

  • Oculus Rift S

  • Valve Index

  • HTC Vive

  • Windows Mixed Reality

虚幻引擎中的OpenXR插件支持扩展插件,因此你可以将功能添加到OpenXR。目前,OpenXR还未加入引擎。

强烈建议使用UE5中的VR模板创建VR项目,因为项目设置和插件配置均达到了最佳VR体验效果。如果你用UE5EA版本创建了VR项目,你必须禁用 Lumen,方法是将 项目设置(Project Settings) > 渲染(Rendering) > 全局光照(Global Illumination) 设置为 无(None)。Lumen在UE5中会默认启用,但它目前不支持XR平台。

Apple Silicon支持

Apple Silicon支持在以下方面得到了提升:

  • 虚幻编辑器(UnrealEditor) 和预封装的 虚幻游戏(UnrealGame) 应用程序捆绑包以Intel (x86_64)二进制文件形式构建和运行。这意味着蓝图项目默认情况下将使用 Rosetta 2 运行。

  • 还支持打包 原生Apple Silicon(Native Apple Silicon)仅限Intel(Intel-only)Universal 2 的二进制文件。

Steam SDK和Vivox库不包含ARM64架构(ARM64 slice)。采用这些功能的项目只能针对Intel架构开发。

新内容:平台SDK升级

在每个版本中,我们都会更新虚幻引擎以便支持平台合作伙伴的最新SDK版本。

平台和设备

  • Windows

    • 推荐:

      • Visual Studio 2019 v16.4

    • 最低:

      • Visual Studio 2019 v16.4

    • Windows SDK 10.0.18362

    • .NET 4.6.2 Targeting Pack

  • 构建农场编译时采用的IDE版本

    • Visual Studio - Visual Studio 2019 v16.4.3工具链(14.24.28315)和Windows 10 SDK (10.0.18362.0)

    • Xcode - Xcode 12.4

  • Android

    • Android Studio 4.0.2

    • Android NDK r21a - r23a

  • ARCore

    • 1.18

  • ARKit

    • 4.0

  • Linux"SDK"(交叉工具链)

    • 基于v17 clang-10.0.1 (CentOS 7)

  • Oculus

    • 1.44

    • API Level 23

  • OpenXR

    • 1.0

  • Google Stadia

    • 1.53

  • Lumin

    • 0.23

  • Steam

    • 1.47

  • SteamVR

    • 1.5.17

  • Switch

    • SDK 10.4.0 + NEX 4.6.4(可选)

    • 最低固件版本:10.0.2-1.0

    • 支持的IDE:Visual Studio 2019

  • PS4

    • Orbis SDK 8.008.011

    • 系统软件8.008.041

    • 支持的IDE:Visual Studio 2019

  • PS5

    • Prospero SDK 2.00.00.09

    • 系统软件 2.20.00.07

    • 支持的IDE:Visual Studio 2019

  • GDK (Xbox One、Xbox Series X、Windows)

    • Windows SDK 10.0.19041.0

    • GDK 2021年4月

    • 于2021年3月恢复QFE1 10.0.19041.6737

    • 支持的IDE:Visual Studio 2019

  • macOS

    • 推荐

      • 最新的macOS,最新的Xcode12

    • 支持

      • macOS Big Sur 10.15.7,最新的Xcode 12

    • 机器架构说明

      • 为macOS目标增加了对原生Apple Silicon的初步支持

      • 某些SDK尚不包含ARM64架构(例如Steam、Vivox)

  • iOS / tvOS

    • 建议

      • 最新的Xcode 12

    • 最低

      • Xcode 11.3.1

    • 目标SDK版本 13.00 - 14.XX

现在可以使用Turnkey系统查看关于任何引擎版本的最新信息。运行以下命令行:

RunUAT Turnkey -command=VerifySDK -platform=All

如需了解更多信息,请参见Turnkey文档。