Unity 2019.1版功能介绍

Unity 2019.1正式版功能

重要改进和新功能

1.HDRP;高清渲染管线(High Definition Render Pipeline)预览版

HDRP是预制的高保真度可编程渲染管线,旨在面向兼容计算着色器的现代平台。提供了用于创作各种高分辨率内容的工具,游戏和演示项目。
HDRP支持PC平台的DX11和DX12、Mac平台的Metal、PC和Linux平台的Vulkan、Xbox One和PS4。
1.可用Double-wide双宽VR
Double-wide是VR的缓慢路径,它会并列渲染二个视图。Unity 2019.1提供更为优化的单通道实例化版本,它支持所有HDRP效果,包括:折射、变形、次表面散射、贴花和体积效果。

2.提升性能:

HDRP现在使用的Color Buffer格式是RGB111110Float,而不是ARGBHalf,从而实现更快的着色器执行效果和提升总体性能。
在Unity 2019.1中,使用快速路径处理只有一个定向光和简单材质的情况。为了节省CPU时间,运动向量对象不再通过深度预处理通道进行二次渲染。变形效果通过模板缓冲区得到优化,经过改进的着色器变体移除功能将减少构建时间。
支持Software Dynamic分辨率,允许开发者在每个平台以不同于UI的大小渲染世界,面向支持平台提供的Hardware Dynamic Resolution硬件动态分辨率。
透明材质现在可以使用“Low Resolution”渲染通道名称,使材质可以渲染为四分之一分辨率,并且呈现类似的视觉质量,它对于大型粒子的Overdraw性能很有效。

3.改进的UI和摄像机支持

HDRP现在对所有UI元素的多个版本提供更好的支持、文档和工具提示。HDRP还增加了对Multi ViewPort多视口支持,允许你在相同目标渲染多个摄像机,以实现分屏渲染和其它类似行为。
FrameSettings和HDRP资源设置经过了重构,以实现更快的计算速度和更易用的版本,现在它会提供HDRP资源设置对内存和着色器变体的影响信息。加入SMAA (SMAA 1X)抗锯齿方法的支持,提供了介于性能(FXAA)和质量(TAA)的中间方法。
After Post-Process渲染通道现在可用于Unlit着色器,在经过后期处理道后,HDRP会渲染使用该渲染通道的对象,这意味着后期处理不会影响该通道的效果,该通道在渲染3D UI时很实用。

4.调试模式改进

HDRP现在包含一个Debug选项,冻结用来剔除的摄像机,但摄像机仍可以从渲染的视角移动,让你看到特定场景视图中被剔除的部分。Debug选项也提供了Material PBR验证器和Emissive颜色重写。

5.渲染管线向导

渲染管线向导会帮助你配置项目设置,以便在使用HDRP是正常工作。它会高亮不正确的配置部分,提供Fix按钮来校正设置,你也可以在此设置新的自定义场景。

6.新着色器和Shader Graph支持

Shader Graph着色器视图提供多个新的Master Nodes主节点。新的HD Unlit Master Node可以使用跨管线Unlit着色器无法使用的完整功能,例如:变形功能、渲染通道选取功能。

新的AxF Master Node,用于支持X-Rite AxF标准材质格式。AxF材质仅在结合AxF导入器时有用,AxF导入器是Unity Industry Bundle的一部分。AxF导入器会自动填充AxF材质的所有设置。

新的Hair Master Node,它使用了对艺术家友好的Kajiya Kay光照模型,具有更好的节能性和更大的灵活性。

7.HDRP和Shader Graph

许多HDRP专用的新节点和新行为。现在HDRP可以采样Scene Color,包括模糊Mipmap,用来模拟粗糙的折射或变形效果,颜色仅适用于透明对象。
Scene Depth节点可以访问原始、线性(0~1之间)或眼部深度。Lit Master Node上添加了Depth Offset输入,从而在视图向量的方向朝内或朝外扩大深度,在使用新的Parallax Occlusion Mapping节点获取光线的阴影时,这项输入很实用。

HDRP中后期处理效果的本地集成
在Unity 2019.1中,后期处理直接集成到HDRP中,包含一组基于计算着色器的自定义后期处理效果,它适用于高端主机和桌面平台。这套后期处理工具的新集合,兼容RT Handle系统,支持动态分辨率功能。
FXAA、SMAA、Temporal抗锯齿和8位抖动效果提供了后期处理抗锯齿效果,有助于平滑渐变并移除8位色带,它们可以在摄像机上直接设置。色差,镜头畸变和晕影效果与后期处理特效包Post-Processing Stack V2上的对应效果相同。
Film Grain,可以使用粒度查询纹理,而不是程序化噪声。添加了新的Panini Projection效果。Bloom 泛光效果现在使用基于预曝光值的阈值,这意味着只有过度曝光的对象会产生泛光效果,而不是在高于指定强度的对象产生泛光效果。
Color Grading颜色分级来自后期处理特效包Post-Processing Stack V2的改良版“HDR Grading”模式。大型颜色分级面板分离为独立的体积组件,以保持检视窗口的简洁。

Depth of Field景深效果经过完全重新设计,现在提供参数化光圈形状控制功能,允许你轻松配置光圈叶片数量、弯曲度和桶状剪裁和合成变质,该效果与分辨率无关。
Motion Blur动态模糊也完全重新设计,提升了质量和性能,这包括全新算法改动,它可以实现更精准和更广泛的模糊效果,同时减少伪影。

在Unity 2019.1中,可以从HDRP访问深度和法线缓冲区。视觉效果也可以访问HDRP内部的渲染缓冲区的内容,例如:主摄像机的深度或颜色,并把它们在模拟通道用作输入纹理。这可以帮助你轻松设置深度缓冲区碰撞和粒子的场景变形等功能。

8.Post-Processing Stack后期处理特效包

后期处理功能包括 Anti-aliasing、Depth of Field、Motion Blur、Panini Projection、Bloom、Lens Distortion、Chromatic Aberration、Color Grading and Tonemapping、Vignette、Film Grain和8位Dithering。

2.LWRP;轻量级渲染管线(light Weight Render Pipeline)

轻量级渲染管道(LWRP)是一个预先构建好的可脚本化的渲染管道。该技术可扩展到移动平台,还可以用于高端硬件和个人电脑。可以实现快速高质量的渲染。LWRP使用简化过的基于物理照明的材质。LWRP采用单通道渲染.使用此管道可以在多个平台上获得优秀的实时性能。

1.在以下平台上支持LWRP:
Windows和UWP
Mac和IOS
Android
Xbox one
PlayStation 4
Nintendo Switch
所有虚拟现实平台
注:内置着色器和自定义照明、阴影不支持LWRP。LWRP有一套新的标准着色器。如果将当前项目需要请将内置着色器升级到新版本。LWRP的项目与HDRP或内置的渲染管道不兼容。在开发之前,必须先决定使用哪个渲染管道。
LWRP可用于正式制作流程。LWRP是预制的可编程渲染管线,针对提供高性能图形渲染进行了优化。LWRP具有高度灵活的可配置性,允许开发者在全局或根据摄像机控制渲染设置。LWRP可以帮助开发者自定义效果设置摄像机深度和颜色纹理,并与Shader Graph着色器视图集成,这种高度可扩展的即插即用架构可以让你创建出自定义渲染通道。也可以重写渲染器来实现特定效果,并可针对不同平台调整渲染过程。LWRP的源代码可以在GitHub获取。
在Unity 2019.1中,添加了Dynamic Scaling动态缩放支持,和UI保留功能,它有助于在高DPI屏幕的设备上渲染游戏时保持UI的清晰效果。SRP Batcher支持和对粒子着色器的多项改进,包括:软粒子和变形效果。同时也对地形着色器和烘焙Lit着色器进行了改进。
新增了Custom Renderer自定义渲染系统,以实现更好的进行自定义效果。添加了对Visual Effect Graph的初步支持,初始的LWRP支持可用于Unlit着色器,仅限于支持计算功能的平台。

2.LWRP中的着色器

LWRP使用不同的阴影方法,而不是UNITY内建的渲染管道.因此,内置照明和自定义照明的着色器不与LWRP同时工作。LWRP为最常见的使用场景提供了以下着色器:
Lit
Simple Lit
Baked Lit
Unlit
Particles Lit
Particles Simple Lit
Particles Unlit
Autodesk Interactive
Autodesk Interactive Transparent
Autodesk Interactive Masked
在LWRP,可以拥有实时照明的(PBS)和非PBR渲染。对于PBS,使用[Lit shader、LIT_shader#、LIT_shader。可以在所有平台上使用。着色器的质量,取决于平台,但会保持最基础属性的渲染。以便提供现实的图形跨越硬件。如果功能较弱的设备,或者只是希望使用更简单的阴影,请使用简易照明shader,这是非PBR。如果你不需要实时照明,或者只想使用烘焙照明,选择一个烘焙照明shader。如果你根本不需要在材料上照明,可以选择一个没有灯光的着色器。

3.Visual Effect Graph;预览版

Visual Effect Graph受到主流电影特效软件的启发,提供了灵活且易于使用的节点系统,能够帮助艺术家为游戏等交互式内容快速创作惊艳的视觉效果。
新的Prewarming功能允许你在特定时间预先模拟效果的一部分,使它逐渐达到完整状态。这可用于创作各种效果,例如:随时间积累的烟雾。我们也更新了光照探针和光照探针代理体积。
噪声函数的改进使用了柏林噪声,包括柏林噪声数值,细胞噪声和卷曲变化。生成时间和生成数量算子可以统计前一帧同时生成的粒子数量。

4.Adaptive Performance移动平台自适应性功能(预览版)

它提供关于热量趋势的数据,包括:游戏在运行时是CPU绑定还是GPU绑定的信息,以便开发者进行调试,并改进常见移动游戏开发的工作流程。
性能和开发工具
我们正在开发支持高性能和多线程处理的面向数据技术栈DOTS,其中Burst编译器在Unity 2019.1脱离预览阶段。

5.Shortcut Manager快捷键管理器

交互式可视化界面和一组API,使开发者能够轻松管理编辑器的热键,把它们指定给不同的使用环境,并且在一个界面可视化已有键位绑定。
Shortcut Manager快捷键管理器提供了交互式可视化界面和一组API,以便管理编辑器热键,指定它们到不同使用环境,并且可视化已有绑定设置。
为了解决键位冲突,开发者可以可视化查看多个指令是否使用相同的键位绑定,并且相应的重新映射。
你可以按下Shift + Control可以查看可用快捷键,显示出所有保留和未保留键位的列表。开发者也可以保存热键到自定义配置文件中,以便保存,分享和迁移到其它工作环境。
全新的上下文环境系统可以注册指令到编辑器窗口的特定环境之中,它允许工具开发人员定义自定义行为,通过快捷键使用自定义行为。
这些快捷键可以定义为使用环境感知状态,使它们仅在特定使用环境中可用。开发者能够可视化并处理快捷键之间的冲突,例如:如果多个资源包使用相同快捷键,编辑器会触发通知并提供选项来处理冲突。

6.Android Logcat集成(预览版)

Android Logcat工具包是一个在Unity编辑器显示Android设备日志信息的实用工具,它兼容Unity 2019.1,可以通过在Unity控制和筛选信息来轻松进行调试。

7.AR Remote(预览版)

AR Remote允许你在设备和Unity编辑器之间传递数据,不必在每次测试功能的时候把项目构建到设备上。AR Remote包含Session Recording & Playback会话录制和回放功能。它可以录制设备上的会话过程,在编辑器进行回放,以实现高效的应用程序测试过程,并迭代预览效果。
手持式AR示例项目
手持式AR示例项目已经发布。该项目的场景、预制件和辅助组件都基于AR Foundation开发,用于展示如何处理平面预览、对象放置等功能。手持式AR示例项目介绍如何使用轻量级渲染管线LWRP和AR Foundation。它包含所有开发时需要的组件,使开发者可以快速构建和运行自己的AR项目。

8.Burst编译器

在Unity 2018.1中Burst编译器,这是一种基于LLVM的全新后端编译器技术,它会使用C# Job为目标平台生成高度优化的机器代码。在新版本中,Burst编译器脱离了预览阶段,支持用于正式制作。
使用Burst编译器时,开发者不必处理复杂的底层编码工作,也不必通过手动调整汇编语言来获得性能提升,你可以直接使用C#语言编写代码。
如下图所示,使用Burst检视窗口查看作业和机器指令,以及原始的C#源代码。

9.Unity Physics(预览版)

该系统使用C# DOTS框架编写,利用Burst编译器和C# Job System提供高性能模拟效果。
通过使用无状态的设计而不使用缓存,简化Unity Physics的复杂度,使开发者可以在我们改进该系统的同时,轻松进行调整,修改和学习。Unity Physics现在可以通过Unity 2019.1的资源包管理器获取。
今年6月,unity提供Havok Physics资源包,它是针对DOTS技术项目的集成,以满足复杂的物理模拟需求。Havok Physics和Unity Physics一样,都使用了C# DOTS框架,但Havok Physics基于闭源专利技术Havok Physics物理引擎,由C++代码编写。
Unity Physics和Havok Physics使用了相同的数据协议,这意味着开发者只需一次构建内容和游戏代码,就可在Unity Physics和Havok Physics中使用。这样开发者可以无缝转变二个基于DOTS技术的物理解决方案,或者在项目中同时使用Unity Physics和Havok Physics。

10.新的音频渲染和混合工具(实验性)

DSPGraph是全新的音频渲染和混合工具,基于Unity的C# Job System构建。该工具可以通过C#代码扩展,能够和Burst编译器一起使用。
请注意:DSPGraph是一个内部的实验性API,我们计划今年晚些时候将其作为预览版资源包处理和发布,它将成为面向数据技术栈DOTS音频系统的基础。
Sub Scenes子场景(实验性)
Sub Scenes子场景功能弥补了游戏对象和DOTS技术之间的隔阂,使用游戏对象场景作为分组机制,批量转换游戏对象为实体。
在开发大型项目时,其中数百万个游戏对象被转换为实体,Sub Scenes子场景功能会显得非常实用。由于开发者一次只需要处理有限的子场景,编辑器中的项目会变得更好管理,也更高效,我们把这种方法称为“混合”工作流程。

除了改进编辑器工作流程,开发者也可以使用转换后的子场景作为流处理单位,它们可以在游戏期间加载和卸载,也可以在编辑器中异步加载。
通过添加SubScene组件到根游戏对象上,你可以把一组游戏对象转换为实体。如果希望在子场景编辑游戏对象时,只要打开它并进行改动即可。在完成编辑并关闭游戏对象子场景后,游戏对象组会自动转换为实体。在子场景对游戏对象进行改动不会影响根场景,这样方便多个团队成员在不同子场景同时进行协作。Sub Scenes子场景功能是Entities资源包的一部分,可以在资源包管理器找到。该功能目前处于实验阶段,尚未提供支持文档,因此请谨慎使用。

11.基于DOTS技术的物理系统;Profile Analyzer(预览版)

Profile Analyzer是全新的预览版性能分析工具包。它补充了Unity性能分析器的单帧分析功能,加入同时分析多个帧的功能。该资源包很实用,特别是需要较大的性能视图时,这种情况包括:升级Unity版本,测试优化效果,或在开发过程跟踪性能变化。
Profile Analyzer工具包会分析从活动帧集合加载的CPU帧和标记数据,它们可以从当前的Unity性能分析器加载,也可以从之前保存的Profile Analyzer会话加载。
经过分析的CPU帧和标记数据会使用直方图和箱线图来表示,这些图表补充了每个标记活动的分类列表,包括:最小值、最大值、平均值、实例数量、范围和标记首次出现的帧。
Profile Analyzer的对比视图让开发者可以同时加载二个数据集,以衡量优化,设置改动或Unity版本更新产生的效果。

综合筛选系统可以在单视图和对比视图使用,以限制标记,线程,帧和栈深度的分析。

12.增量式垃圾回收(实验性)

在Unity 2019.1中,Incremental Garbage Collector增量式垃圾回收功能,作为已有垃圾回收功能的实验性替代功能。
增量式垃圾回收可以把任务分解为多个部分,这样不必为了执行垃圾回收而长时间中断程序执行,它会用多个短时间的中断来完成。虽然该方法从整体上不会让垃圾回收过程变快,但它能通过分配工作量到多个帧,显著减少GC峰值对动画流畅性的影响问题。

13.Quick Search快捷搜索(预览版)

全新的Quick Search快捷搜索工具可以轻松地搜索编辑器内的多种内容,例如:资源、层级窗口和设置。如果开发者希望加入自定义搜索区域,也可以扩展该工具。
动画

14.Animation Rigging动画绑定(预览版)

全新的Animation Rigging动画绑定资源包对动画提供了更多艺术级控制,开发者可以使用一组预定义动画约束,为通用角色手动构建控制绑定层级。

在运行时中,绑定约束转换为一组Animation Jobs,这些作业会作为后期处理操作附加给控制器可运行视图。Animation Rigging动画绑定资源包基于Animation C# Jobs,允许开发者设置安全的多线程绑定,这些绑定可以程序化控制变形效果,模拟伪物理行为或附属动作,并且校正总体动画。

使用资源包内的预定义约束,根据不同目的构建不同的绑定设置,然后在游戏中的合适时机动态混合这些约束,以控制最终的动画产出。Animation Rigging资源包具有可扩展性,因此开发者可以根据特定制作需求编写自定义约束。
15.Unity Hub 2.0 Beta

全新UI/UX架构包含许多功能,有助于处理可见性,开发者可以在Unity Hub窗口使用Sort & Search(分类和搜索)和Reveal(显示)功能进行搜索。
调整Unity Hub主桌面窗口的大小,直接在Unity Hub管理Unity许可证,安装和运行Unity Hub不必首先激活Unity许可证。
新版本也加入了多语言本地化支持和国际化支持,以及对如何处理网络连接检查的一些改进。

16.UI Elements

UI Elements是一个新的保留模式GUI系统,它可以让开发者快速创建和编辑UI布局及样式。
新的GUI系统借用了Web的CSS、jQuery、HTML DOM和Events事件系统的概念,以简化Unity中创建和优化UI的方法。它也提供了更好的性能和许多新功能,包括:样式表和动态环境的事件处理功能。
在构建新系统时考虑到了性能和可扩展性,因此它带有传统的综合C# API,使开发者可以构建、修改和交互UI。
熟悉的C# API、事件系统、CSS和XML导入格式使构建用户界面变得简单,UI Elements替代了IMGUI中扩展和创建编辑器UI的功能,并且在此后的版本将替代UGUI创建运行时UI的功能。

Scene Visibility场景可视化工具

使用Unity的SceneVis(场景可见性)控制功能在场景视图快速隐藏和显示对象,不必修改对象的游戏内可见性。随着场景内容的增多,我们经常需要临时隐藏或隔离特定对象,以便无障碍地进行查看和编辑。
SceneVis会通过层级窗口工具和键盘快捷键来实现该功能,并使用工具栏开关来快速启用或禁用效果。

GPU光照贴图(预览版)

GPU光照贴图现在处于预览版阶段,加入了更多功能和平台支持。现在GPU光照贴图可以在MacOS系统和Linux系统使用,支持材质上的双面GI标识,以及网格上的阴影投射和接收。
如下图所示,我们使用GPU光照贴图烘焙来自ArchVizPRO制作的场景资源。

烘焙功能现在默认使用和编辑器相同的高性能GPU,我们可以使用命令行把它改为不同的GPU。

编辑器内的异步着色器编译

新的Async Shader Compilation异步着色器编译功能可以解决这种停顿现象,它会分离编译过程和渲染过程,使用纯蓝色虚拟着色器进行替代,直到编辑器完成编译过程。这是仅限于编辑器使用的功能,不会影响游戏,而是会加快编译时间。

功能优化

1.其它HDRP改进

贴花效果得到加强,提供更好的Gizmo控制功能,Shader Graph着色器视图支持和不透明贴花的Emissive支持。Recorder录制器现在得到了不错的支持,允许开发者从HDRP录制影片。利用了Sony Pictures Imageworks最近的研究成果,棉毛的Fabric光照模型得到改进。

体积雾经过优化,变得更加准确。更新了密度体积的Gizmo。Light layers光照层允许你标记光线和对象,以便仅让带有相同标记的对象接受特定光源的光照,该功能现在已经有完善的功能,支持正确控制阴影。
次表面散射的Diffusion Profile漫反射配置文件在Unity 2019.1中发生变化,此前,每个项目的Diffusion Profiles List仅限于显示16个配置文件。Diffusion配置文件现在是独立的资源,可以进行分享和发布,每个视图限制16个配置文件。
当前视图中使用的配置文件列表由体积设置控制。Unity 2019.1会自动从旧Diffusion Profile系统迁移数据到新的系统,但不会为Shader Graph着色器视图做相应处理,因此你需要重新制作相关漫反射配置文件。
该版本添加了对透明材质上Motion Vectors运动向量的支持。透明材质可以写入自带的速度,重写之前速度缓冲区的内容,这对头发等Alpha端材质很有用。

此外,所有HDRP Master Nodes主节点现在都支持烘焙GI的重写。为了启用该功能,使用Master Node设置上的Override Baked GI复选框,它会添加二项输入到主节点:Baked GI和Back Baked GI。
这将允许你提供自定义烘焙GI,分别用于间接漫反射光照和透光效果,或者结合Baked GI Node,使你可以修改它。Baked GI属性的默认值等于Baked GI节点的默认输出值。

2.光照质量和控制

光照的许多改进。此前光照无法使用正确的现实或物理数值,因为曝光范围和精度不允许。
光照计算现在使用Pre-Exposure预曝光,这意味着曝光不会在后期处理期间应用在帧的最后,而是会应用到光照本身,这样大幅提升了精度,允许使用较大数值的光强度,例如:太阳光的强度。
此外,Sky和Emissive等光线现在使用的单位是EV100,而不是EV,该单位常用于照明图表上参考值的单位。由于与Unity 2018.3的光照单位的差异,因此将项目升级到Unity 2019.1意味着可能要调整部分光强度。
Lit/Unlit着色器和Lit/Unlit Master Node上的Emissive属性经过改进,支持EV100和光亮度单位,提供额外的Exposure Weight控制和Emission节点。这项控制可以强制对象产生泛光效果,即使处于正确曝光下,例如:使对象在明亮的日光下产生泛光。

矩形区域光已经加强,支持光线遮罩和近似区域阴影。该功能比较消耗性能,应该主要用在高质量画面模式或影视效果。阴影遮罩支持已经添加,提供高质量的烘焙柔和阴影,同时保持镜面高光。

3.反射系统改进

GPU现在可以烘焙反射探针,加速烘焙过程。反射探针和光照工作流程集成,以简化反射探针的烘焙过程,让开发者在光照窗口烘焙所有加载的反射探针。
实时平面反射支持
实时平面反射支持。在回放期间,HDRP仅渲染可见的实时反射探针和平面探针,HDRP在FrameSettings中对实时渲染和离线渲染提供了单独的控制功能。

4.Shder Graph;着色器视图

Shader Graph着色器视图基于可视化节点构建着色器。Nested Sub Graphs嵌套子视图功能,它允许你可视化创建自定义节点。
Sub Graphs子视图也可以进行嵌套,因此开发者可以为项目或工作室定义自定义节点内容库。这为整个着色器管线的灵活无损控制,从而为实验和创作提供了动力。

5.图形和光照

在Unity 2019.1中,推荐使用轻量级渲染管线LWRP和Shader Graph着色器视图用于正式制作。
Unity 2019.1带来了GPU光照贴图功能(预览版)的许多功能和平台支持,以及对高清晰渲染管线HDRP(预览版)和Post-Processing Stack后期处理特效包的大量改进。

6.艺术创作工具

在新版本中加入了Runtime Animation Rigging运行时动画绑定,它将帮助艺术家更好的控制动画艺术效果。
Timeline现在是一个经过验证的资源包,新的Timeline Signals信号功能提供了简单方法让Timeline交互场景对象。

7.Timeline Signals信号功能

Marker标记:向Timeline添加的新内容,它用于表示一个时间点。

标记可以在Timeline上和剪辑一样添加和处理,能够使用选取,复制粘贴和编辑模式等功能。就像剪辑一样,标记也有具体类型,例如:剪辑分为动画剪辑、激活剪辑、控制剪辑等类型。Timeline提供了首个内置标记:Signal Emitter信号发射器标记。Signal Emitter信号发射器:用于在Timeline经过特定时间点的时候,触发场景状态的改动。
工作原理
为了在Timeline上正确设置信号,我们需要三个部分:
•Signal Asset信号资源:信号资源是发射器和接收器之间的联系。通常信号资源会用作标识符。
•Signal Emitter信号发射器: 信号发射器会放在Timeline上,它包含对信号资源的引用。运行信号发射器时,如果当前时间比发射器的时间大,发射器会被触发,发射器会把信号资源发送到信号接收器。
•Signal Receiver信号接收器:信号接收器是带有一组反应的组件,每个反应都关联到信号资源。当接收器知道信号已被触发时,它会激活关联到对应信号资源的反应。
当关联到同一信号资源的发射器触发时,相应反应会被激活。使发送信号的部分即发射器,尽可能独立于监听并对信号作反应的部分即接收器。

8.Mobile Notifications(预览版资源包)

Mobile Notifications移动通知预览版资源包帮助开发者实现留存机制和基于计时器的游戏过程,对iOS系统和Android系统添加支持用于调度本地可重复或单次通知。该功能对系统的要求为iOS 10或Android 4.1以上版本。
Adaptive Performance(适用于三星)
移动开发人员面临的一大挑战是构建既画面精美又运行流畅的游戏,而且不能透支硬件性能,导致瓶颈情况,产生较低的不稳定性能并缩短电池寿命。扩展电池寿命和减少热量可以让玩家有更长的游戏时间,从而提升用户留存率,使游戏更加成功。和PC或主机平台不同,利用移动平台硬件要求有精妙的平衡,不然透支设备的性能会很快降低游戏性能。

为了解决这些问题,我们与三星进行合作,基于三星的GameSDK构建Adaptive Performance自适应性能功能,它会首先适用于Samsung Galaxy系列设备,例如:Samsung Galaxy S10和Galaxy Fold。

9.使用Unity Hub安装Android SDK和NDK

Unity Hub现在提供安装所有Android所需组件的选项,作为“Android Build Support”选项的一部分,开发者可以获取正确的依赖关系,而不必收集和安装其它内容。如果你是一位高级Android用户,你仍然可以手动安装和配置组件并使用Android Studio。

10.Scripts Only Build

为了在开发过程中实现更快的迭代,Unity编辑器提供了Scripts Only Build选项,你可以跳过构建过程中的多个步骤,仅重新编译脚本,然后在选择“Build And Run”后,构建最终资源包并进行部署。现在该功能可以在目标设备批处理适用Android的APK文件,而不会重新构建和部署版本。因此在迭代C#代码时,只有重新编译的代码库会发送到设备。
请注意:在Unity可以执行“Scripts Only Build”前,必须提供项目完整的构建版本。

11.AR Foundation

AR Foundation帮助Unity开发者快速开始构建AR项目。只需构建一次,就能同时部署到支持ARKit和ARCore的设备。AR Foundation以资源包的形式在资源包管理器提供,它把ARKit和ARCore的底层API结合到同一个框架中,包含额外功能以帮助开发者应对AR开发的最大挑战。

12.LWRP支持AR和VR

AR Foundation对轻量级渲染管线LWRP的支持以预览版资源包的形式推出,让开发者为AR体验使用LWRP。开发者可以利用Shader Graph着色器视图和LWRP的性能优化功能来为Unity支持的所有VR平台构建VR体验。

13.立体渲染模式回退功能

当目标设备不支持立体实例化时,立体渲染功能会自动回退为单通道渲染。开发者可以安全地使用更高效的Stereo Instancing立体实例化渲染模式,不必担心特定设备的图形API是否支持该模式。在此前版本中,立体渲染模式会回退为多通道渲染。

立体实例化的后期处理支持

最新后期处理特效包中,所有对VR可见的后期处理效果都适用于Stereo Instancing立体实例化渲染模式。
对Magic Leap的内置支持
构建到Magic Leap One的支持现在已经加入Unity 2019.1,这意味着开发者不必为了Magic Leap开发而使用特定的技术预览版Unity,只要使用Unity 2019.1就可以了。

WebGL

在新版本中,WebAssembly是Unity WebGL的默认输出格式。asm.js已经从编辑器UI移除,它在Unity 2018.3中被弃用。为了应对这些改动,专用于asm.js格式的“Use PreBuilt Engine”构建选项也已不再可用。
WebGL Player Settings也得到了更新:Linker Target链接目标被设为WebGLLinkerTarget.Wasm,Memory Size内存大小设为32MB,二个选项已经从编辑器UI移除,但开发者仍可以通过编辑器脚本修改这些设置。
在Unity 2019.1中,实验性WebAssembly多线程处理技术,可以通过PlayerSettings.WebGL.threadsSupport启用。

Async Compute异步计算

主机平台上Async Compute异步计算的改进,现在允许更大范围的Command Buffer脚本函数作用于针对异步计算队列的Command Buffer,例如:设置全局着色器数据的函数,或管理临时渲染目标的函数。异步计算队列的Command Buffer错误处理功能被改进了,如果使用了无效的Command Buffer脚本,该功能会立即进行反馈,这样可以让开发者的调试过程更轻松。

Windows平台的ARM64支持

现在ARM64设备添加了UWP支持,只需为目标架构先选择ARM64,然后部署到基于Windows的ARM64笔记本电脑即可。

分辨率显示窗口
根据用户数据和客户调查得到的反馈,在Unity 2019.1默认“禁用”Display Resolution Dialog分辨率显示窗口,你可以在项目设置中通过Display Resolution Dialog下拉菜单启用它。你可以在Player,Resolution和Presentation,以及Standalone Player Options分组找到它。

PhysX改进

面向非DOTS项目的PhysX解决方案加入了大量改进,例如:布料现在可以应用自身的重力效果,它独立于场景的重力,以便轻松进行调整。物理调试视图的颜色也被更新了,从而提供更好的使用体验,让视图里的颜色和辅助图示颜色保持一致。Rigidbody组件的检视窗口新增了一个部分,用来展示调试过程常用的内部信息,例如:线性速度和角速度,重心和惯性张量。

全新的Physics.GetIgnoreCollision函数可以轻松检查特定碰撞体是否禁用碰撞效果。物体的默认最大角速度从7提高为50,这会改进快速移动对象的模拟效果,也会改进特别配置中布娃娃的分辨率质量。该函数允许解算器更快地旋转物体,从而满足较少迭代中的限制。

物理多场景改进

此前,多场景环境中仅支持光线投射。在Unity 2019.1中,所有场景查询都可以在多场景环境使用。
Physics Debug物理调试视图也支持多个物理场景,允许开发者查看选中对象属于哪个物理场景,开发者也可以查看属于特定物理场景的所有对象。
IL2CPP与性能
改进了启用脚本调试过程的运行时性能,此外,IL2CPP生成代码的性能提高了20%。

性能分析器更新

改进了Unity Profiler性能分析器和外部性能分析器的集成效果,Unity的开发构建现在会为Android Systrace工具生成标记,允许开发者在系统范围跟踪的Android Systrace工具中,可视化以Unity事件命名的部分。开发者可以在OS活动的环境中分析游戏,例如:进行调度,CPU状态和运行在系统的其它处理过程。之前作为插件的Systrace支持现在已经是Unity 2019.1的一部分。
所有托管线程现在可以在Mono和IL2CPP编译后端看到,所有本地Unity线程都会公开。线程上的活动会展示在性能分析窗口的时间线视图,我们也会自动为性能分析器注册所有线程。
此外,提高性能分析器可用内存量的默认值,在播放器提高到4MB,在编辑器提高到64MB,这允许开发者积累更多数据,然后再传输到硬盘或网络上,并且减少开销。
开发者也可以使用“-profiler-maxusedmemory”命令行参数控制可用内存量。我们添加了UnityEditor.Profiling.HierarchyFrameDataView API,它可以快速为所有线程遍历CPU性能分析数据,在性能分析窗口的层级视图提供所有信息,以及所有相关的元数据,例如:GC.Alloc调用栈。

ScriptableObjects可编程对象

ScriptableObjects可编程对象现在可以在资源导入阶段进行重新加载,这意味着如果可编程对象在导入前加载,而磁盘上的基础资源已被修改,那么可编程对象会进行重新加载,并在导入完成后获得磁盘资源的新数值。
在这次改动前,可编程对象会在导入后卸载,导致可编程对象在使用等于运算符(==)对比时等于Null。这种重载过程仅发生在导入(或重新导入)前已经加载的可编程对象和嵌套预制件。

软引用

现在丢失程序集定义文件引用时会被无视,不会产生丢失引用的错误,它允许开发者给asmdef程序集添加引用。

Version Defines版本定义

通过使用Assembly Definition检视窗口的全新Version Defines版本定义功能,开发者可以定义哪些C#预处理指令会根据项目有关的资源包版本范围和模块而设定,这样允许开发者在可选资源包中用#if指令处理C#代码。

预制件

在Unity 2019.1中,在项目窗口选中预制件时,便可在检视窗口编辑预制件资源。这意味着开发者不必在预制件模式打开预制件或把预制件拖入场景,才能编辑预制件。

编辑器控制台改进

编辑器的控制台,加入点击式跟踪链接,它会转到堆栈中列出的函数调用对应的代码行,还加入了搜索工具,以便筛选控制台条目。

资源包管理器更新

在编辑器内查看资源包和核心依赖,从GitHub代码库直接安装资源包,并行管理私有和Unity托管的注册表。新版资源包管理器包含对程序集定义文件引用的支持,详见Version Defines版本定义部分。

Sketchup Importer改进

Sketchup Importer现在拥有新的UI。我们添加了对摄像机导入的支持,可以导入Sketchup中所有摄像机类型,包括:正交摄像机、透视摄像机和Two-Point摄像机。最后,我们提升了Model模型导入器Material Tab UI的性能。

Timeline信号和标记

Timeline Signals(Timeline信号)是Timeline中用来交互场景对象的简单方法。通过使用信号发射器和信号资源,触发游戏中的信号接收器,然后它会向Timeline定义一组预配置反应。Signal Emitter信号发射器用于在Timeline经过特定时间点的时候,触发场景状态的改动。

使用了信号(Signal)而不是事件(Event),因为信号有“广播”的特点,而不会混淆已有的Unity事件和动画事件。

“Marker(标记)”帮助用户创建带有特定行为的自定义关键帧。标记可以在Timeline上和剪辑一样添加和处理,能够使用选取,复制粘贴和编辑模式等功能。像剪辑一样,标记也有具体类型,例如:剪辑分为动画剪辑、激活剪辑、控制剪辑等类型。

Timeline音频改进
Timeline添加了大量音频方面的改进,例如:在编辑Timeline时,控制或设置单独音频轨道的音调。也可以在轨道上控制音量和声像,也可以控制每个轨道的音量和声像动画。

视频功能

Video H.265支持
Unity 2019.1加入了对H.265视频编码的支持,这可以让用户播放H.265影片,也可以把其它支持的视频格式转码为H.265编码格式。
H.265全称为高效视频编码,它是高级视频编码H.264之后的视频压缩标准。和H.264相比,在相同的比特率下,H.265会提供更好的质量。

视频录制器和播放器的完整SRP支持

U nity的Video Player视频播放器和Video Recorder视频录制器现在完全支持SRP,因此在通过HDRP或LWRP进行渲染时,视频播放器可以回放视频。
视频录制器也得到更新,可以在你使用SRP时处理来自摄像机的输入内容。在给视频播放器添加SRP支持的过程中,我们修复了影响摄像机渲染模式的主要Bug,并且修复了360立体视频的支持。

2D功能Sprite Shape功能改进

Sprite Shape资源包加入了多项改进,例如:你可以让Sprite Shape的最终2D碰撞体在形状上更符合精灵的外观效果,允许添加更适合Sprite Shape Renderer的多边形碰撞体和边缘碰撞体。
我们为形状控制点加入了非镜像的连续切线,允许创建弯曲形状,以便更精确地实现理想效果。

2D动画功能改进

使用新版2D Animation V2.1版资源包在编辑器内和运行时蒙皮精灵时,你会注意到性能提升,因为新版资源包是通过C# Job System和Burst编译器构建的。如果屏幕上有多个使用该工具制作动画的角色,此次更新也提升了这种情况下的性能。

2D物理功能

所有2D物理查询现在允许提供结果缓冲区作为.Net “List”,而之前版本需要使用数组。它和数组有相同的优点,如果列表的容量足够包含查询结果,就不会分配任何内存。
它还提供了额外的优点:列表容量会自动增大(相关内存分配也会随之变化),以确保它能包含所有查询结果,同时仅分配需要的内存。如果重用相同的列表,内存分配会保持最小值,或不发生任何内存分配。

粒子C# Job System支持

你现在可以使用C# Job System处理粒子数据,不必在脚本和本地代码之间复制粒子数据。设置时,请创建基于IParticleSystemJob的作业结构,使用SetJob将它附加给粒子系统,在执行本地粒子更新后,该作业结构会从线程中调用。
网格改进
Unity 2019.1包含对网格粒子的一些小改进,例如:通过脚本可以进行查询和指定到每个粒子的网格。

ParticleSystem.Particle结构现在包含获取和设置网格索引的方法。Custom Vertex Streams自定义顶点流有新的Mesh Index流,允许你发送网格索引到着色器,你可以使用它根据独立网格编写着色器代码。
Texture Sheet Animation包含新的Row Mode,它会基于粒子的网格索引选择动画,它可以指定特定动画到效果的每个网格。

为Optix AI Denoiser加入支持

Optix AI Denoiser是一种基于深度学习的降噪器,它使用路径跟踪图像库进行训练。这是对过滤选项的重大改进,在样本数量较少的情况下,它可以灵活应变漏光和模糊情况。它可以结合其它过滤器,实现更加平滑的光照贴图。
使用新的Denoiser降噪器有助于显著减少样本数量,实现比之前更快的烘焙速度。Optix AI Denoiser支持适用于Windows系统,兼容NVIDIA GPU。

关键环境多重采样(MIS环境)

MIS Environment是一种对Cubemap /HDRI中最重要区域进行采样的新方法。这项技术会避免发射大量GI光线到半球体,把光线聚焦于重要区域,例如:太阳明亮的位置。
通过使用该功能,可以使用非常不均匀的标准HDRI环境贴图烘焙环境。新的Environment Samples(环境采样)参数被添加到Lighting光照窗口,该值控制每个光照贴图体素直接跟踪到环境的光线数量。

其它光照改进

光照探针Gizmos不会受到曝光校正的影响,这样在使用HDRP和高强度光照时,会简化光照探针的迭代。

通过使用新的Limit Lightmap Count(限制光照贴图数量)参数,你可以指定为特定对象组生成的最大光照贴图数量。在为资源有限的移动平台开发游戏时,该参数会特别有用。
Realtime GI: Async Readback使CPU不必等待GPU回读,它可以提高性能,降低CPU峰值。Auto Generate不会在新场景默认使用,我们在底部状态栏添加了链接,用来表示是否处于Auto Generate自动生成模式。

移除LookDev

用于查看资源的实验性功能LookDev已被移除,我们会继续改进该功能,在今年晚些时候重新添加到SRP,并提供LWRP和HDRP支持。

编辑器内的异步着色器编译

Unity编辑器会推迟着色器编译过程,直到渲染过程首次需要特定着色器变体。但是这可能会导致编译器停顿现象,因为着色器编译器的处理需要大量时间。

高影响值的蒙皮权重

现在可以对每个顶点使用32个骨骼影响,通过蒙皮网格渲染器的API,最多可以使用255个骨骼影响。这样会在运行时保持蒙皮权重保真度和外部程序的原始内容一致。
高影响值的蒙皮权重功能特别适用于基于骨骼的面部绑定,嘴角和眼睛等精细的区域需要超过4个骨骼影响。它也会提高使用平滑蒙皮分解的绑定质量,从而对较少骨骼实现更为平滑的结果。

你可能感兴趣的:(Unity 2019.1版功能介绍)