虚幻引擎 4.9 版本信息

本发布版本包含了129个重大修改,这些修改由虚幻引擎的令人赞叹的社区开发者提交而来。感谢这些开发者对虚幻引擎4.9的贡献:

Andrew Zhilin (zoon), Artem V. Navrotskiy (bozaro), Artyom Sovetnikov, Ben Rog-Wilhelm(zorbathut), Ben Wiklund (bwiklund), Black Phoenix (PheonixBlack), Błażej Szczygieł (zaps166), Brad Grantham (bradgrantham), Brent Scriver (FineRedMist), Cengiz Terzibas (yaakuro), chipgw, Christian Radich (yoyohobo665), Christopher P. Yarger (cpyarger), Clay Chai (chaiyuntian), Cliff Jolly (ExpiredPopsicle), Dave Newson (dave-newson), Derek van Vliet (derekvanvliet), Dorgon Chang (dorgonman), ewirch, Felix Laurie von Massenbach (erbridge), Gabriel Hare (GabrielHare), gatools, Hakki Ozturk (ozturkhakki), HueyPark, JaredTherriault, Jason Spangler (Stormwind99), Javier Osset (Xaklse), Jeff Rous (JeffRous), JohnAlcatraz, Kitatus Studios (KitatusStudios), Konstantin Nosov (gildor2), korypostma, Lee Berger (MrCrowbar), Maarten Scholl (maartenscholl), Marat Radchenko (slonopotamus), marynate, Matthias Huerbe (MatzeOGH), Maxim (maxpestun), Michael Allar (Allar), Michael3DX, MiniTurtle, Moritz Wundke (moritz-wundke), Nako Sung (nakosung), Nari Demura (demuyan), Nastenko Michael (deM-on), Nathan Stocks (CleanCut), Niels Huylebroeck (red15), Pablo Zurita (pzurita), Patrick Flanagan (valtrain), Pedja Lubomirovic (3dluvr), Philipp Smorygo (fsmorygo), Pierdek, Piotr Bąk (Pierdek), Quadtree, Rajko Stojadinovik (rajkosto), Rama (EverNewJoy), Rem (rveilleux), rlefebvre, Robert Khalikov (nbjk667), Russ Treadwell (trdwll), Salamanderrake, Sebastian Witkowski (witkowski-seb), Sébastien Rombauts (Srombauts), Simon Taylor (simontaylor81), Stephen Whittle (stephenwhittle), szyszq, TK-Master, Tobias Mollstam (mollstam), Tomasz Sterna (smokku), user37337, Victor Xie (FTPiano), Vladimir Ivanov (ArCorvus), Will Stahl (merlin91), yamashi, Zhi Kang Shao (zkshao)

主要功能

对移动设备的增强支持

我们正致力于极大地改进对移动平台的支持,并且这个版本包含了诸多令人激动的渲染特性以帮助您创建领先的移动平台游戏。新功能包括了高效的动态阴影、可移动光源和贴花。在未来我们会对移动平台和HTML5渲染质量进行持续改进。在这个版本中,我们已经改进了iOS的应用程序内购买功能,并且我们还添加了对CloudKit的远程推送通知和支持。对于安卓平台,我们添加了OpenGL ES 3.1、沉浸模式支持、异步音频压缩以及更佳的方向特性。现在我们还加入了NVIDIA AndroidWorks,这样您可以更方便地在您的设备上设置和运行它。虚幻引擎4现在还创造性地加入了对iOS平台的智能模糊分析插件!您还可以把诸多针对移动设备的新功能用于您的HTML5游戏。

image alt text

新增内容: 针对移动设备的动态角色阴影

现在移动设备上支持来自定向光源的动态调制的角色阴影!

image alt text

新增内容: 针对移动平台的动态点光源

现在,移动设备和HTML5平台上支持动态点光源!

images/image_2.gif

新增内容: 移动设备上的贴花

现在,移动平台渲染器支持Decal(贴花)!

image alt text

新增内容: 主要的虚拟现实内容更新

Steam VR (HTC Vive)

虚幻引擎的SteamVR插件包含了许多主要更新,可以更方便并以更加高效的方式来使用虚幻引擎。

image alt text

SteamVR改进的内容包括:

Gear VR更新到Mobile SDK 0.6.0版本

这个版本修复了多个Gear VR的主要渲染bug以及在0.5.0版本中出现的问题,以及一些硬件兼容性问题。

image alt text

新增内容: 支持虚拟现实运动控制器

现在,虚幻引擎4通过一个通用的抽象层支持Motion Controllers(运动控制器)!

image alt text

这意味着像Vive SteamVR 控制器, Sony Move等都可以通过一个通用的接口可用。 通过使用运动控制器按键抽象类,现在可以将输入按钮的按下及触发处理发送给多个控制器的单个玩家。 另外,您可以通过简单地给您的角色添加一个Motion Controller(运动控制器)组件,来简单地给您的项目添加运动跟踪,这将自动更新附加到角色上的任何东西来遵循您的控制器的位置!目前支持 HTC Vive控制器,不久后将支持更多类型的控制器。我推荐所有的运动控制器插件都移入到该新系统中,以便它们可以成为设备无关接口的一部分。

新增内容: 实验性DirectX 12支持

现在推出了对DirectX 12作为一项实验性内容的支持!如果您正在使用Windows 10,您可以通过使用命令行的"-DX12"来运行引擎以试用这项功能。

image alt text 微软的工程师们添加了对UE4的DirectX 12支持,我们和他们一起配合来整合变更内容到4.9版本中。这项功能仍为新功能,并且是试验性的。DirectX 12提供了更为底层的渲染API,它更为高效,而且可以跨多线程来对渲染命令进行并行提交,这是一项由控制台的渲染API所激发的功能。之后,我们会继续改进对DirectX 12的支持,并且我们会寻找新的方法来在即将推出的引擎新版本中使用新的API。

新增内容: 应用网格物体距离场的全景粒子碰撞

距离场GPU粒子碰撞允许粒子有效地同整个场景进行碰撞。

image alt text

可用于 同表面发生碰撞的火花 .

image alt text

image alt text

image alt text

新增内容: 层次化LOD快速预览和群集

Hierarchical Level-of-Detail (层次化细节层次)(HLOD)是在4.8版本中引入的一个系统,它可以把您关卡中的许多对象压缩到屏幕上看起来很小的几个对象。这样您可以在近距离查看对象时获得更高的质量,并在关卡中获得更好的总体性能表现。我们对4.9版本的HLOD进行了改进,并将持续在未来的版本中进行此类改进。

快速HLOD预览

为了快速在Hierarchical LOD(层次化LOD)版本上进行迭代,现在您可以使用Preview HLOD(预览层次化LOD)选项。这将仅使用Actor边界的可视化表示及其自身没有融合及创建HLOD网格物体的对象创建HLODActor。它们的边界根据为特定Hierarchical LOD(层次化LOD)级别的LODSystem(LOD系统)设置内设置的DrawDistance (描画距离)进行渲染。

image alt text

该图片展示了弹入到视图中的第一个和第二个层次化的LOD级别,这清晰地指出了这些级别如何聚集,而不必经历融合及创建层次化LOD网格物体的耗时过程。注意,这只是该预览系统的初步实现,随着时间推移,可能会进行修改及改进。

自定义LOD群集 (HLOD体积)

为了对 Hierarchical LOD(层次化LOD)的群集过程有更多的粒度控制,现在您可以放置Hierarchical LODVolume(层次化的LOD体积),它将为它包含的Actor创建一个群集。有了这个功能,就允许用户手动地定义关卡中的哪个区域及哪些对象应该群集到一起。

image alt text

新增内容: "Arch Vis" 角色控制

新增的"ArchVisCharacter” 插件添加了可用于建筑可视化应用的立即可用的控制的角色类。旨在于提供在真实世界范围内的舒适和自然的控制,并启用更平滑的视频和在线演示。

image alt text

您可以直接将ArchVisCharacter绑定为Pawn类,或者您也可以从中创建自定义蓝图以随意调整移动设置。

新增内容: 控件深度排序

屏幕空间中的控件组件(Widget Components)现在会根据距离观察者的距离自动分类,以确保最近的屏幕控件控件组件总是位于其他组件的上面。

image alt text

通过这样,共享的图层控件可以根据到相机的距离适当地分类所有控件组件。之前它是基于手动的 ZOrder,或者添加到视口中的先后顺序分类的。

新增内容: 区域阴影 (用于固定光源)

之前,固定光源总是生成具有均匀半影尺寸的尖锐阴影。 现在,Lightmass光线追踪允许它们生成固定光源的区域阴影!

image alt text

开启"Use Area Shadows for Stationary Light"(使用固定光源的区域阴影)选项来使用此功能。'Light Source Angle'(光源角度)(或点光源的'Source Radius'(光源半径))控制了这些阴影的柔和度。

image alt text

性能表现详细信息:

新增内容: 环境遮挡材质蒙板

新的环境遮挡材质蒙板功能允许您在材质中访问Lightmass计算的环境遮挡,这对于程序化贴图是有用的,比如在它累积的区域添加老化效果及灰尘。

image alt text

以上的屏幕截图使用环境遮挡蒙板来自动混合泥土层到环境中的角落位置。

要想使用该功能,您需要启用WorldSettings(世界设置)->Lightmass settings(Lightmass设置)下的 'Use Ambient Occlusion(使用环境遮挡)' 和'Generate Ambient Occlusion Material Mask(生成环境遮挡材质蒙板)' 这两项,然后构建光照。 其它的类似MaxOcclusionDistance(最大遮挡距离)这样的环境遮挡控制可以用于调整外观效果。(请确保设置直接及间接环境遮挡部分(Indirect Occlusion Fraction )为0,以便这个环境遮挡不会应用到实际的关卡光照上。)

image alt text

然后,在您的材质中,您可以将该环境遮挡作为具有PrecomputedAOMask节点的0-1的蒙板访问。PrecomputedAOMask节点将在遮挡的区域中提供1,在其他地方提供0。

image alt text

性能表现详细信息:

新增内容: 网格物体距离场材质

这项功能让您的材质可以方便地确定到空间中任意点的立体处的距离。最近的有两个新的节点,用于访问材质编辑器中的全局距离场属性。

image alt text

DistanceToNearestSurface返回一个带符号距离,以世界空间单位为单位。注意,不透明网格物体表面上的距离将总是接近于0。 DistanceToNearestSurface 可以用于使得特效避开遮挡者:

虚幻引擎4用户Roel Bartstra已经发现了该功能的一些有趣应用 - - 一个是 获得软体效果 , 另一个是 创建自动避开表面的流程图

同所有距离场功能一样,这个功能需要在Rendering Project(渲染对象)设置中启用'Generate Mesh Distance Fields'(生成网格物体距离场) 。 距离场材质访问是一个Shader Model 5功能。 使用FeatureLevelSwitch 材质节点提供针对Shader Model 4硬件的回滚应用。

新增内容: 改进的距离场环境遮挡

环境遮挡在物体周围提供了由天空所照亮的柔和阴影,这在阴暗的光照环境下尤为重要,一般来说,在没有预计算光照的情况下,很难以高质量进行渲染。距离场环境遮挡解决了这个问题,创建了完全动态的游戏,在其中,时间和环境可以随时变更。我们在提升4.9版本技术的质量和性能表现方面付出了巨大努力,并且我们相信,这对于中等配置的电脑和和PS4级别的硬件来说,现在这是一个可以发布的功能,在一般游戏场景中,总体GPU消耗低于4ms!

之前的方法进行自适应采样,所以尽管平面做较少的工作,但这仍然会在干净的场景中导致大量的污点。

image alt text

现在,环境遮挡的计算速度已经足够快,可以摆脱自适应采样,所以遮挡更加平滑。

image alt text

需要注意的是,新方法需要较长的历史过滤器,这可能会导致重影,尤其是当阴影投射者移动时。 希望这个问题以后会有所改进。

性能

距离场环境遮挡处理速度更快,以至于它可以在中等配置的PC及PS4上运行。 现在,它也具有更可靠的性能消耗,以至于几乎是常量,性能消耗略微依赖于对象的密度。

在具有一个静态相机和基本上全是平面的情况下,新方法快**1.6倍。在具有植被和快速移动相机的复杂场景中,这种新方法速度快**5.5倍。完整游戏场景在PS4上距离场环境遮挡的性能消耗是3.7毫秒。

技术细节

主要优化是使用一个全局距离场,该距离场随着相机转动。 这通过将所有常见的基于每个对象的距离场域组合到几个以相机为中心的体积贴图(称为clipmap(剪辑贴图))中来创建。 仅需要更新新的可视化区域或者那些受到场景修改影响的区域,这样合成就不会有太多性能消耗。

剪辑贴图(clipmap)的贴图像素尺寸的可视化效果 - 每个剪辑贴图具有一种不同的颜色

image alt text

全局距离场的分辨率比对象距离场低,所以它可以用于任何处理。 当计算天空遮挡的锥形追踪时,对象距离场在被遮挡的点附近采样,而具更快速度的全局距离场则在更远的地方采样。

这是光线追踪全局距离场和对象距离场的可视化展示。 全局距离场中的表面变得有斑点,并且薄的对象消失。

image alt text

新增内容:内容浏览器高级搜索

现在,当在内容浏览器中执行搜索时您可以使用高级搜索语法。虚幻引擎4被用于许多大型项目中,包括了一些包含了数百名开发者的团队,以及具有成百上千资源的内容库!这些新的搜索功能改进了工作流程,从而让您可以在任意大小的项目中搜寻内容。

image alt text

这增强了现有的简单搜索语法,通过提供一种从资源元数据及以下特殊按键中匹配 键->值对的方法:

新增内容: 收藏夹改进

这个版本包含了许多对集合的变更内容,这样就可以辅助您在游戏中的资源管理,诸如资源嵌套、智能化集合以及标记功能。

嵌套收藏夹

image alt text

image alt text

动态收藏夹

image alt text

image alt text

快速资源管理

image alt text

image alt text

改进了稳定性

改进的状态报告

改进的资源工具提示信息

image alt text

新增内容: 插件创建向导

现在可以很方便地为虚幻引擎4创建新的C++插件!请查看新的插件向导。

image alt text

新增内容: 增强的曲线编辑器

我们对曲线编辑器进行了诸多改进,使之能更方便地控制曲线关键帧和切线。

image alt text

新增内容: 蓝图中的多个返回节点

现在,一个函数可以有多个返回节点。一旦执行到“返回”处,函数执行将终止。这可以用于从蓝图函数中提早返回,或者进行分支及返回不同的值。

image alt text

新增内容: 在蓝图中构建自定义对象

在蓝图中,现在您可以生成不纯正的对象类型(不仅是actor/组件)。ConstructObjectFromClass 节点获取一个类,并创建一个那种类型的对象,和SpawnActorFromClass 类似(除了类型不是actor)。

image alt text

新增内容: 蓝图类默认值

在蓝图中,现在可以通过新的"Get Class Defaults(获取类默认值)"节点来访问类的默认值。 当应用仅包含数据的蓝图时这可能是有帮助的,这允许您访问这些蓝图的值,而不必创建一个实例。

image alt text

新增内容: 关卡蓝图通信

现在关卡蓝图可以通过接口通信。它们可以像类蓝图那样使用及实现接口函数。当把一个接口添加到一个类蓝图中后,便可以通过接口消息节点进行调用(使用用一个动态载入关卡作为目标)。

image alt text

新增内容: 优化的数学表达式

我们优化了Math Expression(数学表达式)节点,以便它比常规节点性能更好。现在,同使用一系列的 操作符/函数 节点表示的同样表达式相比,使用Math Expression(数学表达式)节点的速度大约快2倍。

image alt text

新增内容: 蓝图资源ID

有两种新的数据类型暴露给了蓝图: “Asset ID(资源ID)” 和“Class Asset ID(类资源ID)”。Asset ID代表一个已加载的或未加载的资源,可以使用“Resolve Asset(解析资源)”节点将其解析为一个对象。 如果该资源没有加载,那么“Resolve Asset(解析资源)”节点将返回一个无效的对象。 您可以使用“Load Asset(加载资源)”节点加载该资源。 类似地,“Class Asset ID”将解析为一个类,并可以使用“Load Asset Class(加载资源类)”节点进行加载。

image alt text

新增内容: 蒙太奇元素定时界面

我们向蒙太奇编辑器添加另一个新的界面,以便当动画在运行时帮助您控制激活蒙太奇事件的顺序。

image alt text

新增内容: 非线性动画混合

现在,我们支持动画姿势及变换之间的很多不同混合函数!

image alt text

以前,仅支持线性或三次方混合。 现在您可以从很多不同的混合函数中进行选择:线性、立方体、埃尔米特立方体、正弦曲线、二次方程、圆形、指数和自定义函数。对大多数类型来说,您可以分别控制是否使用曲线的“入”和“出”。

“Custom(自定义)” 选项要求有一个“Curve Float(浮点型曲线)”资源。 当创建一个资源后,您可以在详细信息面板中将它分配给相关节点:

image alt text

image alt text

这将允许您指出您想执行的任何混合。将会正规化并缩放曲线长度,使其满足指定的混合时间,任何超出范围0-1的值都会进行区间限定以适应(这个限制后续可能会提升,请留意) 如果没有指定自定义曲线,那么系统将回退到线性混合。

image alt text

新增内容: 骨骼驱动的动画控制器

骨骼驱动器允许您根据Driver(驱动)骨骼的组件的运动调整Driven(被驱动)骨骼的一个或多个组件。这对于附加了附件的角色很有用!您可以防止在动画中的几何体交叉问题,即使在进行了很多混合时也是如此。

image alt text

在这个示例中,手榴弹骨骼没有创作的动画,正在作为thigh_r骨骼的函数在两个坐标轴上驱动。任何动画混合最终都可以很好地运作,而不需要手动调整,因为它们是实时计算的。

您也可以使用一个乘法器直接取入驱动器值,将其重新映射到一个范围,或者使用一个曲线资源来驱动运动。使用曲线通常是最好的方法,因为它允许您自然地低定义响应,交互式地调整点/切线,从而实时看到改变。

以下是骨骼驱动的动画控制器的新设置:

image alt text

新增内容: 动画变换规则

这个版本包含了对动画混合树的改进,尤其是对变换规则的原理进行了改进。

更好地处理动画资源覆盖

现在,变换规则中类似Time Remaining(剩余时间)这样的节点将正确地对由于Child Animation Blueprints(子动画蓝图)中的覆盖动画而导致的动画长度改变做出响应。 这意味着每个子动画蓝图中变换规则所引用的动画不必再是同样长度。

引用最相关的动画层

为了使得状态机更加容易维护,现在您可以使用一个新的getter类,它将从源状态中选择权重最高的动画,而不是指向一个未来可能改变的特定动画。 现在以下节点可用:

image alt text

自定义混合图表改进

现在,在Custom Blend(自定义混合)图表中暴露了一些额外信息,以使得它们不仅仅用于一次性的自定义变换动画。 以下节点提供了关于相应变换节点及 源/目标状态的信息,现在可以在自定义混合图表中使用:

image alt text

您也可以使用引用资源层的getter方法,就像在变换规则中一样。

新增内容: 动画曲线计算修改

Animation Curve Evaluation(动画曲线计算)以前发生在动画的更新阶段,而现在移动到了计算阶段。这将带来以下一些好处。

新增内容: 支持动画资源元数据

现在,我们支持可以添加到动画资源中的元数据。元数据是从UAnimMetaData衍生而来的可以应用于蓝图的类,然后您可以将这些元数据添加到动画资源中(动画序列、动画蒙太奇、动画合成及混合空间)。

image alt text

您可以通过调用GetMetaData(),或者通过使用动画剪辑的GetSectionMetaData()来对C++中的动画资源的数据进行查询。

新增内容: 音频质量等级

我们添加了一项新功能,可以让音频设计师能够管理音频的内存使用和(某种程度的)性能表现,以用于低端机器/设备。

您可以在项目设置的音频部分中找到可用的音频质量等级。每种质量等级在目前可以指定由音频设备(一些平台,主要是安卓平台,仍会把该值限制为较低的值)所创建的最大数量的音频通道。

image alt text

在音频中,您可以放置一个质量等级的声音节点,它会对项目设置中定义的每个质量等级提供输入引脚,并且仅执行连接到活动质量等级的分支。这可以用于降低载入的变化的数量,或用于指定降低保真度的wave文件。

image alt text

当您在游玩独立的游戏时,您可以通过游戏的用户设置来指定质量等级,而且仅该质量等级所需的声音波形文件会被载入到内存中。默认值可以通过GameUserSettings.ini文件来基于每局游戏或平台进行设置,并且游戏可以通过其设置UI来设置其值。当前,游戏需要进行重启才能让质量变更生效。

如需在编辑器中播放,您可以指定通过关卡编辑器播放设置所使用的质量等级。变更这个值将会在播放对话激活时运行,并且新的音效会使用当前的质量等级。

新增内容: 自定义衰减曲线

现在,您可以为衰减音效定义您自己的自定义曲线,而不是简单地限制于在算法中构建。

在衰减设置中,设置Distance Algorithm(距离算法)为 ATTENUATION_Custom,您将看到自定义曲线部分出现。 然后,您可以从内容浏览器中指定一个外部曲线资源或直接在详细信息面板中自己直接定义一条自定义曲线。

image alt text

新增内容: 更新间隔

现在,您可以指定一个执行更新函数的时间间隔,从而允许您减少每帧执行更新函数带来的性能消耗,而不需要使用过多复杂的计时器。

这个功能通过Actor和组件默认属性暴露给最终用户,对于程序员,该项可以在C++中进行设置,和其他的更新函数属性类似。

image alt text

需要注意的几个实现细节:

新增内容: Actor侵犯检测

侵犯检测也变得更为强大并且可以在更多情况下运行。我们添加了一些新的自定义选项以供检测运行。

image alt text

当生成actor时,"bNoCollisionFail"(在蓝图中"即便碰撞也生成")选项已经被重构并扩展为支持4个选项,以表示如何处理产生点处的碰撞:

退出蓝图将自动更新来选择正确的对应选择。一些代码已经废弃,且将需要手动更新。

Actor类有一个新的暴露给蓝图的成员SpawnCollisionHandlingMethod,它控制默认如何处理生成碰撞。该项可以通过SpawnActor节点或函数调用上的设置进行覆盖。

侵犯检测功能也变得更强大,可以在更多情形中工作。对于具有MovementComponent(运动组件)的actor,则假设更新的组件为主要的碰撞形状,且是用于进行侵犯测试的唯一组件。对于其他actor,所有具有适当碰撞测试的组件都会被检测。请注意,这可能会导致某些actor在更新后无法生成的情况 -- 如果发生这种情况,请仔细检查您的碰撞设置、处理方法及生成变换。

新增内容: 后期处理混合

后期处理"Blendables"(可混合对象)被用于在不同的状态间转换后期处理特效。我们对这个系统进行了一些改进。

您现在可以对每个可混合对象设置混合权重值。这个混合权重可以在蓝图或C++代码运行时进行修改,这样您就可以使用后期处理转换进行一些有趣的操作了。

您现在还可以在后期处理体积内立即指定后期处理设置“inline”,或者您也可以选择创建可在多个物体间共享的单独可混合资源!

image alt text image alt text

同时,我们还让您可以更方便地定义自定义可混合设置。您不再需要修改引擎的内置PostProcessSettings结构,而只需使用设置来定义新的结构,诸如上方的Light Propagation Volume Blendable(光照传递体积可混合)设置。

最后,以下是一个关于如何使用蓝图来在运行时对可混合对象编辑其混合权重值的示例:

image alt text

新增内容: 动态资源缓存

一些游戏需要对资源的本地拷贝的存储进行支持,这个功能可能没有与游戏一起发布。举例来说,如果您具有许多程序化创建的资源,或来自于服务器的资源(比如广告图形)。新的动态资源缓存是一个通用的资源缓存系统,可以用来在可配置的资源块中持续地存储生成的数据。

image alt text

它有以下特性:

新增内容: 体积贴花(试验性功能!)

三维函数场渲染是描述几何体的另一种方法,它能够更好地解决一些很难的渲染问题(阴影、布尔操作、平滑处理、环境遮挡、光线跟踪、变形)。我们在引擎中的各种地方已经使用了2d及3d距离函数(字体、光照贴图、距离场阴影/环境遮挡)。全新的Volume Decals(体积贴花)允许将一个距离函数(由材质函数定义)作为不透明对象渲染到GBuffer中。输出到GBuffer中意味着我们会获得延迟渲染的所有光照功能(环境遮挡、屏幕空间发射、光照、景深、阴影接收)。下图中的碗显示了一个体积贴花。

image alt text

创建对象(请参照下图,按从左到右的顺序)

image alt text

这展示了如何定义球体的距离函数:

image alt text

该功能尚未完成(缺失阴影投射和间接光照,性能、质量、法线贴图支持),它在GPU上性能消耗总是较大(每个像素的距离函数可能要计算上百次)。我们将进一步改进它(材质函数、阴影投射、文档...),但是可能永远也不会达到实时使用所需要的速度。

新增内容: 虚幻引擎4文档标签,版本及技能级别

新建和更新的虚幻引擎4文档

新增内容: 异步实时音频解压缩

支持实时的基于ogg-vorbis的音频解压缩的平台(PC、 Xbox One、 Mac、 Android)现在会在可能的情况下执行异步解压缩以防止影响主游戏线程的运行。

新增内容: 功能包和模板的共享资源

现在支持在模板和功能包中的共享资源。这是通过让模板和功能包指定其它包含的功能包来完成的。这表示,现在对所有模板都可用的资源仅存在一次。这还意味着,我们不再需要对在蓝图和模板的C++版本间共享的资源进行复制。

支持多个目标平台,这样不同的资源可以共存于移动平台和桌面平台的一个模板或功能包中。举例来说,这样当您需要一个平台上的更低细节的模型而非另一个资源时,这就很好用了。

新增内容: 改进的HTML5 (方便的设置、 Amazon S3 支持、 网络)

您不再需要安装任何第三方SDK来启动HTML5的开发并为网络浏览器而打包您的游戏!如需打包,您只需在 File(文件) -> Package menu(打包菜单)中选择HTML5。

其它的改进内容包括:

版本信息

AI

行为树

调试工具

导航

动画

音频

自动化

蓝图

Core(核心)

*#git author MiniTurtle

编辑器和工具

image alt text

image alt text

内容浏览器

地貌

材质编辑器

Matinee

Cascade

Persona(角色编辑器)

PhAT

世界大纲视图

静态网格物体编辑器

源码控制

世界浏览器

植被

烘焙器

游戏框架

学习资源

文档

示例内容

本地化

网络

在线

其它

Paper2D

物理

平台

安卓

iOS

Linux

Mac

Playstation 4

VR

HTML5

Windows

所有的移动平台

渲染

FX

光照

材质

后期处理

最优化

移动平台的渲染

UI

Slate

UMG

编程版本信息

AI

行为树
浏览

蓝图

蓝图

核心模块

编辑器和工具

    <li>
    新增内容:您现在可以辅助蓝图功能函数创建正确蓝图的能力。 之前所有类创建标准蓝图,现在如果在创建新蓝图资源时,任意注册的IBlueprintCompiler对特殊UObject类具有特殊的蓝图类,则其会询问编译器模块。 这样可以修复新资源按钮为UUserWidget子类而非UWidgetBlueprints创建UBlueprints的问题。

内容浏览器

地貌

游戏框架

本地化

网络

在线

其它

物理

*#git author EverNewJoy

平台

Mac
Playstation 4
Xbox One

编程

渲染

光照
后期处理

UI

Slate
UMG

更新信息

C++ API 变更

其它更新说明

AI

动画

核心模块

编辑器和工具

本地化

Paper2D

物理

平台

Playstation 4
Mac
所有的移动平台

编程

渲染

后期处理

UMG

虚幻引擎4.9发布版本带来了数以百计的更新内容,其中包含了129项GitHub上的虚幻开发者社区带来的重大修改!本次发布引入了许多全新的移动平台功能、对VR平台的扩展支持以及全方位的改进内容。和以往一样,我们要感谢这些天才的社区开发者们对虚幻引擎4.9的贡献。