[原创翻译]Unreal Engine 4.6 更新记录

发表于2015-07-08
评论0 2.5k浏览

虚幻引擎 4.6 更新记录

Brandon Sieprawski on December 4, 2014 | 张弢 20141229日 翻译

 

       虚幻引擎4.6完成了一系列的光照与材质增强,支持了捕捉与回放网络演示。大幅更新了动画工作流,包括根骨骼动画混合与多层蒙太奇支持。新的移动版预览方式让你可以更便利的编辑针对移动设备的关卡。UMG极大的增强了UI创建,现在你可以在3D环境中放置交互式UI组件。在4.6中我们继续为移动平台与主机平台提供了上百项的其他功能修正与更新。

       这一版本还包括了88个由虚幻引擎开发社区提交的修改。我们非常感谢以下的开发者所做的贡献:

Alex Silkin (alexSilkin), alwei, Allegorithmic, Artem V. Navrotskiy (bozaro), Cengiz Terzibas (yaakuro), Flenzine, Gigantoad, Rama (EverNewJoy), Joel Riendeau (joelriendeau), Jakub Stasiak (jstasiak), Joe Hegarty (JoeHegarty), Marat Radchenko (slonopotamus), Michael Kösel (TheCodez), Michelle12188, Marcin Polaczyk (mpolaczyk), MyDigitalLife, mordentral, KazumasaOhashi, leobenaducci, Lukasz (iniside), Nicholas Hughes (piinecone), Sebastian Köcke (byte3), Salamanderrake, Stephen Whittle (stephenwhittle), Tomas Jedlicka (jedlickat), Rick Yorgason (Skrapion), Kyle Rocha (kylawl)

 

3D UMG UI(尚在实验阶段)

     UI控件现在可以添加到组件(Components)并显示在3D场景中。

•      你现在可以将UI渲染到一个屏幕外的空间中,然后映射回一个3D空间的四边面上,再将四边面附加在你的Actor上。它同时支持输入控制,如果你的游戏中有鼠标光标,你可以将它处理成可点击按钮,当然其他交互方式也可以。

•      要使用这个功能,简单的添加新的Widget Component到你的Actor中,同时分配UI组件给他。这一功能目前还是实验阶段,我们会继续完善它并添加新的功能。

•      你可以在Widget Component的细节面板设置渲染属性。别忘了设置渲染尺寸,它控制渲染目标的实际大小。

                     

 

自发光材质支持静态光照

      

       自发光材质现在可以支持直接光照了。

•      要打开这个功能,首先物件的移动状态要设置为静态,然后打开投影类选项中新增的使用自发光静态光照选项。

•      Lightmass会依据自发光贴图信息创建预烘培的直接光照。

•      记住:这是一个快速但有限制的自发光光照。它仅仅计算直接光照,但是对光照构建时间没有影响。它最好是用在有其他光源的场景中,不要只依赖它来照明整个场景。

 

植物支持静态光照

       预计算的光照与投影现在支持植物对象与模型实例对象。这将使它们在接受场景中的固定位置光照与静态光照时获得非常高性能的光照渲染。

       考虑到光照构建时间与内存开销,静态光照适合中等大小的关卡而不适合超大型关卡。当你的实例模型对象很多时,请确保他们只使用了小分辨光照贴图。

回放录制(捕捉网络回放)

       这一功能允许将游戏过程保存为回放。它将游戏过程中的网络数据流保存为回放文件,便于你播放或共享。你甚至可以使用时间缩放去慢放或快进你的游戏录像。

 

       在网络功能开启的情况下,任何虚幻引擎游戏都可以自动拥有演示回放功能。

•      要启动录制,请使用控制台命令DemoRec <replay name>

•      要回放之前录制的游戏,可使用控制台命令DemoPlay <replay name>

•      要尝试快进或慢放,可使用Demo.TimeDilation <multiplier>。例如你要半速播放就使用Demo.TimeDilation 0.5

•      我们更新了范例库中的射击游戏,并游戏菜单中集成了新的回放功能,可以直接浏览已保存的回放。(要录制回放仍然需要使用控制台命令)

 

编辑器内预览移动平台效果(尚在试验阶段)

       你现在可以直接在编辑器视图内预览场景在移动平台上的效果!显示效果模拟OpenGL ES2,你可以随时在几个渲染模式间切换。

•      你可以在关卡预览功能中的试验性功能组中开启它。

•      在主编辑器工具栏中点击 Settings -> Feature Level Preview ->ES2.

 

网页浏览器 UI 控件(同样处于实验状态)

     使用新的网页浏览器UI控件现在可以在游戏与编辑器中使用。

•      新的网页浏览控件现在可以很简单的作为UI的一部分在游戏中显示交互的网页内容。此功能基于嵌入式的Chromium web framework (CEF3)。这个功能暂时处于试验状态,仅支持windows平台。

 

在蓝图中支持Steam平台的组队

       虚幻引擎现在通过蓝图脚本支持了基于Steam平台的在线发起、加入、搜索组队功能。

•      我们加入了用于发起、加入、脱离、搜寻在线组队的一系列新蓝图节点。同时支持Steam平台与本地局域网连接。

•      以下是这些新增的节点:

•      Create Session:发起一个组队,可在网络上被发现。

•      Find Sessions:搜索网络上可加入的组队。

•      Join Sessions:当在网络上组队被找到时加入组队。

•      Destroy Session:离开当前加入的组队。

 

材质系统新功能

     材质支持更多贴图

•      使用新的共享属性的贴图采样,单个材质可以支持最大128个贴图。这一设置包含在贴图采样的SamplerSource属性设置中。

•      对于像是地形、高质量角色这些需要使用多重层叠材质的对象来说,这是一个非常重要的增强。

•      DirectX 11与新世代主机现在可以支持128张贴图,但在OpenGL显示方式下(WindowsMac)仍然只能在单个材质中支持13张贴图。超过这一限制,在编译Shader时会编译失败。

 

      实时预览ScalarVector参数的默认值

•      当你修改 scalar参数与vector参数的默认值时,可以即时的在3D视图中看到反馈。

•      这对于使用材质功能集作为中间功能的材质调整非常有帮助。

      

       材质功能集现在可以暴露材质实例参数

•      材质实例参数现在支持用于功能集。这可以使材质实例非常方便的使用这些暴露出来参数,材质功能集的通用性更高。仅有的例外是功能集里的输入与输出节点,它们仍然只是功能集内部功能。

•      请注意这些参数都需要设置正确的名字,如果在同一材质实例中的调用两个功能集中都有同名的参数,那没它们之间会互相覆盖。除非你确实故意要这样共享参数值,不然就得赋予不同参数名。

 

动画:人型绑定快速选择

•      Persona中新增了一个功能用于快速选择人型绑定。这种绑定你常常可以在虚幻市场中找到。

                            

 

新的蓝图编辑器菜单

       我们重新设计了蓝图编辑器中的右键菜单,提供更加精确的、关联度更高的菜单内容。

•      通常情况下,下拉式的关联菜单只会显示与当前节点直接相关的内容,更多设置你可以在蓝图编辑器的属性栏里做设置。

                     

 

更大的3D世界空间

       单个独立的关卡空间范围扩展到了20公里左右,C++代码中的WORLD_MAX常量增加了大约4倍(原来大约是5公里)。

       注意,当你需要创建更大的世界时,可以使用虚幻引擎中的世界合成功能,它可以用来连接组合多个世界空间。

打包项目与资源

     打包项目与资源现在比以往更快了!

•      当你希望在编辑器中打包数据内容,现在不必再唤醒一个独立进程去处理。这意味着编辑器内打开的内容组件可以直接从内存里被打包。

•      这一功能默认就是打开的,如果你希望用老的方式处理,你可以在属性中选择Disable Cook in Editor

 

AI导航数据流式加载

       虚幻引擎现在可以将预计算的AI导航Mesh数据在运行时使用关卡流式载入与卸载。

•      现在你可以直接将静态的AI导航Mesh数据保存在不同的子关卡中,在游戏中使用关卡流来随时载入这些关卡。

•      默认情况下,AI导航Mesh数据会与相关的导航体积保存在同一子关卡中。

 

UI: 游戏控制器支持

      现在可以使用手柄摇杆来与UI元素交互了。

•     缺省情况下你可以用方向键、左摇杆控制。当然也可以使用Tab键或者Shelf+Tab键来跳转。这些操作同时支持SlateUMG

•     我们将原来的键盘焦点控制器焦点统一为用户焦点。改变用户焦点将影响用户的所有的控制器与键盘焦点。

 

UI: 合成字体

       SlateUMG现在都支持字体类(Font families)与合成字体(Composite Fonts)。它们允许你创建由多个子字体组合而成的字体类,而且每种子字体可以分别对应不同的字符段,这对于本地化来说非常有用。

 

       字体组件

•     字体组件现在支持多个TTFOTF字体文件组合。

•     字体组件同事支持两种当时来生成字体缓存。离线方式使用老的计算方法预先生成字体索引图,同时网盘们还新增了运行时方式。你可以在字体编辑器里非常方便的切换这两种方式,也可以很简单的将现有字体组件转换过来。

•     现在在创建新的字体组件时会默认创建一个空的合成字体,当然你也可以直接在内容浏览器中导入TTFOTF是自动创建。

       字体编辑器

•     字体编辑器现在更新了功能,让你可以创建新的组合字体。

 

•     一个组合字体默认就会包括一个字体组,你可以添加更多的子字体组去定义不同的字符段对应字体。每个组内都可以定义任意数量的字体,并拥有自己的命名。

•     在运行时我们会选择适当的字体去匹配相应字符段的显示。

•     你可以在预览图底部看到一组日语字符显示,我们使用了Han Sans字体去定义了Roboto这个字段。同时基于名字匹配字体的

 

       字体使用在UMG

•     原来界面中用于直接指定磁盘上TTF文件的方式被删除了,替换为可以指定相应字体组件的新方式。

   

•     之前的设置丢失的话,请按照新的字体组件的方式重新设置。

•      UMG现在只支持运行时缓存的字体组件。

       字体使用在 SLATE

•     任何已有的基于Slate styleC++代码现在都还可以工作,当然你最好是使用新的合成字体来更新你的设计。

•     我们推荐在C++代码中使用FStandaloneCompositeFont 来使用合成字体。

•     这是因为对于垃圾回收来说,Slate style定义的字体组件不可见。直接去使用字体组件会需要在内存里保留一个外部引用,类似于FGCObject

       字体使用在 CANVAS

•     Canvas同时支持两种字体缓存技术,这可以更好的支持一些工具的本地化。

•     我们不推荐继续在新游戏UI中使用Canvas了,建议使用UMG


如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引