Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

来自 Unity官方平台 2020-03-11
资讯

[ 转载自 Unity官方平台 ]

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

最新上线的Unity 2019.3版本带来了超过260项功能改进,其中的高清渲染管线(HDRP)功能可在高端游戏主机和PC上解锁高清精美画质的无限潜能。
高清渲染管线在2019.3中经过验证几近纯熟,带来了全新的功能和艺术创作工具,可用于制作高保真图像。
随着HDRP 7.2.0版本的发布,我们确定管线已有稳定的平台支持和数据迁移路径,已带有成熟的调试工具、可拓展选项、各式艺术创作工具,以及适用于全平台的可拓展设定。大家现在就可以正式使用起高清渲染管线了。
高清渲染管线的目标平台是高端PC、Mac和游戏主机(Xbox One和PlayStation 4),可制作高清晰度的逼真图像。而在2019.3中的7.2.0版本中,HDRP已经由验证。
管线的设计遵循三个原则:

  1. 渲染基于真实物理。

  2. 光照统一、连贯。

  3. 功能独立于渲染路径工作。
    基于真实物理的渲染依赖于三大关键:光照、材质和摄像机。光照和渲染之间应有物理性互动,并且在不同的光照条件下,两者应该界限分明,这样才能制作出连贯一致的光照效果。摄像机则负责解读光照效果,将成果展示到屏幕上。
    统一的光照,意味着场景中所有的对象和媒介都应该接收到同样的光照,不透明、透明或体积材质之间不能有光照上的差别。连贯的光照意味着材质必须正确地与任何来源的光照相作用(比如反射探针、区域性光源等等),即使表面上有贴花(Decal)。这样最终成果看起来才会连贯。
    实时渲染使用了许多种渲染通道:延迟/前向渲染(Deferred/Forward),单通道/多通道渲染(Single Pass/Multi-Pass),以及图块/集群渲染(Tile/Cluster)。在游戏开发中,我们所选的渲染路径会决定可使用的功能。而在HDRP中,不论选择的是哪种渲染路径,都能使用整套的图形功能。就是说,我们完全可以根据性能需求来选择渲染路径;性能将不再受到所选图形功能的限制。

功能概览


HDRP自带一整套图形功能,与内置渲染管线相比,它能克服更多的渲染挑战。具体来说,该包在处理材质方面,有以下几种高级功能:

受光着色器

  • 次表面散射(Subsurface scattering,简称SSS)和半透明(Translucency)效果可模拟穿透或在表面的一块区域内流动的光。可使用该效果制作有机材质,比如皮肤或植物叶片。

  • 透明表层(Clear Coating)可模拟在标准图层外覆盖了一层又薄又透明表层的材质。可使用该效果制作如车面喷漆、汽水罐或上过釉的物体等多层次材质。

  • 各向异性(Anisotropy)可模拟方向改变、性质也随之改变的材质。此种表面随着观察角度的变化,其特征也会改变。可使用该效果制作如磨损的金属、鸟类绒毛或水晶这类具备各向异性的材质。

  • 彩虹色(Iridescence)可模拟颜色随角度改变而变化的材质。可使用该效果制作如肥皂泡、昆虫翅膀或海洋贝壳的材质。


1.jpg
图层(Layering)可用于在分层受光着色器(LayeredLit Shader)上添加至多4种材质,允许你将不同的材质叠加、糅合在一起,制作出逼真、多样的图像,适合在摄影测量工作流中使用。
织物着色器(Fabric Shader)可模拟逼真的衣物材质,适用于制作棉花、丝绸或绸缎材质。
2.jpg
头发着色器(Hair Shader)可模拟穿透或流动在发丝中的光。着色器使用了改良后的Kajiya-Kay光照模型,耗能更少。
3.jpg
堆栈受光着色器(StackLit Shader)比普通受光着色器更注重图像质量。该着色器能更精确地覆盖上表面,并且允许同时使用各向异性、次表面散射、彩虹色和雾气参数化等多个材质效果。
4.jpg
贴花着色器(Decal Shader)可将贴花贴到场景中的表面上,同时支持投影贴花和网格贴花。
5.jpg
资源包还支持以下高级光照效果:
物理光照单位。HDRP中所有的光照类型,以及天空和发光属性,都使用物理光照单位来实现逼真的场景画面。物理光照还能更轻易地实现一致的光照,改善绑定场景光照的工作流。支持的单位包括流明(lumen)、坎德拉(candela)、勒克斯(lux)、尼特(nit)和EV100,还能调整色温。
面积光照(Area Light),比如方形光照、管形光照(只支持运行时)和圆盘形光照(只支持完全烘焙)。还有发光(emission),可模拟从一个表面向四面八方发光(只支持烘焙)的效果。
各式阴影,包括带PCF过滤的阴影、带PCSS过滤的层级阴影,和带指数阴影贴图的区域光阴影。此外,还可使用接触阴影和微型阴影来进一步改善阴影效果。
6.jpg
模拟真实物理的天空(Physically Based Sky)可模拟出带大气的星球。该效果使用了Precomputed Atmospheric Scattering(Bruneton和Neyret,2008年)一文中的方法,HDRI天空加上渐变天空作为背板。
7.jpg
雾气可以在场景中制作出带高度的全局指数雾气,并且还可用体积光和局部雾气来进一步提升效果。
8.jpg
屏幕空间光照(Screen space lighting)效果。真值环境光遮蔽(Ground Truth Ambient Occlusion,简称GTAO)和屏幕空间反射(Screen Space Reflection,简称SSR)是HDRP的标准效果。
9.jpg
全新的艺术创作功能可以让艺术家摆脱现实物理法则的束缚,随意地创作。光照图层(Light Layers)可以让光照只影响特定的网格,而阴影图层(Shadow Layers)则能让网格只在特定光照下投出阴影。此外,我们还添加了半影和阴影色调的控制。

10.jpg
哑光阴影是不受光Shader Graph主节点中的一个模式。该模式可以让着色器根据接收到的阴影数量来调整不透明度,还可以为阴影部分选择一个特定的颜色,在不受光图片或影像上制作出最终效果。
11.jpg
请注意HDRP并不支持Enlighten,我们将在2021.1发布一个实时全局照明(GI)替代方案。
管线中有一个带体积系统的内置后期处理效果。在后期处理中,你可以使用物理摄像机来控制诸如景深、曝光率等效果,摄像机自带一套标准的物理设定(焦距、光圈等等)。此外,还有对比度自适应锐化(Contrast Adaptive Sharpen,简称CAS)可以倍化效果。最后,后期处理现在支持透明度alpha通道;不过,若想组合起alpha通道和景深这类特效,需要将颜色管线切换到float16 RGBA。
12.jpg
你可以在手册中查看包内所有后期处理效果的概览,以及效果的执行顺序。
若想深入了解内置渲染管线和HDRP各自的特性,请查看我们的对比表。https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@8.0/manual/Feature-Comparison.html

艺术家工具

渲染管线若达到成品级,意味着它有各式工具来协助艺术家创作。HDRP带有经验证的Visual Effect Graph和Shader Graph,还有像Look Dev和带背板的HDRI Sky这样的资源创作工具。

正如上文所提到,HDRP构建在模拟真实物理渲染的基础上,因此,制作得当的材质可以在任何光照条件下自然地与光相互作用。
Look Dev视图可让你快速地查看不同光照条件下的资源,此外它还有不同的视图模式,方便查看材质的各个组成部分。
使用方法很简单,先建立一个HDRI图像库,然后将资源或预制件载入视图中就能查看资源了。你可以在视图中切换查看不同图像,也可以启用调试视图模式。或者,可以分屏查看,来比较不同的资源、光照条件或视图模式。
除了Look Dev,还有背板(Backplate)功能。背板是HDRI天空的一种高级模式,制作出的几何形可以用HDRI图像的底部部分来绘制纹理,可以有边缘渐隐效果,还能在不受光HDRI天空的基础上渲染阴影贴图。
在HDRP中,你还能使用Visual Effect Graph来制作高级视觉效果。Visual Effect Graph是我们新的节点式视觉效果制作工具,易用、灵活又强大。生成的视觉效果依赖GPU粒子,可完全利用GPU性能来模拟、展示大量的粒子效果。节点编辑的模式还允许特效的深度自定义,能将需要的属性暴露给游戏系统,用于互动。请在本博文中进一步了解Visual Effect Graph。
13.jpg
Shader Graph是我们另一个节点式着色器制作工具。在HDRP中,Shader Graph会有额外的功能可供使用(名称一般以HD开头)。你可以使用Shader Graph来覆盖GI,编辑顶点法线和顶点切线、控制材质质量,或用并行的遮罩贴图节点写好深度偏移,用来渲染着色器。你可以使用失真、折射、次表面散射等等效果,也能使用头发(Hair)主节点或织物(Fabric)主节点来应用特定的HDRP光照模型。14.jpgHDRP包中含有一些示例内容,来展示功能特性的使用方法。包内带有一个示例纤维着色器和头发着色器图表、一个示例自定义天空、一些用于后期处理的纹理资源、一个与Shuriken兼容的粒子系统着色器,以及一套示例材质。15.jpgHDRP包中的示例内容:织物和头发着色器
最后,渲染管线调试功能可显示延迟或前向渲染路径中,透明和不透明材质的属性。你可以选择只显示某些光照,比如只显示漫射光照、只显示镜面光、只显示阴影等等,还能覆写整个场景的属性,包括法线、反射率或平滑度。功能可以显示运动矢量、深度缓存等等过渡用的渲染目标,可以运行于Unity编辑器和任何玩家平台上(如PS4),是极具价值的创作工具。

材质捕捉(MatCap)模式可用一个简单的环境纹理替换对象的材质和光照。该模式可用于快速游览、查看场景的大概,省去运行场景的麻烦。比如,你可以在该模式下编辑像洞穴内部这类黑暗的区域,在低光照时查看这些场景会比较困难。

16.jpg

HDRP具备可拓展性


HDRP含有许多渲染通道,要深挖所有的内容会比较困难,但有一种无需更改代码就能添加新通道的方法。

自定义通道(Custom Passes)的主要用处是将特效或自定义节点插入到渲染循环中。你可以使用自定义通道访问HDRP缓存的数据,在特定帧上进行修改。自定义通道使用与后期处理相同的体积系统,但也有一些限制(通过不能依靠Profile资源形式设置,不能加入插值)。自定义通道需要用C#脚本和自制着色器才能运作。
下方是使用自定义渲染通道实现的一个例子:
请在自定义通道说明文件中了解更多信息,也可以在这探索其他用通道制作出的特效。
自定义后期处理功能可以让你制作自己的后期处理效果。功能的外观与内置渲染管线Volume体积组件上的后期处理堆栈非常相似,属于体积系统中的一部分,可以有效利用起系统的混合和覆盖能力。在将自己的后期处理效果做成着色器后,你可以将着色器连接到体积组件上。

支持的平台

  • PC(Vulkan/DirectX 11)

  • PC DX12预览版(带DirectX光线追踪)

  • Mac(Metal)

  • PlayStation 4(基础版和Pro版)

  • Xbox One (Base, Scorpio and X)

  • Oculus Rift和Rift S(Oculus XR Plugin、Windows 10、DirectX 11)

  • Windows混合现实(Windows XR Plugin、Windows 10、DirectX 11)

  • PlayStationVR

  • Open VR*

备注:Valve正在为Unity 2019.3及之后版本开发OpenVR XR插件。

“经验证”是什么意思?


HDRP经过两年的开发,根据大家的反馈添加了许多的功能特性。在这段时间中,部分支持光追的硬件商品价格变低,代码也有了不小的进步。

7.2.0版的HDRP资源包现经验证,已拥有稳定的性能、平台支持和更新路线。项目数据和代码可以安全地移植到未来的版本中,而我们将持续开发和拓展管线的各项功能特性。管线的说明文件在这里。
同时,“经验证”也意味着HDRP现已带有成熟的测试工具、支持全平台性能控制的可拓展设置、拓展性选项及其他创作者工具。更多信息详见下方。

找到自己的HDRP之道


一直使用Unity的用户应该知道HDRP与内置管线并不相同。艺术家和程序员们需要另学HDRP,因为管线有新的范式、艺术创作工具、设置系统、体积系统、着色器等等。要将内置管线上的Unity项目移植过去并不简单,有时甚至需要重写脚本、着色器,重新布置光照和场景。

管线的发布形式也有改变,它是一个资源包,需要用包管理器Package Manager来安装、更新。我们建议使用与Unity程序相匹配的最新版本,新版中会修复许多的Bug。你可以在包管理器中查看管线的版本。

若想开始使用HDRP,请先查看这份说明文件。文件中包含了一些帮助指南,包括开始使用手册,及内置管线或旧版HDRP项目的更新指南。

你也可以参看Unity团队在Unite、GDC等大会上的演讲。并且,我们最近上传了Getting Started with HDRP(开始使用HDRP)和VR support in HDRP(HDRP的VR支持)视频。或者,你也可以深入学习HDRP的架构(Unity高清渲染管线中统一的渲染)或者特效的制作方式(应用Burley实时归一化漫射的屏幕空间次表面散射)。

为了帮助你正确地设置好项目(包括普通、VR、光线追踪项目),我们提供有HDRP Wizard向导。你可以参照向导验证自己的设置,改正不正确的部分,还能将内置项目转化为HDRP项目,向导中还带有一个HDRP场景预制件,用于创建新场景。

18.png

渲染管线向导

高清渲染管线的未来规划

未来我们将专注于提升HDRP的性能和创作时的体验。我们希望提高管线的性能、增添对现有功能的支持(如SSR、区域性光照和Volumetric体积效果),添加更多功能选项。我们将继续改善编辑器的艺术创作工作流,尤其是Animator、Timeline、Cinemachine、Preset等等的使用体验。并且还会使用DOTS技术。
最后,7.2.0版的HDRP带有预览版的实时光线追踪,我们将在另一博文中详细介绍。我们会进一步开发光线追踪技术。

高清渲染管线与通用渲染管线
HDRP不会替代或合并通用渲染管线。

HDRP带来的是最尖端最优异的图形图像表现,是制作高端画面的最佳选择。与通用渲染管线相比,它更加复杂,平台支持也比较有限。

通用渲染管线将成为未来Unity的默认渲染管线,可以实现“一次开发,到处部署”。它更加灵活,拓展性更强,与内置渲染管线相比,能产出性能、质量更高的图像。
两种管线互不相同,请根据自己项目的需要来选择。

开始使用HDRP


目前我们正使用HDRP制作许多带高端图像的内容,既有游戏,也有VR项目。我们甚至使用管线制作了日本办公室的图像,可以看到HDRP逼真写实的画面可以很好地应用到建筑、工程和建造(AEC)领域。

你也可以看看示例项目:Fontainebleau 和The Spaceship。
若想学习更多HDRP的功能、学会用好HDRP,可以查看以下几篇博文:


此外,您还可以加入Unity Connect HDRP高清渲染管线学习小组,找到志同道合小伙伴,轻松get海量资料,更有技术大咖不不定期现身答疑解惑。
https://connect.unity.com/g/unity-hdrp

文章评论
游戏葡萄订阅号