查看原文
其他

虚幻引擎 4.20 版发布说明

Jeff Wilson 虚幻引擎 2020-08-25

全新内容

我们在虚幻引擎 4.20 版本兑现了承诺,为广大开发者们带来众望所归的可扩展工具。赶紧来使用吧,创造前瞻性的移动游戏,探索Niagara的强大功能,用数字人类(digital humans)实现栩栩如生的角色,并充分利用各个平台的工作流优化。

开发者可以利用虚幻引擎打造出美轮美奂的场景和栩栩如生的角色,真实度将达到无可比拟的程度。全新的Niagara粒子编辑器能够为项目的各个方面添加令人惊叹的细节,让项目的整体视觉效果更上一层楼。深入了解由全新“数字人类(Digital Humans)”技术打造的“Meet Mike”和“Siren”演示,将角色的真实度大幅提升。此外,还可以利用全新的影视级景深(Cinematic Depth of Field)功能来实时实现电影级别的摄像机效果。

虚幻引擎为您提供了各种工具,可以自定义您心仪风格和工作流的创建过程,使您真正能够自由创作。您可以使用全新的编辑器脚本和自动库来对工具和工作流进行完全的自定义。还可以对Actor和内容浏览器快捷菜单进行脚本延展,添加新操作来应用到Actor或资源,让设计师和美术师的工作更加轻松。

加入经严格测试的移动平台和主机支持后,您便可以创建兼容所有设备的版本,为用户带来全平台的体验。Epic在开发Fortnite移动版本时对虚幻引擎进行了优化,使其更加适合移动游戏开发。我们进行了大量性能优化,包括软硬件遮蔽查询,减少硬件需要执行的工作量。代理LOD现在已能够用于生产,它能进一步减少渲染频率较高的几何体的复杂度。

除Epic的更新外,此版本还包含了GitHub虚幻引擎开发者社区提交的165项改良!特此对虚幻引擎4.20版本的每位贡献者表达诚挚谢意:

Adam Moss (adamnv), Akihiro Kayama (kayama-shift), Alan Edwardes (alanedwardes), Alan Liu (PicaroonX), Andrew (XenonicDev), Andrew Haselgrove (Dimpl), Anton Rassadin (Antonrr), arkiruthis, Begounet, Brandon Wilson (Brandon-Wilson), c4tnt, Changmin (cmheo), Christian Loock (Brainshack), Clinton Freeman (freemancw), Daniel Assuncao (dani9bma), David Payne (dwrpayne), Deep Silver Dambuster Studios (DSDambuster), Derek van Vliet (derekvanvliet), Eduard Gelbling (NachtMahr87), frankie-dipietro-epic, Gautier Boëda (Goutye), George Erfesoglou (nonlin), Giovanny Gutiérrez (bakjos), Gregor Gullwi (ggsharkmob), Hannah Gamiel (hgamiel), Hyuk Kim (Hybrid0), Ibraheem Alhashim (ialhashim), Ilya (ill), Jacob Nelson (JacobNelsonGames), Jaden Evanger (cyberblaststudios), Jared Taylor (Vaei), Jesse Yeh (jesseyeh), Jia Li (shrimpy56), Jørgen P. Tjernø (jorgenpt), June Rhodes (hach-que), Junichi Kimura (junkimu), Kalle Hämäläinen (kallehamalainen), kinolaev, Kory Postma (korypostma), krill-o-tron, Kryofenix, Lallapallooza, Layla (aylaylay), Lee Berger (IntegralLee), Leon Rosengarten (lion03), Lirrec, malavon, Marat Radchenko (slonopotamus), Marat Yakupov (moadib), Mathias L. Baumann (Marenz), Matt Hoffman (LordNed), Matthew Davey (reapazor), Maxime Turmel (maxtunel), Michael Allar (Allar), Michael Kösel (TheCodez), Michael Puskas (Mmpuskas), Mikayla Hutchinson (mhutch), mimattr, Mitsuhiro Koga (shiena), Muhammad A.Moniem (mamoniem), nakapon, Nicolas Lebedenco (nlebedenco), Paul Eremeeff (PaulEremeeff), Phillip Baxter (PhilBax), projectgheist, Rama (EverNewJoy), redfeatherplusplus, Rei-halycon, Robert Khalikov (nbjk667), Roman Chehowski (RChehowski), S-Marais, Sam Bonifacio (Acren), Satheesh  (ryanjon2040), Scott Freeman (gsfreema), SculptrVR, Sebastian Aaltonen, Sébastien Rombauts (SRombauts), Seokmin Hong (SeokminHong), Sertaç Ogan (SertacOgan), stephenwhittle, Temaran, Thomas Miller (tmiv), Trond Abusdal (trond), TWIDan, Tyler (tstaples), Usagi Ito (usagi), yama2akira, Yang Xiangyun (pdlogingithub), yehaike, Zachary Burke (error454)


主要功能

全新内容:移动平台发布的优化和改良

虚幻引擎4.20版将带来针对Fortnite iOS和Android开发的100项移动平台优化,帮助开发者更轻松的发布游戏,并对游戏玩法进行跨平台的无缝优化。主要改良包括Android调试改良、移动平台地形改良以及移动平台遮挡查询。


移动平台硬件和软件遮挡查询

新版本中,可在支持ES 3.1或Vulkan使用GPU的高端iOS和Android设备上使用硬件遮挡查询。此功能会在支持的设备上默认启用。

软件遮挡查询(Software Occlusion Queries)是一项实验性功能,其使用CPU来从场景中剔除基元组件。它使用的方法较为保守,因此可以在任意移动设备上使用。 

左图 - r.Mobile.AllowSoftwareOcclusion 1、r.SO.VisualizeBuffer1;右图 - 渲染冻结显示遮挡的部分


执行以下步骤即可启用软件遮挡查询:

  1. 启用r.Mobile.AllowSoftwareOcclusion 1。

  2. 禁用r.AllowOcclusionQueries 0。

  3. 在静态网格体编辑器中将“遮挡网格体LOD(LOD for Occluder Mesh)”设为true后即可将任意基元设为遮挡物。

使用高端移动设备时启用r.SO.VisualizeBuffer 1即可在移动预览器中显示结果。


平台材质数据

在新版本中,您可以使用材质编辑器中新增的平台数据(Platform Stats)窗口迅速对材质进行分析和优化!您能够看到多个着色器平台和质量等级的数据。我们针对移动平台使用了离线着色器编译器,提供更为准确的指令和纹理使用信息。



Android调试改良

无需重新打包UE4项目即可在Android上进行迭代和调试!编译Android版本时将生成一个可在Android Studio中打开的Gradle项目文件。也可在C++和Java代码中放置断点,并使用Android Studio启动调试会话。也可对C++源代码进行修改并重新编译。开始新调试会话后,Android Studio将注意到变化,并迅速将新的共享库上传到设备中。


移动平台地形改良

新版本中可以在移动设备上设置无限制的地形材质图层,使移动设备上的地形更加有趣!最优化的情况依然是使用3个图层,但实际上支持任意数量的地形图层,只要有足够的纹理采样器即可。

可使用地形材质中的Feature Level Switch Material节点,创建一个针对所有平台的地形材质。


1 - 移动平台地形; 2 - PC平台地形


移动平台杂项改良 

我们在移动平台发布Fortnite时进行了以下改良,特此将它们纳入虚幻引擎4.20版,以飨各位开发者:

  • 每个平台的最小静态网格体LOD

  • 每个平台的最小骨架网格体LOD

  • 硬件遮挡改良

  • HLOD工具和工作流改良

  • 音频质量节点

  • 音频变化剔除

  • 每个平台的音频下采样

  • 每个平台的音频压缩质量

  • 着色模型调整,与PC更加匹配

  • 反射采集亮度修复

  • 四图层地形支持

  • 地形曲面细分改良

  • 未使用的LOD不产生内存开销,其中包括:

    • 静态网格体

    • 骨架网格体

    • 材质质量级别

    • 草地和植物

    • 高细节组件和网格体

    • 级联中的高细节发射器

  • 基于设备内存的设置

  • 材质内存缩减

  • 批量资源修改的编辑器脚本编写功能

  • 粒子组件池化

  • 材质参数集更新开销


全新内容:任天堂Switch发布的优化和改良

我们在打造Fortnite Switch版时进行了大量性能和内存优化,特此分享给虚幻引擎开发者们,提高Switch开发的工作效率!




 改良和优化包括:

  • 支持动态分辨率和临时上采样

  • 增加控制器输入的低延迟帧同步

  • 强化CPU渲染优化

  • 线程改良

  • 更佳的纹理压缩

  • 支持内存分析

  • 支持对接模式中的1080p后缓冲

  • 以及诸多问题修复!


全新内容:代理LOD改良

全新的代理LOD工具已经从实验性功能转为正式功能,可用于开发工作!此工具可减少多边形数量、绘制调用和材质复杂性造成的渲染开销,从而提升性能,使移动和主机平台的开发更加容易!此工具提供了第三方打包Simplygon之外的一个选项,可结合虚幻引擎中的细节级别(LOD)系统使用。

代理LOD工具通过以下方法生成更简单的代表物:创建一个低多边形参数化网格体和相关纹理,其与更复杂的源几何体模型集合存在视觉上的相似度。可以降低模型质量时(例如几何体在屏幕上只占几个像素时),则可以在运行时显示此代理。

请注意:目前只有Windows版本的虚幻编辑器能够使用代理LOD工具。


上图中《Fortnite Battle Royale》的建筑和停车场均使用代理LOD工具 打造,使用了空隙填充(Gap-Filling)和边切分(Hard-Edge Splitting)功能。


正式版的代理LOD工具与4.19版本中的实验性版本相比多了数项改良。其中较为重要的是改良了用户对代理几何体上法线的控制;并能够使用空隙填充来自动关闭门窗,生成更简单的代理。


改良法线控制:硬边切分法线

Fortnite的内存使用要求极为苛刻,因此需要高效地使用LOD。对多数代理而言,生成的底色纹理非常小,且未使用法线贴图。此方法需要代理网格体上有高质量的法线,越高越好。

1 - 硬边角度 = 80;图2 - 硬边角度 = 0


上图显示了顶点法线的硬边切分效果。图 2 中的顶点法线非常平滑,其以4.19实验版插件计算。房子底部的黑色区域则代表不足之处。相比之下,图 1中则根据用户设置的硬边切断角显示了硬边顶点法线切分。

除硬边切断角外,新版本中用户还可以指定计算顶点法线的方法,选择角度权重(Angle Weighted)、区域权重(Area Weighted),均等权重(Equal Weighted)。


空隙填充

代理系统将自动放弃密闭几何体不可应用的结构(例如密闭房子中的内墙或家具)。为达到理想结果,构建或修改源几何体时应考虑到这一点。但由于游戏开发的实际限制,能否做到还是个未知数。要为几乎密闭的源网格体生成有效的代理LOD,代理LOD工具可选择使用基于关卡集的膨胀和侵蚀技术来填充空隙。此方法主要用来填充远处建筑物的门窗。


1 - 原始网格体;图2 - 无空隙填充;图3 - 空隙填充


上图显示了空隙填充的使用效果。所有图片皆受到约束,只能使用固定的少量纹理空间。图2是未使用空隙填充的代理LOD在建筑上的效果,其中LOD包含建筑的内部(代价则是存在看不到的三角形和纹素)。图3是同一个建筑使用空隙填充的效果,门窗皆已自动封闭,因此总三角形数量更少,有限的纹理资源也得到了更好的利用。


全新内容:影视级景深

全新的影视级景深(Cinematic Depth of Field)功能可助您在实时环境中实现电影级别的场景渲染!此方法能实现更高的画质,替代原有的循环景深(Circle DoF)法,运行速度也快于Bokeh之类的其他多数景深法。影视级景深制作出的景深效果更加清晰,利用过程Bokeh模拟来提供影视级效果。此方法同样支持透明度通道、动态分辨率稳定,也可通过设置来调低主机项目中的效果。


图1 - 启用影视级景深; 图2 - 禁用影视级景深


影视级景深默认启用,替代旧版本中在摄像机(Camera)和和后期处理(Post Process)设置中选择的循环景深(Circle DoF)法。

  • 影视级景深支持以下平台:

    • D3D11 SM5、D3D12 SM5、Vulkan SM5、PlayStation 4、Xbox One和Mac。

  • 过程Bokeh模拟支持以下功能:

    • 配置光圈的叶片数量。

    • 直接用透镜的最大孔径(最小F-stop)来配置叶片的曲度。

    • 对后期处理体积、摄像机Actor和电影摄像机Actor“摄像机(Camera)”设置中可用的功能按钮进行配置。

  • 根据项目在硬件上的有限资源,使用r.DOF.*控制台变量进行诸多可自定义的延展性设置。

如需了解更多信息,请查阅景深文档。


全新内容:Niagara特效编辑器(早期体验版)

新版本中,Niagara 特效编辑器作为早期体验版插件出现!立即试用该全新视觉效果工具的早期体验版,它将最终取代虚幻级联功能。深入了解我们对Niagara的未来规划。

特别说明:早期体验版是开发完成度较高的版本,我们希望用户能多多使用并尽量提出宝贵意见,帮助它成为一项正式的UE4功能。Niagara的早期体验版尚无法用于实际开发工作,我们还需要进行大量性能优化和问题修复。我们殷切希望视效制作者们仍然积极学习使用Niagara并提出宝贵建议,帮助我们把它打造为尽善尽美的VFX编辑器。


如需了解Niagara概览,请观看GDC 2018的展示“用虚幻引擎的Niagara编辑器实现可编程VFX效果”,并阅读Niagara文档。


效果设计和创建改良


左图 - 利用动态输入模块的粒子系统;右图 - 动态输入模块

  • 骨架网格体可以指定其来自表面的发光,可以由材质命名或命名的骨骼影响区域来驱动。

  • 新版本改良了模块上的默认值指定,使调用函数的大量行为使用默认的动态输入。

  • 新版本中,网格体粒子支持角速度。

  • 条带(Ribbon)渲染器已添加光束支持和相应的新模块。

  • 新版本中可对模块之间的依赖性进行定义,用户为堆栈添加较差的配置后将得到通知。此外,用户还可以选择进行自动修复

  • 新版本对系统发射器和基础发射器进行了多处改良,增强了整体稳定性。

  • 新版本中可通过拖放将模块在堆栈中上下移动。继承的模块无法被移动,因为这将使合并变复杂。

  • 新版本中可在堆栈中启用或禁用模块。这也同样适用于继承。

  • 新版本中Sequencer蓝图支持设置Niagara用户命名空间变量。

  • 可通过自定义HLSL表达式、动态输入(图表片段)、到其他变量的连接,以及数值来驱动参数。

  • 新版本中可选择为粒子设置固定ID,使其专属于发射器。

  • 可将每种类型的多个渲染器应用到一个发射器。每个实例可以调整其从何处获得给定参数的值。举例而言,一个发射器可以拥有两个sprite渲染器,一个从粒子的位置提取其位置,另一个从粒子的偏移位置提取其位置。

  • Niagara Extras插件还拥有调试材质,可将诸多逐粒子的参数发送到类对话的显示中。

  • Houdini为Niagara提供了一个简单的CSV导入器,启用了GDC 2018中的演示内容。

  • 自动测试(Automated Testing)系统中加入了大量Niagara的功能。


用户界面更新

Niagara界面的设计初衷是为了使复杂的效果变得直观,便于创建。它将堆栈隐喻作为合并脚本逻辑块的主要方法。在堆栈中,可以通过时间轴(Timeline)来控制随时间变化的效果,还可以通过 参数面板(Parameters Panel) 快捷地访问效果中可用的变量,并借助属性电子表格(Attribute Spreadsheet)在效果进行时迅速找到信息并作出响应。



新模块

Niagara的所有模块均已更新或重写,支持构建游戏效果中的常用行为,并使用一套固定的代码标准。Niagara堆栈中也加入了全新的UI功能,模拟C++中UProperties的开发者选项,基于其他变量的状态启用行内启用/禁用和变量显示。


GPU模拟

DX11、PS4、Xbox One、OpenGL(ES3.1)Metal平台使用时,Niagara支持GPU模拟。未来版本中还会支持VulkanSwitch的GPU模拟。现版本中GPU模拟的限制和已知问题如下:

  • 如需完整支持Niagara,则需要加入GPU回读数据的功能。当前只有DX11PS4渲染接口支持此功能,OpenGLMetal的支持正在添加中。

  • GPU支持碰撞(Collision)、曲线(Curves)和弯曲噪点域(Curl Noise Fields)。网格体、蒙皮网格体、样条组件 和更特定的数据接口暂不支持。与UNiagaraDataInterfaces交互的GPU着色器API也经过了重新设计。

  • GPU模拟上支持粒子的Sprite实例化静态网格体。此版本中无法在GPU上从粒子和粒子条带生成灯光

  • 事件(Events)只能在CPU上使用,在虚幻引擎4.20版后将有重大修改。


CPU模拟与编译

Niagara的CPU模拟现可在PC、PS4、Xbox One、OpenGL(ES3.1)Metal上使用。当前版本尚不支持VulkanSwitch

  • 在新版本中,CPU虚拟机(VM)将在后台线程中编译内容到DDC,能够极大地提高整体编译速度和团队效率。仍然需要更多研发才能将最后开销极大的VM优化步骤放入ShaderCompileWorker中执行,因为其依赖于非线程安全库。能够对各模块之间的编译依赖性进行有效追踪,清晰分辨何时需要对堆栈的特定部分进行重新编译。

  • CPU上的物理模拟能够对物理材质值进行正确建模,生成摩擦力和复原力(即弹性)。

  • 发射器将与工作线程平行进行模拟。


全新内容:“数字人类”改良

Epic对数字人类的探索从照片级角色开始,加入了诸多渲染改良,帮助开发者制作出拥有极高真实度的角色。


 

开发这些角色时,我们添加了以下针对皮肤、眼睛、光照和次表面散射的渲染改良。

  • 用“Double Beckman Dual Lobe”法添加新的高光模型。

  • 光传播在次表面轮廓上使用反向散射。

  • 用边界溢色(Boundary Bleed Color)形成更佳的次表面散射接触阴影。

  • 通过后期处理材质生成短距离动态全局光照。

  • 使用单独的虹膜法线贴图增加眼睛细节。

如需了解更多详情,请查阅虚幻引擎文档中的数字人类。


全新内容:矩形区域光源

利用矩形区域光源可在包含大型光源的场景中实现更为真实的光源,如头顶荧光光照、电视机、光照标记等内容。可在模式(Modes)面板中访问矩形区域光源(Rectangular Area Lights)和其他各类光源。


  • 当前版本只支持延迟渲染器。

  • 其工作原理与点光源相似,但其拥有源宽和源高,可控制发射光的区域大小。

  • 静止移动性的阴影的工作原理与拥有可移动动态阴影的区域光源相似,而当前版本中的工作原理则更像是不带区域的点光源。

性能注意事项:

  • 移动和投射阴影时会产生主要的开销,因此整体开销高于点光源和聚光源。阴影生成的开销通常相同。

  • 静止移动性的光源或非阴影投射的光源开销可能会加倍,具体开销会视所使用的平台上下浮动。如使用的是静态光源,则不存在开销。


全新内容:混合现实采集(早期体验版)

全新的混合现实采集(Mixed Reality Capture)功能能够便捷地将真实角色融入虚拟游戏空间,为混合现实项目打造效果拔群的视觉体验!


合现实采集早期体验版拥有三个组件:视频输出、校准和游戏内合成。我们已经在列表中记录了支持的网络摄像头和HDMI采集设备,协助您将各种来源的真实世界绿屏视频导入虚幻引擎。如您拥有Vive Tracker或类似的追踪设备,混合现实采集还能够将真实摄像机位置与游戏中的摄像机进行匹配,使镜头更为动态有趣。而设置和校准则通过独立的校准工具进行,此工具可在虚幻引擎4的项目中通用。设置拍摄位置后,即可在所有应用程序中通用。

该功能现在仍处于早期体验阶段,我们期待您多多提供使用反馈,帮助我们进行改进。如果希望了解混合现实采集设置的详细信息,请查阅混合现实开发文档。


全新功能:nDisplay灵活多显示渲染

使用全新的nDisplay系统,不费吹灰之力便能够创建大型视觉设备的视讯墙!它能够在任意数量的主机电脑上自动启动任意数量的虚幻引擎实例,并将他们牢固地锁定在一起,内容确定,时间同步精确到每帧;每个实例都驱动其自身的投射器或显示器。还可以使用主动或被动立体渲染来增强观者的3D临场感;内置的VRPN则可以通过移动VR控制器来驱动系统。


需了解详情,请查阅文档。


全新内容:亚混音频录制

在新的音频引擎中,我们添加了录制引擎输出的功能,也可录制到单独的亚混音输出中。录制完成的文件为*.wav文件或SoundWave资源。


在将亚混音输出导出到一个SoundWave资源。


正在将亚混音输出导出到一个*.wav文件。


全新内容:共享的骨架网格体LOD设置

利用全新的LOD设置资源,一次性完成LOD设置,然后在多个骨架网格体资源之间重复使用!可以在骨架网格体的“资源细节(Asset Details)”面板中设置使用的LOD设置资源,或基于当前设置生成一个新资源。


欲知详情,请查阅“骨架网格体资源细节”页面中的共享LOD设置部分。

也可使用蓝图工具指定LOD设置并从蓝图重新生成LOD。


全新功能:流送几何体缓存和改良的Alembic导入器(实验性)

新版本继续对几何体缓存系统进行了稳定性和性能提升,具体如下所述:

  • 新版本中,单独的顶点动画帧使用基于Huffman编码的帧内解码器进行压缩。压缩数据从硬盘进行流送,使较长序列的播放内存开销较低。该新功能仍在早期实验性阶段,不可用于实际生产。

  • 新版本中Alembic导入器已改为迭代式导入帧,而非批量导入全部帧。这将改良PCA流程、整体稳定性和速度。


全新内容:Actor和内容浏览器快捷菜单脚本延展

使用蓝图工具在浏览器中延展Actor和内容资源的快捷菜单,无需编写代码即可轻松实现情境内工具和工作流的改良。

  • 使用新的父类之一创建一个新蓝图工具——AssetActionUtility(用于内容浏览器延展)或ActorActionUtility(用于Actor延展)。

  • 可以用GetSupportedClass函数来指定操作将应用的actor或资源类型。

  • 添加无返回值的逻辑输入事件(或函数),将其标记为“Call In Editor”,使其在快捷菜单中显示。事件被触发来填入事件上定义的任意参数值时,将显示一个弹出对话框。


全新内容:动画重定向管理器改良

新版本中动画重定向管理器支持映射数据的保存和加载,因此可以在多个网格体上保存和反复使用映射数据。可以使用此功能快速保存不同动画的多个绑定数据并重复使用。


欲知详情,请查看重定向管理器页面。


全新内容:刚体动画节点改良

在新版本中使用“本地空间(Local Space)”模拟在世界场景中移动骨架网格体组件时,可以在模拟形体上构成运动,这将为模拟带来更高的稳定性。新版本中还添加了一些选项来查看组件在世界空间中的线性速度和加速度,并将其应用(缩放和限制)到本地空间模拟。

此外还加入了将任意关节作为模拟基础的选项,并支持便捷重设力学。


全新内容:布料改良

新版本中物理资源支持在布料模拟中将锥形胶囊体用于碰撞。

注意:刚体模拟的碰撞中并不支持这些内容。

还可以将骨架网格体顶点颜色复制到任意选中的布料参数遮罩。


全新内容:垃圾回收改良

垃圾回收性能已优化,减少的运算量达13倍之多!改良详细内容如下:

  • “标记”阶段已优化,现变为多线程。在多核机器上,将对象标记为无法达到的开销已从8毫秒缩短为0.6毫秒(在约50万个对象上进行测试的结果)。

  • “开始销毁(BeginDestroy)”阶段(取消对象散列)在多帧上运行,耗时不超过2毫秒/帧。取消对象散列的开销将不会包含在“标记”阶段和可达性分析的相同帧中。

  • 在开发版本中运行的垃圾回收假设验证在新版本中使用与引用收集相同的多线程代码。因此,开发版本中的垃圾收集时间将得到提升。我们对约50万个对象进行了测试,采样时间从320毫秒减少到80毫秒


全新内容:Visual Studio 2017 

新版本的UE4使用Visual Studio 2017编译器,引擎将默认生成Visual Studio 2017的项目文件。引擎仍然支持Visual Studio 2015,但需要进行一些配置。此外我们还添加了对Windows 10 SDK的支持。

注意:Visual Studio 2017支持多个编译器版本并行安装。

欲知详情,请查阅硬件和软件规格。


全新内容:GitHub上的开发流送

U虚幻引擎开发流送现在会在GitHub上即时更新。如果您需要开发模式的最新版本,可以直接获取这些流送,无需等待Epic将开发团队的修改并入主分支中。但请注意,和二进制版本或主分支中的内容一样,我们的QA团队并未对发布的这些流送进行测试。

欲知详情,请查阅我们的相关博文。


全新内容:UMG安全区改良 

新版本中,在UMG和Play-In-Editor(PIE)设置选择的屏幕大小与设备描述关联,这同样考虑到了移动内容缩放因子(Mobile Content Scale Factor)。意味着最终的分辨率和DPI缩放将基于选择的设备屏幕大小而变化。



针对UMG安全区工作流进行了以下改良:

  • 使用小于1的值来测试电视和显示器的屏幕大小时,调试游戏安全区(Debug Title Safe Zone)的安全区预览将自动启用。

  • 使用命令r.MobileContentScaleFactor对UMG预览和PIE模式中的手机和平板分辨率进行缩放。

  • 新版本支持在部分屏幕无法使用的设备(如iPhoneX)上实现非统一安全区

  • 安全区、缩放框和常用边界空间能够正确响应非统一安全区和UMG设计器的大小。

  • 新版本中UMG将显示选中设备、其屏幕大小和等分缩放因子,便于在设计器图表中进行参考。

  • 使用r.MobileContentScaleFactor命令可对UMG和PIE模式中的手机和平板分辨率进行缩放。

欲知详情,请查阅文档UMG安全区。


全新内容:材质中的曲线图谱

新版本中,材质可通过蓝图提供的额外支持,使用曲线图谱资源来保存和访问线性颜色曲线数据。曲线图谱使用的线性曲线颜色与旧版本中相同,不同之处是能够使用的线性颜色曲线数量与指定图谱的大小相同。



新建曲线图谱的方法:在内容浏览器中选择“新增(Add New)” > “杂项(Miscellaneous)”,然后选择“曲线图谱(Curve Atlas)”。

打开曲线资源编辑器后,即可对单条曲线的色调、饱和度、明亮度、自然饱和度和透明度限制进行调整。此外,内容浏览器中的预览缩略图将显示曲线设置的梯度。

欲知详情,请查阅材质中的曲线图谱。


全新内容:“网格体描述”网格体格式 

新版本中UE4使用了一个更高级的媒介格式,其可代表引擎中任意类型的网格体资源。这是一个循序渐进的过程,将改良工作流,便于打造一些更棒的新功能。

使用全新网格体格式的目的是:

  • 所有网格体(静态网格体、骨架网格体,以及地貌和BSP等类网格体对象)都能拥有相同的内在代表,其拥有一定程度的可交换性。

  • 根据几何体格式,多数UE4几何体均可在任意类型的网格体上使用。

  • 使用新格式的所有网格体均可使用标准API启用的运行时以及原生或脚本修改来进行检查和修改。这样便会为过程化生成的内容带来非常多的可能性。

  • 网格体可以直接被导入格式,可以保留高级的网格体代表(如四边形或边缘硬度)。现版本中,导入静态或骨架网格体时这些代表均会丢失。

  • 全新的网格体格式拥有内部结构,可以实时进行修改(甚至能对极其复杂的网格体进行修改)。这便形成了半成品网格体编辑功能的基础,也可对其编写脚本,开发为未来的功能。

在此版本中,只有静态网格体被转换为使用全新的网格体格式。对用户而言常用工作流并未发生变化,资源本身也没有发生改变。在现版本中,新数据自动从旧格式进行创建,并在DDC中缓存。


全新内容:在取色器中标记保存的颜色

新版本中可对主题栏或主题菜单中保存的颜色贴上标签,便于进行识别。设置标签的方法非常简单:右击保存颜色的样本并输入颜色的命名。


如需了解更多详情,请查阅取色器。


全新内容:内容浏览器中的“最近打开”过滤器

在新版本中可以使用全新的“最近打开(Recently Opened)”过滤器迅速查找到最近在内容浏览器中查看过的资源。此过滤器将列出 20 项最近打开的资源。



“过滤器(Filters)”中的“其他过滤器(Other Filters)”下即可找到“最近打开(Recently Opened)”过滤器。最近打开浏览器中列出资源数量的修改方法是:编辑器偏好(Editor Preferences) > 内容浏览器(Content Browser),然后选择“在最近打开过滤器中保留的资源数量(Number of Assets to Keep in the Recently Opened Filter)”。

欲知详情,请查阅内容浏览器过滤器。


全新内容:Shotgun整合(早期体验版)

使用虚幻引擎4全新的Shotgun整合来简化生产流程吧!


功能包括:

  • 将虚幻编辑器添加到Shotgun启用程序,便于美术师打开Shotgun项目的正确虚幻版本。

  • 可在虚幻编辑器界面中打开Shotgun面板,便于在工作时即时了解Shotgun项目中的最新状况。

  • 它衔接到Shotgun加载器中,便于您便捷地将资源导入虚幻项目,并控制其在内容浏览器中所处的位置。

  • 它还将把Shotgun整合的命令添加到上下文菜单中(右击关卡中的Actor或内容浏览器中的资源打开)。

注意:在GitHub上分享我们的整合之前,我们正在撰写最新的详情信息。请稍后再回来查看更新及文档!


全新内容:编辑器脚本编写和自动库

编辑器脚本编写工具插件现已对所有虚幻引擎用户开放。此插件提供了简化的接口,便于对虚幻编辑器编写脚本和设置自动化,兼容内容浏览器中的资源,兼容当前关卡中的actor,可编辑静态网格体资源的属性,以及其他功能。

欲知详情,请查阅编辑器脚本编写和自动化。


全新内容:通过FBX文件导入资源元数据

将FBX文件导入虚幻引擎时,文件中保存的FbxProperty属性也将同时导入。您可以在蓝图、或在虚幻编辑器中运行的Python脚本中访问此元数据。这可以帮助您根据来自内容创建工具的资源信息来自定义虚幻引擎的资源管理流程。

欲知详情,请查阅FBX资源元数据流程。


全新内容:改良脚本对静态网格体LOD和碰撞的访问 

在新版本中,您可以利用在虚幻编辑器中运行的蓝图和Python脚本来修改静态网格体资源的更多属性。因此您可以对静态网格体编辑器用户界面中的一些工具实现自动化。例如:

  • 您可以自动生成几何体的细节级别(LOD),随着摄像机视口到几何体之间距离的增加来渐进式地使用几何体的低精度版本,从而增加场景的渲染性能。请查阅在蓝图和Python中创建细节级别。

  • 新版本中您可以自动生成在物理模拟中代表静态网格体资源的碰撞网格体。请查阅在蓝图和Python中设置静态网格体的碰撞。


全新内容:蓝图书签

用户可以使用蓝图书签功能在蓝图编辑器中的任意函数图表中创建命名书签。被创建的书签将列在一个新的UI窗口中,点击即可回到视口(以及正在查看的选项卡)中的位置和缩放等级。除创建的书签外,在单独的列表中选择注释还可以迅速跳至蓝图中的任意注释节点。书签保存在本机上,因此它们不会对蓝图产生影响,同步内容也不会使您的书签覆盖其他用户的书签。


全新内容:蓝图观察窗口

蓝图观察窗口使您能够观察变量和节点(甚至可以在多个蓝图之间进行观察),提高调试的工作效率。编辑器中打开的所有蓝图的观察数据,其为当前调用堆栈的一部分,将被合并到单个列表中,便于用户查看变量和函数输出。此外,您可在蓝图之间轻松切换。点击“节点命名(Node Name)”栏中的一个条目将前往任意蓝图中的命名节点;而选择“对象命名(Object Name)”中的条目将选中与该条目相关的对象实例。可对数组、集、映射和其他数据结构进行延展,轻松便捷地深入查看其中包含的数据。



新内容:导航系统代码移至单独模块

大部分导航系统相关的代码已从引擎代码的各处移出,并放入了全新的导航系统模块中。使用导航系统功能的游戏特定代码可能需要更新。

您可下载一个Python (3.5)脚本解析您的项目源代码,并找出需要更新的行。您也可以选择用脚本执行更改,但使用此选项必须谨慎,最好在版本控制系统的协助下使用。脚本选项就位于文件的顶部。

关于更新项目以适应这些改动的详细信息,请查看编程更新说明部分。


全新内容:移动平台镜面光照模型改良

移动平台镜面反应已改为默认使用GGX光照模型。它改良了移动平台镜面质量,与SM5匹配更佳,但增加了着色器处理时间的少许开销。


1 - 4.20版默认GGX镜面;图2 - 4.19版球形高斯镜面


旧版本中的球形高斯镜面模型仍然可以使用:前往渲染(Rendering) > 移动平台(Mobile),选择“使用传统着色模式(Use legacy shading mode)”项目选项。


全新内容:移动平台天光反射

新版本中,如无相关的反射采集,移动渲染器将为镜面反射使用天光立方体贴图


1 - 移动平台,无反射采集;图2 - PC,无反射采集


全新内容:复制驱动/复制图表

复制图表(Replication Graph)插件为拥有较多Actor和玩家的游戏提供了一种优化的复制系统。此系统构建了一系列的自定义节点,这些节点能将数据和计算集中。这些节点会存在于多个帧中,可通过客户端连接进行共享,并基于游戏特定的更新规则减少多于的CPU工作并将Actor分组。我们还可能对API进行修改,因此4.20仅为实验性版本。但我们已经在《Fortnite Battle Royale》中使用过它,之后会将它作为正式版推出。


全新内容:Steam认证

新版本中加入了Steam认证功能!游戏现在可以添加一个数据包柄组件,连接到Steam的认证API,使其能够更好地进行服务器宣传、处理VAC/发行商的广告位,并提供更佳的客户端验证。功能启用后,加入服务器的客户端需要Steam进行认证才能进入游戏。未能通过认证的客户端默认将被踢出服务器。


全新内容:Sequencer的帧准确度改良

新版本中,Sequencer把所有内部时间数据保存为整数,在必要时启用强健的帧准确度支持。关键帧、片段边界和其他数据固定锁定为下方用户可控制的序列分辨率。这可根据使用情况的需求调整优劣。非常高的分辨率将支持关键帧放置和子帧的更大精确度,同时缩小整体序列范围。



主要更新:

  • 新版本中,Sequencer的时间指针以一个块来代表,这个块将跨越当前求值的Tick的整个范围,清楚地显示哪些关键帧被求值,哪些关键帧并非用于给定的帧。

  • “强制固定帧间隔(Force Fixed Frame Interval)”播放已改为“帧锁定(Frame Locked)”,将引擎的最高FPS设为序列的显示率、将时间锁定为整个帧数量(无子帧插值)。

  • 不考虑帧准确度时(如UMG动画),依然完全支持子帧求值。

  • 支持引擎时钟(支持游戏世界暂停)、音频时钟和平台时钟之类运行时求值的各种时间源。

  • 可在Non Drop Frame(NDF)和Drop Frame(DF)时间码中查看 UI。NDF时间码对所有帧率可用,可直接将帧数转换为时、分、秒和剩余帧。DF时间码只支持 NTSC 帧率(23.976、29.97、59.94)。显示格式可以通过Ctrl + T组合按键进行修改,或通过帧率UI菜单进行修改。

欲知详情,请查看Sequencer时间重构说明页面。


全新内容:Sequencer的媒体轨迹

Sequencer拥有播放媒体源的新轨迹。它就像是用于影片的音频轨迹。将媒体源资源简单拖放到轨迹视图中,或从“添加轨迹(Add Track)”菜单创建一个媒体轨迹即可。此功能与图像序列的兼容性最佳,与EXR的兼容性尤佳。媒体轨迹中的图像序列将与渲染输出精确同步帧。



欲知详情,请查阅使用媒体轨迹页面。


全新内容:增强Sequencer曲线编辑器和求值

新版本对Sequencer中的曲线编辑器和求值进行了数项增强,其中包括:

浮点曲线支持权重切线。


曲线编辑器中使用权重曲线


增加变更旋转时的欧拉角连续修改。欧拉角不再受限于-180到180之间,能够避免动画出现翻转。

现在能通过轨迹的属性菜单在3D变换片段中开启四元数旋转,利用四元数插值在两个旋转之间平顺地插值。此功能与之前Matinee中的功能有所类似。


全新内容:在Sequencer中的动画实例上设置变量的动画 

新版本中可以通过可拥有物为动画实例上的变量设置动画,以便直接控制动画蓝图变量、函数和其他内容。将动画实例绑定添加到Sequencer的方法是在骨架动画组件的 [+Track] 按钮中寻找其命名。公开到过场的所有变量都将显示在其轨迹选取器上。


欲知详情,请查阅用Sequencer控制动画实例页面。


全新内容:Sequencer中的Final Cut Pro 7 XML导入/导出

新版本中,Sequencer影片场景数据可被导出为Final Cut Pro 7 XML格式,也可从此格式进行导入。这可使数据在Adobe Premiere Pro和其他支持FCP 7 XML的其他编辑软件中来会传递。您可以在编辑软件中裁剪并偏移镜头,并在导入时自动将这些映射回Sequencer。

注意:此版本尚不支持音频。



全新内容:序列录制器改良 

新版本中,序列录制器支持保存在固定关卡中的分析系统。录制分析文件可以保存需要录制的actor及其设置,以及保存录制数据的输出路径。序列录制器还支持为选中的每个actor录制多个镜头次数。

欲知详情,请查阅序列录制器页面。


全新内容:Sequencer轨迹易用性改良 

新版本进行了数项更新,改良Sequencer中轨迹的易用性。轨迹、Actor和文件夹可以被重新排序,事件轨迹名显示在事件关键帧旁,可以将片段大小重新设为其源长度,可以对单个变换轨迹设置遮罩,从混合姿势创建姿势资源等诸多操作。

欲知详情,请查阅全新的使用Sequencer中的轨迹页面。


全新内容:实例化立体渲染的半透明支持

我们将用于Robo Recall中的实例化立体渲染路径改良进行了再次改良,使其能够与引擎中的更多功能共用。虚幻引擎4.20版本中可使用实例化立体渲染执行半透明渲染通道,此法可极大降低渲染半透明元素较多的场景时的CPU开销。无需进行内容修改,在项目设置中启用了实例化立体渲染的所有项目都将受益。


全新内容:Magic Leap One™早期体验版

GDC时,我们公布了Magic Leap One™:创造者早期体验版。我们与Magic Leap通力合作,为开发者带来这个软件工具集,便于进行Magic Leap个人空间计算平台项目的早期开发。虚幻引擎从4.20版本开始将完全支持Magic Leap One™,开发者可安心进行开发。



幻引擎4的Magic Leap One使用摄像机控制、世界场景网格体、运动控制器、前向和延迟渲染等内容的内置框架。此外我们还添加了眼睛追踪和姿势等功能的强力支持。

开发者可从developer.magicleap.com下载Magic Leap软件开发套件和模拟器。如果开发者拥有硬件,虚幻引擎4.20版可以部署并在设备上运行,并通过Play In Editor支持零迭代工作流。


全新内容:支持Apple ARKit 2.0版本

我们添加了对Apple ARKit 2.0的支持,追踪精度更佳,支持垂直面检测、面部追踪、2D图像检测、3D物体检测、固定AR体验和共享AR体验。您可以利用这些新功能将AR物体放置到更多表面上、追踪一个面的位置和朝向、识别2D图像并将其生动显示、检测3D物体,并实现新类型的合作式AR体验。


全新内容:支持Google ARCore 1.2版本 

新版本支持Google ARCore 1.2版本,其支持垂直面检测、增强图像和Cloud Anchors。有了这些功能后,您便可以将AR物体放置在更多表面上,使图像效果更佳,并实现新类型的合作式AR体验。


全新内容:平台SDK升级

我们将在每个更新版本中对引擎进行更新,以支持各大合作平台的SDK版本。



  • Build farm进行编译的IDE版本

    • Visual Studio:Visual Studio 2017 v15.6.3工具链(14.13.26128)与Windows 10 SDK(10.0.12699.0)

      • 最低支持版本

        • Visual Studio 2017 v15.6

        • Visual Studio 2015 Update 3

    • Xcode:  Xcode 9.4

  • Android:  

    • NDK 12b(发布前Android 1r6u1安装程序的新CodeWorks将替代Android 1R5的CodeWorks,仍在NDK 12b上)

  • HTML5: Emscripten 1.37.19

  • Linuxv11_clang-5.0.0-centos7

  • Lumin: 0.12.0

  • Steam: 1.39

  • SteamVR: 1.39

  • Oculus Runtime: 1.25

  • Switch:

    • SDK 4.5.0 + 可选NEX 4.2.1(固件 4.1.0-1.0)

    • SDK 5.3.0 + 可选NEX 4.4.2(固件 5.0.0-4.0)

    • 支持IDE:VS 2015 / 2017

  • PS4:

    • 5.508.031

    • 固件版本5.530.011

    • 支持IDE:Visual Studio 2015、Visual Studio 2017

  • Xbox One (XB1, XB1-S, XB1-X):

    • XDK:2018年4月

    • 固件版本:2018年4月(版本号 10.0.17133.2020)

    • 支持IDE:Visual Studio 2017

  • macOS: SDK 10.13

  • iOS: SDK 11

  • tvOS: SDK 11





近期焦点




    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存