Unity官方TA手册《Unity关键东西集和工作流程》v2
近日,Unity官方发布了一本名为《关键东西集和工作流程》的免费电子书,该手册整合了“所有Unity系统、功能和工作流程的详细摘要”。这份91页的指南汇集了经验丰硕的技术美术师的定见,包罗《Enemies》、《The Heretic》、《Book of the Dead》以及其他创作者的演示。
本书介绍了衬着管线、世界构建、着色、照明、动画、视觉特效、过场动画。以及还有一些章节讨论了脚本编写、分析和调试项目以及 2D 游戏开发。
而本篇连载将以中文翻译的形式分享给大师,英文阅读能力不错的同学可以直接去官方下载原版文档。(地址在文章末端)
由于个人能力有限,如有纰漏之处欢迎留言指出。
衬着管线
Unity中的图形模块,可以为你提供一个更加精准的控制体系,并在一系列的平台上,制作出优质的视觉效果,比如,从移动到桌面和高端游戏机。衬着管线执行的是一系列的操作,来获取场景的内容,并将其显示在屏幕上。在一个较高的平台上,这些这些操作是culling, rendering, and post-processing。
Unity为分歧的方针平台,提供了三种衬着管道:较早的内置衬着管线,以及两个较新的可编写脚本的衬着管线 Scriptable Render Pipelines (SRPs)以及通用衬着管线Universal Render Pipeline (URP)。通用衬着管线Universal Render Pipeline (URP)和高清衬着管线High Definition Render Pipeline(HDRP),它是目前默认的衬着管道。你还可以创建定制的SRPs。衬着管线的选择,取决于你的方针平台,以及你所寻求的视觉保真度和定制化程度。
1衬着管线
衬着管线是用于衬着灯光和暗影的一系列操作。分歧的管线具有分歧的功能和性能特征。以下是Unity衬着管线常用的的出产管线:
2Forward rendering正向衬着管线
Forward rendering正向衬着是Built-in Render Pipeline 和通用衬着管线URP 中的默认衬着管线。它是一种通用默认的衬着管线,它限制了可能影响对象像素的实时光的数量。
每个影响物体的光照都是有成本开销的。当它们超过必然数量时,灯光将以一种近似的方式影响物体(在URP中,所有光线都是按像素计算的,而且可以更改限制)。如果你的项目没有使用大量的实时灯光(移动或VR项目),那么这个衬着管线可能是一个很好的选择,因为,它不会为整个场景中的每一盏灯都计算一遍,这对于tile-based GPUs来说是昂贵的
然而,HDRP中的tile/cluster architecture集群架构,仍然允许若干灯光影响正向衬着中的每个对象,而且凡是在两个衬着管线之间提供相似的功能。它还提供了比延迟衬着 G-buffer更精确的衬着质量,使其适合于视觉保真度高于性能的HDRP项目。
正向衬着管线
3Deferred Shading rendering延迟着色衬着
Deferred Shading rendering延迟着色衬着需要更高级此外GPU特性撑持,凡是是台式机、控制台和高端移动设备上的功能(但对某些衬着功能有限制)。如果您的项目需要几个实时灯光和高程度的照明保真度,同时针对高端手机、PC或控制台平台,当使用内置衬着管道或URP时,这种衬着管线可能是正确的选择。
延迟着色衬着
4Universal Render Pipeline通用衬着管线
URP通用衬着管道管线在包罗手机、PC、主机、WebGL和VR在内的广泛平台上,提供了最优化的图形性能。这是由于围绕光照和暗影的一些权衡而实现的。应用了某些限制,并禁用了低端设备不撑持的功能。这样,开发人员可以不用过多担忧如何优化他们的工作,而更多地专注于开发能够接触到更多受众的项目。
另一个好处是URP是可扩展的。高级开发人员可以自定义它,用来控制项目中特定的效果。如前所述,URP将代替内置衬着管道作为Unity的默认衬着管道。
URP在Unity中的演示
默认情况下,灯光在URP流程中是循环衬着,从而可以在单个过程中执行正向衬着。对比之下,内置衬着管道中的正向衬着,是在必然的范围内计算每像素灯光过程。这意味着使用URP会使用较少的draw调用。
URP是Unity中2D游戏开发的最佳解决方案,因为它提供了2D衬着器、2D灯光和照明效果,以及2D像素摄像机,用于在项目中实现像素化的视觉风格。要开始使用URP,请查看文档并访谒Unity 2021 LTS或更新版本的Unity Hub。
5High Definition Render Pipeline高清衬着管线
HDRP是一种高保真SRP,用于针对现代平台的计算着色器。它的功能使艺术家和开发人员能够快速实现高清视觉效果。主要应用在AAA质量级此外游戏、汽车演示、建筑应用、虚拟出产、电影或任何其他需要高保真图像的内容中使用HDRP。
I Am Fish,由Bossa工作室有限公司,在Steam和Xbox上创建HDRP
HDRP遵循三个主要原则:基于物理的衬着(PBR)、统一连贯独立的照明和衬着管线。它成立在所有这些新的衬着工作流和着色器的基础上,并对场景中的照明进行了巨大的改良。
该管线使用了一个hybrid Deferred / Forward – Tile / Cluster 衬着器,因此,照明的扩展性比任何其他衬着管道都好。在HDRP中,延迟衬着和向前衬着在HDRP中有不异的功能,只是在效果的质量和准确性上有微小的变化。可以使用自定义过程和自定义后措置效果来自定义HDRP。
HDRP是专门为那些追求3D PC和主机图像,最高质量视觉保真度的小型开发团队而设计的。它不适合移动平台。阅读文档并不雅观看此演示,以深入介绍HDRP。
LEGO Builder’s Journey by Light Brick Studios,是用HDRP和光线跟踪与NVIDIA DLSS的PC和控制台版本开发制作的。
阅读文档并不雅观看此演示,以深入介绍HDRP。
6创建一个自定义衬着管线
为了在你的项目中,对各种衬着单元进行更多的控制,你可以创建一个自定义的SRP或者URP和HDRP的版本。
要创建一个自定义SRP,你需要使用Unity提供的SRP Core API。它包含可重用的代码,以辅佐您创建本身的衬着管道,包罗使用特定平台的图形api的代码模板,以及应用于常见的衬着计算的实用函数,以及URP和HDRP都使用的着色器库。
一个自定义的SRP需要编写C#脚本来配置和调剂衬着命令。ScriptableRenderContext类作为C#脚本和Unity的初级图形代码之间的接口。
SRP通过延迟执行进行操作。首先使用ScriptableRenderContext来构建一个衬着命令列表,然后,在初级图形体系布局向图形API发送指令之前让Unity执行它们。
Unity文档提供了如何创建自定义衬着的说明,包罗自定义版本的URP和HDRP(见下一节)。SRP源代码也可以在GitHub上找到。
6URP中的自定义衬着过程
在URP中,您可以使用层遮罩来来自定义那些特定的衬着对象。在Unity 2021 LTS和更新版本中,URP的衬着对象为你提供了,基于图层的自定义衬着通道,可以过滤特殊游戏资产对象来进行单独计算。这让美术人员能够缔造高级的视觉效果或游戏机制,如衬着隐藏在墙后的角色轮廓,而无需编写代码。
在上面的例子中,分歧的材质,被应用到不透明图层蒙版下的物体对象。
在HDRP中,自定义通行证是以一种稍微分歧的方式进行的。你可以在文档和示例项目中找到更多关于它们的信息。
7Dynamic resolution and upscaling methods动态分辩率和缩放方式
游戏项目中常用的性能优化方案是使用动态分辩率,这在Unity中可以作为内置衬着管道、URP和HDRP的摄像机设置。当应用法式的帧速率受到GPU的限制而下降时,分辩率会将逐渐降低以保持恒定的帧速率。您也可以通过脚本手动触发它。
操作HDRP更先进的解决方案,比如撑持NVIDIA GPU的NVIDIA深度学习超级采样(DLSS), AMD FidelityFX™超级分辩率(FSR)和Temporal Anti-Aliasing(TAA)。当然,URP也撑持AMD FSR。
在Windows平台使用NVIDIA RTX GPU的DLSS
在Unity 2021 LTS和更新版本中的HDRP原生态撑持NVIDIA DLSS。它使用了先进的人工智能衬着,来发生与原生分辩率相似的图像质量,而计算量,只是低精度像素的衬着量。通过实时光线追踪和NVIDIA DLSS,您可以在NVIDIA RTX GPU上以更高的帧率和分辩率创建斑斓的世界。DLSS还为传统的栅格化图形提供了显著的性能提升。更多信息请访谒NVIDIA的Unity开发者页面和博客,以及我们的文档。
阅读这篇博客,了解更多关于DLSS技术的内部工作道理,24 Entertainment公司的《Naraka: Bladepoint长时无间》4K下运行效果
AMD FidelityFX超级分辩率(跨平台)
在Unity 2021 LTS中可以调用AMD FidelityFX Super Resolution(FSR)。同时,在HDRP和URP中,同样的也提供了原生态的撑持。要使用FSR,请在HDRP资产和摄像机中启用动态分辩率,然后在调整过滤器选项中选择FidelityFX Super Resolution 1.0。
FSR是一个开源的、高质量的解决方案,可以从低分辩率的图像中发生高分辩率的画面。并在当前画质下提供更高的的游戏帧速率速率。它使用了一系列的算法,出格强调创建高质量的边缘。这大大提高了性能,出格是与原始分辩率进行相对比。换句话说,FSR 能够为昂贵的衬着操作提供 ”实用的性能”,比如硬件光线追踪。
AMD的FidelityFX超级分辩率(FSR)技术是如安在Unity演示飞船中使用的,可在Steam上获得。
页:
[1]