Games Focus系列主要介绍我们未来一年及以后的主要产品开发计划。在这个系列第二篇博文里,我们将讨论可编程渲染管线的现状、最近的发布计划和未来的规划。
正如 Ralph 在前一篇博客里提到的,我们的使命是让你有能力创造各种非凡的游戏、接触全球各地的玩家。我们之所以推出这个博文系列,是为了说明我们在整个明年以及2024年和2025年优先考虑的功能和改进。
我的名字是Ali Mohebali,是Unity的图形产品经理。19年前,我作为一名工程师开启了电子游戏事业,并在三年前有幸加入了Unity。这篇文章是我与同事Aljosha Demeulemeester(图形工程总监)以及图形产品经理Mathieu Muller和Steven Kent合作完成的。
我们将介绍通用渲染管线(URP)和高清渲染管线(HDRP)的持续性改进,以帮助你在所有Unity支持的平台上制作可扩展的图形。我们先来看看目前两个渲染管线具备了哪些功能,然后再来了解2023年及以后的计划。
随着硬件能力的不断增强,图像内容若想接触到尽可能广的受众,其测试、优化和扩展就会变得越来越复杂且耗时。我们的目标是降低你的成本,让游戏在最广的平台上以最佳的视觉质量和性能来扩展和交付。
我们努力提供最先进、符合真实物理、开箱即用的渲染,并且为有需要的创作者提供扩展功能,使其能展现个人风格、深度优化项目、快速做出原型。此外,我们希望提高渲染管线源码的可读性与可编辑性,以及C#代码的效率,让你在需要时深入地定制管线。
为了实现这些目标,我们提供了两个可满足不同需求的渲染管线:通用渲染管线和高清渲染管线。我们分别看看各个SRP的工作进展,以及我们对Unity渲染的长期目标。
我们还改进了URP定制与性能管理的工作流程,加入了Shader Graph Surface Options、Depth Pre-pass、Light Layers、Volume System Update Frequency和Render Pipeline Debug Window。
在迄今发布的2022 Tech Stream版本里,我们根据用户反馈对工作流和性能做了进一步改进。当前处于beta测试的一些亮点功能包括:LOD Crossfade、Rendering Decal Layers、Full Screen Shader Graph支持,以及更直观的自定义后处理工作流。
在2022.2中,我们还添加了对Forward+的支持,它不仅具备前向渲染的优势,还没有对光照数量的限制。
我们还在2022年对SRP核心API做了一些影响较大的小改进,让内置渲染管线得以胜任几种重要的用途。例如,Camera.Render带来的功能可让你在标准Update更新循环以外触发渲染,你可以利用RenderPipeline.SubmitRenderRequest来使用它。DrawingSettings新增加的Override Shader可以用于还原内置渲染管线的Camera.SetReplacementShader功能。
随着2022.2版本的发布,URP已经包含了内置渲染管线的大部分功能,并且在某些方面有着更为优秀的质量和性能。如果你想转而使用URP,我们建议你先比较下两种管线的功能,再决定要不要切换管线,然后下载新的进阶版电子书,依照详细的步骤完成管线切换。
我们非常高兴有越来越多的游戏采用了URP,包括《Lost in Random™》、《Two Point Campus》、《Circuit Superstars》、《Neon White》、《Crash Bandicoot: On the Run!》以及《LEGO Builder's Journey》。
在2023年的版本中,我们将继续完成URP剩余的改进,让管线与内置渲染管线完全对等,提供更好的文档和指南,并根据用户反馈完善工作流和性能。除了Volume框架性能、着色器构建时间以及内存占用,我们还在开发其他几种新功能,包括Adaptive Probe Volumes、Temporal Anti-Aliasing、High Dynamic Range Display Output以及Foveated Rendering for VR。
而Surface Shader功能是用户呼声最高的改进之一。在未来几周,我们将用一篇新博文和公开演示来介绍Block Shaders直观的语法和多管线统一的着色器编写工作流。
我们还在进一步改进URP的基础,继续推进Render Graph在URP中的开发。这可以提高URP在所有平台上的稳定性,同时Render Graph能尽可能降低GPU内存占用。Render Graph将于2023年发布。Render Graph也能让代码库更接近HDRP,让两个管线拥有额外兼容性,这也是我们对SRP的长期目标之一。
在功能完全相同后,你就不必再比较URP与内置管线,可以自信地用URP取而代之。如此一来,你在为游戏选择渲染管线时会非常简单。为了让你能有充足的时间来移植项目,2023 LTS仍将全面支持内置渲染管线。
如果你想从内置渲染管线转移到URP,推荐参考我们新的技术指南,Introduction to the Universal Render Pipeline for advanced Unity creators,该指南由我和我的团队参与编写。
在过去三年里,有许多令人赞叹的作品都采用了HDRP,如《Hardspace: Shipbreaker》、《Recompile》、《I Am Fish》、《Disciples: Liberation》和《Syberia: The World Before》,《Syberia》甚至能在Steam Deck上以4K运行。
同时,我们还收到了大量来自开发者和艺术家们的反馈,并因此改进了管线的可扩展性、物理形光照的使用体验以及管线的性能和稳定性。我们还引入了一些创新功能和技术,如NVIDIA DLSS、AMD FSR、Volumetric Clouds和光线追踪。
目前,LTS版的HDRP包含有一套完整的、相互兼容的可扩展功能,可支持Light Brick Studios这样的团队,将获奖手机游戏《LEGO Builder's Journey》升级成渲染效果逼真的PC游戏。而Stunlock Studios团队利用了Unity的扩展性、DOTS和HDRP的先进渲染技术来开发大型多人游戏《V Rising》。有时候,带有物理性光照的动画电影不一定要看起来很逼真(比如《蜘蛛侠:平行宇宙》或我们自己的短片《WiNDUP》),而HDRP同样也能驾驭风格化的游戏,比如《Slime Rancher 2》。
2022.2的HDRP将全面支持Shader Graph、自定义后处理通道、Custom Render Textures(自定义渲染纹理)以及Local Volumetric Fog(本地体积雾)。
环境艺术家可借助新的水体系统(详情请在论坛查看)来提升图像质量,用更优秀的云层光照和改进后的Volumetric Clouds来糅合两种天气状况。
最后,要想制作高度清晰的预告片和电影,角色艺术家和灯光师可以利用起Unity演示项目《Enemies》中的高质量眼球焦散效果和区域光阴影,而Pathtracer可以借助NVIDIA Optix™ AI加速降噪器或Intel® Open Image Denoise来更快地渲染零噪点图像。
优化性能,尤其是大多数游戏都要面对的CPU占用上,始终是我们的首要任务。我的同事们不断地为Unity和CG行业带来了许多创新,我们将继续利用这些研究成果,并与Wētā Digital、Ziva和SpeedTree等艺术工具团队合作,致力于PC和主机游戏关键领域的开发和创新。
这些领域包括:
新技术也意味着你要学习新流程和新工具。我们推荐你观看关于物理光照强度和摄像机镜头与曝光的教学视频,或者阅读关于体积系统和Scalability Settings(可扩展性设置)的文档和博文。
相信有许多创作者都需要学习这些新概念——如果你想继续了解HDRP的方方面面,请查看“The definitive guide to lighting in the High Definition Render Pipeline (HDRP)”。
我们将主要依靠这两个用途不同的管线来交付高性能、可扩展的渲染解决方案。
URP能在移动设备上提供最佳的图像质量,还能运行于每个Unity支持的平台。它有极大的扩展空间来支持风格化图像和违背物理法则的优化。
HDRP则提供了只有在高端平台上才能实现的精致图像。它所提供的功能集紧密相连,可以产生符合真实物理的光照。
要实现全面可扩展的渲染,下一步是让同一个游戏能同时启用URP和HDRP。游戏既要有HDRP所具备的高图像质量,又要有URP广泛的平台覆盖。譬如,《LEGO Builder's Journey》 和《Road 96》这两款出色的游戏在PC和主机上使用了HDRP,在移动端和无线显示设备上使用了URP。我们希望赋予更多的Unity创作者同样的扩展性。
由于当前一个项目只能在编辑器内启用一个管线,要在今天做到这点,你必须分别创建URP和HDRP两个项目,并重复创作内容。而我们的最终目标是让你能为每个平台选择最适合的管线,以最少的功夫来提高生产力。你将有机会在每个平台上同时拥有最好的图像质量和最高的性能。
我们正从两个方面努力实现目标。
首先,我们正在改动编辑器,让你能在一个项目中同时加入URP和HDRP。不同场景将能启用不同的渲染管线。在允许Render Pipeline Coexistence(渲染管线共存)后,你就能在一个项目里为每个管线制作和维护专门的图像资产,为特定平台构建和运行启用了特定渲染管线及相关资产的内容。我们目前已经取得了良好的进展,并会很快放出更多消息。
其次,我们正在提高URP和HDRP之间的兼容性,让同一批内容在用不同的渲染管线渲染时更为省力。过去两年里,我们已经在着手实现HDRP和URP的功能对等和相互兼容(比如SRP镜头眩光、地形细节和树木、VFX Graph、Shader GraphMaster Stack和Full Screen Master Node、Rendering Layers、Rendering Debugger)。我们将探索材质、光照、摄像机和后处理的数据模型共享,让Unity的所有渲染后端都能解析同一份内容,减少重复性创作。Unity 2023将包含一份用Shader Graph编写、可用于Lit(受光)和Unlit(非受光)着色器的跨管线材质。
希望大家能继续关注我们的Games Focus系列,并前往论坛分享你对这篇博文的问题和评论。
访问我们的渲染和视觉效果路线图来了解我们更多的工作细节。你需要登录自己的Unity ID并接受功能性cookies。你可以点击页面上的卡片来了解各个主题的细节,并通过多种方式留下反馈。点击卡片后选择该主题对于你的重要程度,留下自己的观点,然后提交。这些反馈将被传达给对应的产品团队。