全新内容
我们在虚幻引擎 4.20 版本兑现了承诺,为广大开发者们带来众望所归的可扩展工具。赶紧来使用吧,创造前瞻性的移动游戏,探索Niagara的强大功能,用数字人类(digital humans)实现栩栩如生的角色,并充分利用各个平台的工作流优化。
加入经严格测试的移动平台和主机支持后,您便可以创建兼容所有设备的版本,为用户带来全平台的体验。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;右图 – 渲染冻结显示遮挡的部分
执行以下步骤即可启用软件遮挡查询:
- 启用r.Mobile.AllowSoftwareOcclusion 1。
- 禁用r.AllowOcclusionQueries 0。
使用高端移动设备时启用r.SO.VisualizeBuffer 1即可在移动预览器中显示结果。
平台材质数据
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版,以飨各位开发者:
全新内容:任天堂Switch发布的优化和改良
我们在打造Fortnite Switch版时进行了大量性能和内存优化,特此分享给虚幻引擎开发者们,提高Switch开发的工作效率!
改良和优化包括:
全新内容:代理LOD改良
全新的代理LOD工具已经从实验性功能转为正式功能,可用于开发工作!此工具可减少多边形数量、绘制调用和材质复杂性造成的渲染开销,从而提升性能,使移动和主机平台的开发更加容易!此工具提供了第三方打包Simplygon之外的一个选项,可结合虚幻引擎中的细节级别(LOD)系统使用。
代理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)法。
如需了解更多信息,请查阅景深文档。
效果设计和创建改良
左图 – 利用动态输入模块的粒子系统;右图 – 动态输入模块
用户界面更新
Niagara界面的设计初衷是为了使复杂的效果变得直观,便于创建。它将堆栈隐喻作为合并脚本逻辑块的主要方法。在堆栈中,可以通过时间轴(Timeline)来控制随时间变化的效果,还可以通过 参数面板(Parameters Panel)快捷地访问效果中可用的变量,并借助属性电子表格(Attribute Spreadsheet)在效果进行时迅速找到信息并作出响应。
新模块
Niagara的所有模块均已更新或重写,支持构建游戏效果中的常用行为,并使用一套固定的代码标准。Niagara堆栈中也加入了全新的UI功能,模拟C++中UProperties的开发者选项,基于其他变量的状态启用行内启用/禁用和变量显示。
GPU模拟
在DX11、PS4、Xbox One、OpenGL(ES3.1)和Metal平台使用时,Niagara支持GPU模拟。未来版本中还会支持Vulkan和Switch的GPU模拟。现版本中GPU模拟的限制和已知问题如下:
CPU模拟与编译
Niagara的CPU模拟现可在PC、PS4、Xbox One、OpenGL(ES3.1)和Metal上使用。当前版本尚不支持Vulkan和Switch。
全新内容:“数字人类”改良
Epic对数字人类的探索从照片级角色开始,加入了诸多渲染改良,帮助开发者制作出拥有极高真实度的角色。
开发这些角色时,我们添加了以下针对皮肤、眼睛、光照和次表面散射的渲染改良。
如需了解更多详情,请查阅虚幻引擎文档中的数字人类。
全新内容:矩形区域光源
利用矩形区域光源可在包含大型光源的场景中实现更为真实的光源,如头顶荧光光照、电视机、光照标记等内容。可在模式(Modes)面板中访问矩形区域光源(Rectangular Area Lights)和其他各类光源。
性能注意事项:
全新内容:混合现实采集(早期体验版)
全新的混合现实采集(Mixed Reality Capture)功能能够便捷地将真实角色融入虚拟游戏空间,为混合现实项目打造效果拔群的视觉体验!
该功能现在仍处于早期体验阶段,我们期待您多多提供使用反馈,帮助我们进行改进。如果希望了解混合现实采集设置的详细信息,请查阅混合现实开发文档。
全新功能:nDisplay灵活多显示渲染
使用全新的nDisplay系统,不费吹灰之力便能够创建大型视觉设备的视讯墙!它能够在任意数量的主机电脑上自动启动任意数量的虚幻引擎实例,并将他们牢固地锁定在一起,内容确定,时间同步精确到每帧;每个实例都驱动其自身的投射器或显示器。还可以使用主动或被动立体渲染来增强观者的3D临场感;内置的VRPN则可以通过移动VR控制器来驱动系统。
需了解详情,请查阅文档。
全新内容:亚混音频录制
在新的音频引擎中,我们添加了录制引擎输出的功能,也可录制到单独的亚混音输出中。录制完成的文件为*.wav文件或SoundWave资源。
在将亚混音输出导出到一个SoundWave资源。
正在将亚混音输出导出到一个*.wav文件。
全新内容:共享的骨架 格体LOD设置
利用全新的LOD设置资源,一次性完成LOD设置,然后在多个骨架 格体资源之间重复使用!可以在骨架 格体的“资源细节(Asset Details)”面板中设置使用的LOD设置资源,或基于当前设置生成一个新资源。
欲知详情,请查阅“骨架 格体资源细节”页面中的共享LOD设置部分。
也可使用蓝图工具指定LOD设置并从蓝图重新生成LOD。
全新功能:流送几何体缓存和改良的Alembic导入器(实验性)
新版本继续对几何体缓存系统进行了稳定性和性能提升,具体如下所述:
全新内容:Actor和内容浏览器快捷菜单脚本延展
使用蓝图工具在浏览器中延展Actor和内容资源的快捷菜单,无需编写代码即可轻松实现情境内工具和工作流的改良。
全新内容:动画重定向管理器改良
新版本中动画重定向管理器支持映射数据的保存和加载,因此可以在多个 格体上保存和反复使用映射数据。可以使用此功能快速保存不同动画的多个绑定数据并重复使用。
欲知详情,请查看重定向管理器页面。
全新内容:刚体动画节点改良
在新版本中使用“本地空间(Local Space)”模拟在世界场景中移动骨架 格体组件时,可以在模拟形体上构成运动,这将为模拟带来更高的稳定性。新版本中还添加了一些选项来查看组件在世界空间中的线性速度和加速度,并将其应用(缩放和限制)到本地空间模拟。
此外还加入了将任意关节作为模拟基础的选项,并支持便捷重设力学。
全新内容:布料改良
新版本中物理资源支持在布料模拟中将锥形胶囊体用于碰撞。
注意:刚体模拟的碰撞中并不支持这些内容。
还可以将骨架 格体顶点颜色复制到任意选中的布料参数遮罩。
全新内容:垃圾回收改良
垃圾回收性能已优化,减少的运算量达13倍之多!改良详细内容如下:
全新内容: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安全区工作流进行了以下改良:
欲知详情,请查阅文档UMG安全区。
全新内容:材质中的曲线图谱
新版本中,材质可通过蓝图提供的额外支持,使用曲线图谱资源来保存和访问线性颜色曲线数据。曲线图谱使用的线性曲线颜色与旧版本中相同,不同之处是能够使用的线性颜色曲线数量与指定图谱的大小相同。
新建曲线图谱的方法:在内容浏览器中选择“新增(Add New)” > “杂项(Miscellaneous)”,然后选择“曲线图谱(Curve Atlas)”。
欲知详情,请查阅材质中的曲线图谱。
全新内容:“ 格体描述” 格体格式
新版本中UE4使用了一个更高级的媒介格式,其可代表引擎中任意类型的 格体资源。这是一个循序渐进的过程,将改良工作流,便于打造一些更棒的新功能。
使用全新 格体格式的目的是:
在此版本中,只有静态 格体被转换为使用全新的 格体格式。对用户而言常用工作流并未发生变化,资源本身也没有发生改变。在现版本中,新数据自动从旧格式进行创建,并在DDC中缓存。
全新内容:在取色器中标记保存的颜色新版本中可对主题栏或主题菜单中保存的颜色贴上标签,便于进行识别。设置标签的方法非常简单:右击保存颜色的样本并输入颜色的命名。
如需了解更多详情,请查阅取色器。
全新内容:内容浏览器中的“最近打开”过滤器
在新版本中可以使用全新的“最近打开(Recently Opened)”过滤器迅速查找到最近在内容浏览器中查看过的资源。此过滤器将列出 20 项最近打开的资源。
欲知详情,请查阅内容浏览器过滤器。
全新内容:Shotgun整合(早期体验版)
使用虚幻引擎4全新的Shotgun整合来简化生产流程吧!
功能包括:
注意:在GitHub上分享我们的整合之前,我们正在撰写最新的详情信息。请稍后再回来查看更新及文档!
全新内容:通过FBX文件导入资源元数据
欲知详情,请查阅FBX资源元数据流程。
全新内容:改良脚本对静态 格体LOD和碰撞的访问
全新内容:蓝图书签
全新内容:蓝图观察窗口
新内容:导航系统代码移至单独模块
大部分导航系统相关的代码已从引擎代码的各处移出,并放入了全新的导航系统模块中。使用导航系统功能的游戏特定代码可能需要更新。
您可下载一个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时间重构说明页面。
全新内容:Sequencer的媒体轨迹
Sequencer拥有播放媒体源的新轨迹。它就像是用于影片的音频轨迹。将媒体源资源简单拖放到轨迹视图中,或从“添加轨迹(Add Track)”菜单创建一个媒体轨迹即可。此功能与图像序列的兼容性最佳,与EXR的兼容性尤佳。媒体轨迹中的图像序列将与渲染输出精确同步帧。
欲知详情,请查阅使用媒体轨迹页面。
浮点曲线支持权重切线。
增加变更旋转时的欧拉角连续修改。欧拉角不再受限于-180到180之间,能够避免动画出现翻转。
现在能通过轨迹的属性菜单在3D变换片段中开启四元数旋转,利用四元数插值在两个旋转之间平顺地插值。此功能与之前Matinee中的功能有所类似。
全新内容:在Sequencer中的动画实例上设置变量的动画
新版本中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!