Unity引擎渲染模块知识Tree汇总--进阶\高阶篇

Unity引擎渲染模块知识Tree汇总--进阶\高阶篇

自UWA学堂上线以来,我们也陆续推出了多篇知识Tree,按模块知识和难易度分类,旨在帮助大家更体系地学习,一步步进阶。

渲染效果作为游戏表现力的核心卖点之一,也是开发者们普遍关注的焦点。往期为大家整理过相关的知识模块推送,随着时间的推移有部分更新,欢迎收藏阅读。

UWA学堂搜索对应课程名称/关键字 或是 按“分类“筛选即可查看相关课程。

无论对于从业者还是正在读大学的技术萌新,学习的有效时间和个人时间都是有限的。高效学习者最在意的是时间的价值,一个需要体系化的知识地图就显得尤为重要。

添加UWA小助手微信(17502188376),可领取完整版渲染知识体系XMind文件。

本篇介绍进阶和高阶部分。


进阶

《Unity项目从Gamma转Linear颜色空间的经验分享》

1、为什么要使用Gamma?为什么要使用线性空间?如何选择项目的颜色空间?
Gamma的工作流程就是一个编码和校正的过程。图像使用sRGB颜色标准进行编码存储在硬盘中,通过显示器的Display Gamma校正还原实际的效果。因为经过了Gamma Encoding 1/.2.2,所以图形处理的中间过程是非线性的。线性空间意味着数据计算的正确性,在线性空间对颜色数值和光照强度进行相加、相乘等计算得到的结果与真实的结果一致。线性空间渲染管线的计算结果需要进行校正然后经过显示器还原实际的效果。Gamma空间和线性空间分别适用于不同风格类型的游戏。

2、在制作和使用美术资源之前,你真的理解了线性空间吗?
美术通常只遵循制作规范,并不完全理解线性空间。使用DDC工具来创建美术资源时,美术在制作过程中需要直观地看到输入和输出的结果。我们可以保证输出结果是线性的,但是线性输入无法让人眼正确的识别颜色,所以在制作过程中使用的输入贴图和颜色数据都是非线性的。我们使用线性空间的制作流程时,与颜色无关的贴图和数据的输出是线性的,一般情况下与颜色相关的贴图输出是非线性的(sRGB颜色标准)。

3、从Gamma转到线形空间后,美术工作流程有什么变化?美术资源调整的工作量有多少?
美术的贴图资源需要规范化,在确定了使用线性空间时,还需要确定哪些贴图是线性空间贴图,哪些贴图是Gamma空间贴图,Gamma空间的贴图在使用时需要勾选sRGB。 美术需要验证材质物理属性的正确性,调整场景光照,修正场景、特效、UI的半透明效果。

4、程序可以帮助美术解决哪些问题?
我们升级和使用线性空间都是为了更好的美术表现,从Gamma升级到线性空间不会对客户端的代码有任何影响,主要是技术的升级带来一些制作规范、工具流程的代码调整。程序可以让线形空间下的制作规范对美术透明化,自动完成Texture Import Settings的设置,让美术不需要关心在Unity编辑器中对贴图的设置。程序可以对项目中需要转换线性空间的贴图进行批量处理,减少美术工作量。

光影

《Unreal移动渲染管线解析》

近两年伴随Unreal移动游戏在市场的不俗表现,越来越多的研发团队开始关注Unreal的移动端开发。本次报告将聚焦Unreal移动端的渲染管线,结合源码分析渲染相关的模块框架以及与渲染线程的交互,并希望帮助研发团队了解如何扩展渲染功能,以及在优化时快速定位CPU端的渲染瓶颈。

《Console级写实画面游戏的技术探索之路》

3A单机游戏的研发一直是国内游戏行业的痛。国外3A游戏普遍在拟真度上有非常高的水平,无论画面还是动画都力求逼真,这不仅仅考验渲染技术的水平,同时也对美术资源品控、生产效率、写实动画制作和动画融合技术带来巨大的挑战。本次报告分享了嘉宾讲师所在团队历经两年摸索积累的一些经验和教训。包括:
1)前言及《黑神话·悟空》Demo展示
2)写实画面的光和影
3)我们需要做什么?
4)手游的高品质与高性能

《Unity HDRP烘焙技术原理及应用》

从HDRP 7.0版本开始,HDRP正式脱离Preview标签,成为正式版,未来HDRP将不会产生太大的框架性的变动。如果你希望获得效果炫酷的照片级渲染效果,现在正是学习HDRP的好时机。

然而,想获得非常高的画质表现,对于烘焙的理解是必不可少的。HDRP的全局光照和Build-in管线的全局光照在Planar Reflection、Screen Space Reflection、Light Layer、Reflection Hierarchy等方面是不同的,所以在一定程度上需要重新学习。当然,有一部分知识与Build-in管线的烘焙也是重合的,例如:Lightmapper参数、光照探针、Lightmap Parameter Asset等等,所以也可以使用本教程的内容作为Build-in管线烘焙的参考。

在HDRP中,通过Lightmap、光照探针、反射探针、Planar Reflection等技术,可以获得优秀的间接光和阴影,让产品的真实度上一个量级。

《如何实现角色的自阴影效果》

本课程介绍了如何不使用任何光照来实现角色自阴影,并且能够适应于各类高中低配手机。从实际需求入手,逆推解决问题方法,从目的反向找出正确的处理流程,除了能够学习到如何不用光做出光影效果,更能掌握解决问题的方法;从性能入手,让大家对自阴影的性能知根知底;最后附带Demo的代码,更能让大家立刻在项目中将其实装,提升自己游戏的表现力。

这门课程虽然不属于基础课程,但对渲染有兴趣或者刚开始学习渲染的同学也能从中受益。

《光照贴图Lightmap初探》

光照贴图是游戏中很常用的一个技术,不同引擎都有相似但细节处又有很多不同的实现。本文将从原理出发,梳理Unity/UE4等引擎的不同实现,并着重分析项目开发过程中常见但很容易被忽视的精度问题及解决办法,以及很多实际工程中会遇到的问题及对策。

通过对本文阅读,读者能对包括光照贴图、光照探针等一系列全局光照相关技术有所认识,并结合到实际工作中。

后处理

《Unreal移动渲染管线解析》

近两年伴随Unreal移动游戏在市场的不俗表现,越来越多的研发团队开始关注Unreal的移动端开发。本次报告将聚焦Unreal移动端的渲染管线,结合源码分析渲染相关的模块框架以及与渲染线程的交互,并希望帮助研发团队了解如何扩展渲染功能,以及在优化时快速定位CPU端的渲染瓶颈。

《Unity引擎景深实现原理剖析与优化》

从基本的后处理渲染流程入手,学习DepthOfField渲染流程中的各个部分及原理,分别从如何通过深度图计算出模糊圈、计算焦外模糊效果,如何把模糊图与原图混合完成焦点清晰、焦外模糊的景深效果入手,通过剖析其每一步的原理与GPU耗时,分析思考对其进行优化,从而提高渲染效率。希望读者们可以通过此文学习并掌握后处理性能优化的方法。

流体模拟

《基于网格的GPU流体模拟》

文章主要介绍了基于网格的流体模拟的基本原理及其实现方式,分为4个部分。首先,简单介绍了流体模拟的概念,再是介绍相关的数学基础,然后在理论上从流体方程Navier Stokes入手,对其分解解析,逐步分析公式的每一部分的数学概念和解算过程,最后在Unity上通过Demo实现流体模拟的每一部分的计算并进行讲解。

本课程属于进阶课程,解算过程相对晦涩,适合有一定的图形学基础、数学基础或者Shader编程经验的读者。

PBR

《五天实现PBR保姆级教程》

该课程主要对PBR(Physically Based Rendering,基于物理的渲染)技术进行了深入浅出地讲解与实现。

PBR的知识体系极为庞大,导致好多同学兴致勃勃地进来,但看到如此繁多的概念和数学公式后,浅尝辄止一番就灰头土脸地走掉,很是可惜。正所谓“师傅领进门,修行靠个人”,本课程的目的就在于让这些同学“开开心心地来,高高兴兴地回”。基于此,本课程会在实现的过程中尽量用比较浅显的语言循序渐进地介绍一些“高大上”的概念——比如球谐、傅立叶等;而在涉及到数学公式的理解与推导上,尽量使用初高中的数学知识而不涉及到“高端”的概念(比如雅克比),对于公式的推导保证每一步都有据可依,不至于跨步太大让大家不明所以。

最后,在实践部分,还有一段比较长的路要走,这里把“路”拆开,我们一段一段地走:
第一天:阅读掌握PBR相关基础知识
第二天:搭建一个简易的SRP框架
第三天:实现PBR的直接光部分
第四天:实现PBR间接光的漫反射部分
第五天:实现PBR间接光的镜面反射部分


最终实现效果

《Unity和Substance Painter的Look Dev显示校准》

随着PBR制作流程在手游开发里逐渐发力,Substance Painter在美术绘制贴图方面开始发挥越来越重要的作用,如何让美术在制作美术资源时能够所见即所得地得到和游戏引擎一样的渲染效果,成为开发Look Dev阶段非常重要的一个流程。由于不同项目的渲染风格不同,Substance Painter默认的显示效果无法和Unity等游戏引擎中的渲染效果保持一致。本文介绍了一套基本的Unity和Substance Painter的Look Dev显示校准流程,能够适应不同的渲染材质、Tone Mapping算法,让美术同学在制作资源时可以得到近乎完全一致的渲染效果。

《基于物理渲染功能的重要知识合辑》

本课程整理了UWA Blog上7篇关于物理渲染的文章,方便大家整理查看。

  1. 《迪士尼的渲染模型》
    基于迪士尼公司分享的在电影渲染中用到的PBR渲染光线模型,该模型的提出并非基于物理真实,而是偏重于对美术设计者的友好和易于使用。通过本文的学习,可以加深对PBR渲染管线原理的理解,从而更好地在工作中应用。

  2. 《微表面模式 – PBR渲染管线的材质》
    基于微表面模型,提出了新的材质模型,很好地考虑了对菲涅尔现象、阴影遮蔽以及微表面朝向分布等因素对高光项的影响,从而能够更好地模拟粗糙表面的高光现象。

  3. 《更精确的微表面分布函数GGX》
    基于2007年图形学会议EGSR的一篇论文,创新性地将微表面反射模型推广到了表面粗糙的半透明物体,从而能够模拟类似于毛玻璃的粗糙表面透射效果。文中介绍了BSDF函数、全新的微表面分布函数GGX,能够为您的实际应用提供理论指导。

  4. 《基于球面调和基的实时全局光照明》
    详细介绍了球面调和基函数、传输函数,以及预计算和实时渲染的过程,不仅提供了实现全局光照技术的方法,还提供了优化实时渲染性能的思路。

  5. 《基于Haar小波基的全局光照明》
    详细介绍了Haar小波基的算法和实现方式,这是一种采用非线性小波变换来替代线性SH变换的PRT算法,可以实时渲染出能够保留全频信息的全局光照效果,效果更加逼真。

  6. 《用真实光照亮物体》
    基于图形学、计算机视觉专家Paul Debevec 在1998年发表的一篇论文,文中介绍了使用真实拍摄光照贴图对虚拟物体进行渲染并融合的算法,以及 HDR (High Dynamic Range)及全局光线技术的使用。通过学习,您可以对改算法有深入的了解。

  7. 《HDR Tone Mapping》
    介绍了一种新的Tone Mapping算法,对于不同区域采用不同的缩放系数,从而自适应dodging-and-burning,能够在将高动态图转换为低动态图时防止高亮部分过曝,并且能达到在亮部和暗部都保持细节的效果。

《Unity PBR介绍及经验分享》

Physically-Based Rendering(基于物理的渲染)是最近几年比较火的一个话题,有不少的端游及手游都在项目里实际使用。那么这个PBR到底是什么?能起到什么样的作用?我们该如何使用好这个解决方案?本议题将从以下几个方面来说明:

  • PBR使用背景知识介绍
  • Standard Shader代码分析
  • 使用经验及性能优化分享

SRP

《中小团队基于URP迭代属于自己的渲染管线》

本次报告将介绍在项目中基于URP迭代开发自有的管线的过程,以及管线中用到的一些技术点,包括:介绍一种线性空间渲染场景和gamma空间处理UI的新思路、如何移植某些URP高版本功能到自己使用的版本中、如何选择渲染技术方案的思路,以及如何根据自己需要迭代修改URP。

《URP管线修改落地实战》

本课程主要对URP管线在项目中的实际应用落地进行讲解和实现。URP作为最近越来越多的新项目开始使用的管线,到很多老项目开始进行升级,很多人会遇到各种问题,比如为什么升级到了URP,性能并没有变得更好,甚至在低端机上还下降了?GrabTexture机制没有了,怎么做扭曲效果?想用线性空间但UI颜色不对怎么办?URP为什么值得升级?等等。

文章会从项目制作的角度,从基础功能修改入手,到项目层面一些刚需修改,来教会大家如何修改URP管线,从而达到自己想要的目的和效果。文章适合能看懂代码的技术美术,源码之下,了无秘密!

文章会从以下几个章节来进行教学:

《URP从原理到应用——进阶篇》

自Unity 2018推出了SRP(可编程渲染管线)以来,基于SRP的基础又推出了URP和HDRP。SRP的出现具有跨时代的意义,内置渲染管线无法对开发者提供一些定制化修改接口,普通开发者无法去学习渲染管线,导致大部分开发者对这块知识都很匮乏,不利于个人成长。

进阶篇主要介绍了整个URP实现的原理,内置渲染Pass的步骤,CPU的渲染数据如何传递到GPU中使用,光照阴影计算方法,CPU和GPU渲染管线的区别,如何自定义渲染管线以及Render Feature的使用,最后通过五个例子实现对渲染管线源码的定制、优化默认情况下四次RT拷贝带来的性能开销,背景模糊效果、后处理拓展、3D降分辨率UI高清分辨率等。

《基于Unity SRP的手游渲染之道》

2010年,iPhone 4横空出世,开启手游时代。十年来,手游行业慢慢从蓝海变成红海。在2020年的今天,仿佛手游只剩下了两条路,要么就是玩法取胜,抓住用户的心;要么就是精品化,抓住用户的眼。这期间,手机硬件在升级,游戏引擎也在不断变化。终于,在2018年夏天,Unity提出了SRP的概念。本次课程讲师作为一名3D行业十年的老兵,聊一聊基于Unity SRP的手游渲染之道。

《Unity HDRP烘焙技术原理及应用》

从HDRP 7.0版本开始,HDRP正式脱离Preview标签,成为正式版,未来HDRP将不会产生太大的框架性的变动。如果你希望获得效果炫酷的照片级渲染效果,现在正是学习HDRP的好时机。

然而,想获得非常高的画质表现,对于烘焙的理解是必不可少的。HDRP的全局光照和Build-in管线的全局光照在Planar Reflection、Screen Space Reflection、Light Layer、Reflection Hierarchy等方面是不同的,所以在一定程度上需要重新学习。当然,有一部分知识与Build-in管线的烘焙也是重合的,例如:Lightmapper参数、光照探针、Lightmap Parameter Asset等等,所以也可以使用本教程的内容作为Build-in管线烘焙的参考。

在HDRP中,通过Lightmap、光照探针、反射探针、Planar Reflection等技术,可以获得优秀的间接光和阴影,让产品的真实度上一个量级。

《Unity 2019 SRP实战》

本课程介绍了手游行业渲染技术发展的历史背景,从2018年Q3开始回顾上一代和这一代爆款手游所使用的渲染技术,分析行业的发展趋势。对手游行业渲染技术未来发展的展望,从主机、PC游戏看手游行业渲染技术的未来。如何进行前瞻性的技术选型,是UE4还是Unity?轻量还是高清?自主研发还是抱大腿?以及技术预研成果的一些展示。

最后着重介绍了高清管线的技术细节:包含HDRP光照模型相对于URP和Builtin的区别,HDRP移动端设备适配时候所做的取舍,以及为适配移动端对ComputeShader所做的修改。

《画质与性能的权衡:如何使用可编程渲染管线(SRP)》

Scriptable Render Pipeline使用户能够更加灵活地控制Unity的渲染管线,以实现不同的渲染效果,同时也会带来不同的性能表现。这次报告将通过案例向大家展示LWRP,HDRP以及Custom SRP的使用,并通过数据来了解不同Pipeline的性能表现,以求让大家在开发过程中能够根据项目需求选择是否使用SRP以及使用何种SRP改进所用的管线。

精品项目案例

《Console级写实画面游戏的技术探索之路》

3A单机游戏的研发一直是国内游戏行业的痛。国外3A游戏普遍在拟真度上有非常高的水平,无论画面还是动画都力求逼真,这不仅仅考验渲染技术的水平,同时也对美术资源品控、生产效率、写实动画制作和动画融合技术带来巨大的挑战。本次报告分享了嘉宾讲师所在团队历经两年摸索积累的一些经验和教训。包括:
1)前言及《黑神话·悟空》Demo展示
2)写实画面的光和影
3)我们需要做什么?
4)手游的高品质与高性能

其他

《Unreal移动渲染管线解析》

近两年伴随Unreal移动游戏在市场的不俗表现,越来越多的研发团队开始关注Unreal的移动端开发。本次报告将聚焦Unreal移动端的渲染管线,结合源码分析渲染相关的模块框架以及与渲染线程的交互,并希望帮助研发团队了解如何扩展渲染功能,以及在优化时快速定位CPU端的渲染瓶颈。

《基于组件和配置的着色器编辑器框架》

文章主要介绍了一套完整的着色器编辑器框架。本教程从拆解常用的着色器功能入手,分别讲解了编辑器中的通用组件以及用法,着色器属性块和配置的相互包含引用方法,最后结合编辑器提供的功能讲解了一种材质资源的优化方法。本课程属于进阶课程,适合有编写着色器代码并且想进一步了解着色器编辑器设计方法的读者。

《自优化的绘制流水线优化》

介绍了嘉宾讲师近几年在绘制流水线上取得的一系列科研成果。首先介绍国际上创新提出的自优化(auto-tuning)的绘制流水线优化框架;其次介绍利用该框架开展的着色器(Shader)简化、能耗优化等多项技术,可应用于游戏、VR等实时应用中。

《如何高效使用GPU Instancing技术来进行草丛渲染》

游戏中经常需要在一个屏幕内渲染大量重复的物体。例如一望无际的广阔草原,郁郁葱葱的原始森林,流光溢彩的满地珠宝等等。在Unity开发中遇到类似需求的时候,很容易碰到性能瓶颈,导致设备卡顿发热。本文以草海渲染需求为例,详细介绍如何使用GPU Instancing技术进行渲染及性能优化。希望大家通过该文章可以了解和掌握以下内容:

  • 如何对场景中的海量重复物体(比如草海)进行高效渲染
  • 在使用GPU Instancing功能时,我们该注意哪些方面

《如何根据UWA制定技术选型》

在为上千款项目优化的过程中,我们发现很多团队由于前期的技术方案选择不合理,后期只能选择“治标不治本”的优化方案,前期的技术选型成为很多团队的一大痛点。因此,作为UWA性能保障体系中的第一环,我们将根据不同的游戏类型推荐恰当、优秀的使用工具和解决方案,以期助力研发团队找到最适合的技术方案。

Blog文章

《如何实现更真实的软阴影效果》

现实中,在地面上的人影往往因为被投射的物体是粗糙不光滑的,所以影子的轮廓也是有些模模糊糊,没那么棱角分明。在最新的游戏项目中,美术提出我们应该也做一个更柔和、更真实的实时阴影(本文中提到的阴影都是投射在其他物体上的影子,区分于自身的阴影)。

《Unity的Enlighten全局光照实践》

Unity一直以来被诟病的基本都是画面差,市面上大部分Unity产品或者游戏看着也确实没有Unreal和Frosbite系列的游戏那么有次世代的感觉。考虑到全世界都是一种类型大同小异的PBR,排除渲染方程导致的差异,那么效果不够好的主要原因或许就是因为没有一个比较真实的全局光照(GI)系统和没有比较全面的后期处理(PostProcess)系统。但实际上是Frosbite和Unity基本都是一套Enlighten的全局光照系统。那么Unity到底能不能做真实的渲染效果呢?


高阶

《航母战斗群中的巡洋舰 - 为项目保驾护航的技术美术们》

曾几何时,国内游戏制作圈儿中有了一小股被称为技术美术的新兴势力。诞生初期,他们顶着同样的头衔,游荡于各大电脑(或家用机)游戏开发公司,却做着各自几乎完全不同的工作。默默无闻,知者寥寥。后来,随着国内页游的兴起和手游的萌芽,他们甚至一度被排挤在仅有的几个自研引擎大厂与对接国外的各种外包公司中偏安一隅。但随着手游市场的崛起和画面要求的不断攀升,这一职业才逐渐浮出水面,甚至瞬间引爆,迎来了繁荣。那么技术美术到底缘何如此这般境况?本地报告将结合讲师自己这十几年的从业经历,从大量具体事例出发,尝试从技术美术的发展历程和在项目中所扮演的角色,娓娓试解释之。

光影

《移动端实时GI方案》

本次报告从工作室的大世界项目出发,介绍项目组的GI方案和应用。包括:基于Irradiance Volume的GI方案,及相关的烘焙、压缩、Streaming、Relighting等流程。在动态场景中,使用了基于LPV的高性能创新性的移动端GI方案,效果非常理想,相比于多光源的直接计算也存在性能上的优势。此外,报告中还将介绍漏光等问题的处理方案。

《Reflection Probe 实现伪室内和伪反射效果的改进方案》

使用Unity的ReflectionProbe可以实现伪室内效果,但由于其制作上有一定的限制,遇到复杂场景时制作并不方便。对于这一问题,作者提供了一个改进方案。在本文中,首先会讲解Reflection Probe的原理,然后参考这些实现过程制作了一个Fake Reflection的工具,就可以自行实现出类似的效果。同时,可以通过增加法线、粗糙度等参数,来模拟更丰富的玻璃折射效果。另外,它还可以用来实现室内透射、水面反射等近似效果,从而可以大幅减少真实渲染效果的计算压力。

通过本文的学习和提供的Demo工程,可以实现一个更加定制化、且容易修改的Relection Probe功能,从而实现低开销的透视和反射模拟效果。

PBR

《延迟渲染管线手游技术解决方案》

延迟渲染管线以优秀的多光源渲染性能,丰富的后处理表现效果等优势在3A端游较为普遍,但是手游上因为存在带宽等性能问题从而一直难以落地。本次报告介绍可以在forward和deferred下无缝切换,兼容双管线的Shader# Framework。利用移动端Tiled Base等特性以及修改适配Unity的deferred下的交叉编译,实现适合移动端的延迟渲染管线方案。经过一系列的测试,在普通及多光源的场景下,延迟渲染管线相对前向渲染管线在移动端设备上帧率及电量都有一定的优化。

SRP

《Render Graph with Unity SRP》

为了方便开发者定制渲染管线,Unity SRP提供了接口来满足游戏项目对于图形渲染方面的自由定制的需求。紫龙游戏blackjack studio的开发者结合GDC2017上EA的《FrameGraph Extensible Rendering Architecture in Frostbite》中的思路和Unity SRP接口设计,实现了基于Unity SRP的Render Graph来满足多个在研项目多平台、高质量、多风格的渲染要求。本次报告从项目需求出发,介绍Frame Graph Rendering Architecture、Unity SRP based Render Graph的设计和实现,以及Render Graph的应用等。

精品项目案例

《次世代卡通渲染技术》

通过对《琪亚娜·极乐净土》的制作过程讲解,揭示了如何在Unity中实现高品质的卡通渲染效果。其中包括:次世代卡通角色渲染,场景全局光照及高级反射材质,卡通渲染后处理技术,动画及表情系统,头发布料物理模拟以及灯光特效等各个方面,并对今后卡通渲染技术的发展进行展望。

其他

《魂之锋刃:3x3A 进化论》

魂之刃系列从TGS 2017东京电玩展亮相开始,到魂之刃2正式版即将上线,始终保持着对高品质动作游戏(ACT)的追求。如何在成本和周期有限的情况下,产出更多高质量的内容,研发团队提出了“3x3A进化论”。不同于传统3A游戏的定义,团队从三个不同维度提出了3个AAA标准:画面效果、项目健壮性、可玩性。从魂之刃的A,到魂之刃2的AA ,3x3A进化论始终贯穿整个开发周期。本次报告将从风格化渲染、超分辨率技术、联机玩法和动作编辑器等方面分享团队的迭代开发经验。以及在过程中如何发现问题、设定方案,形成稳定的工具和设计反哺团队,展望全面实现3X3A的可行性。

《Shader自优化前沿进展》

本次报告介绍着色器简化前沿进展,包括三部分内容。第一部分介绍一种新的细节层次表示,该表示同时考虑了网格和着色器细节层次结构,能够在绘制性能和质量上提供更大的优化空间。将着重介绍生成该层次结构的两种算法:交替简化算法和分离简化算法。第二部分介绍一种基于Transformer的着色器质量快速预测方法,该方法首次把Transformer引入到着色器简化中,所提供的多模态条件Transformer把着色器和场景信息作为条件输入,使得多个着色器变种能够根据绘制效果嵌入到简化空间中,从而实现快速着色器简化。第三部分介绍最新的自研着色器简化工具RaysTuner。

Blog文章

《Unity的PBR扩展》
《Unity的PBR扩展——皮毛材质》
作者Young在这篇文章中讲解其在实际项目中对于Unity PBR功能的扩展,特别是其中对于头发、皮肤和毛皮的处理,非常推荐学习。


《基于通道混合的角色染色系统实现》

在写此文前,笔者查阅了网上发现角色染色实现的文章很少,相关的讨论也不多。想来主要是因为这块技术虽然在很多项目都有用到,但太过于简单直白,没太多高深的技术含量。不过在笔者经历的几个项目中,都有针对于染色功能的实现,要想做一套兼顾效果和效率的染色系统,还是有不少细节可以讨论的。

《渲染优化-从GPU的结构谈起》
这是一篇非常好的GPU讲解问题,深入浅出,鞭辟入里!

《万物皆数-深挖UWA Benchmark之渲染篇》
性能优化的本质就是一个数学问题!该篇文章以渲染模块为例,讲解我们如何通过优化问题转化为数学问题进行研究和解决。

对于渲染模块的性能优化,我们推荐UWA学堂中的以下几篇课程:

《Unity引擎渲染、UI、逻辑代码模块的量化分析和优化方法》

Unity引擎的渲染、UI和逻辑脚本耗时是大多数项目的Top 3耗时模块。对此,我们对这三个模块进行量化地统计和分析,介绍准确定位性能瓶颈的方法。同时,从常见的性能问题入手,分析和对比各种可行的性能优化方案,以求显著地提升这些模块的效率。内容包括:

  • 渲染模块的重要参数分析以及优化方法
  • UI模块瓶颈的精确定位和优化
  • C#/Lua瓶颈函数的优化方法

《画质与性能的权衡:如何使用可编程渲染管线(SRP)》


Scriptable Render Pipeline使用户能够更加灵活地控制Unity的渲染管线,以实现不同的渲染效果,同时也会带来不同的性能表现。这次报告将通过案例向大家展示LWRP,HDRP以及Custom SRP的使用,并通过数据来了解不同Pipeline的性能表现,以求让大家在开发过程中能够根据项目需求选择是否使用SRP以及使用何种SRP改进所用的管线。

《深度剖析大型MMO移动游戏的性能优化》


针对大型MMO移动游戏来说,复杂场景、百人同屏、逼近端游的画质表现已经成为了MMO游戏发展的硬核趋势。同时,这些需求对于移动设备来说,其性能压力也是一个非常巨大的挑战。因此,本次报告将从性能和画面表现两方面入手,分享欢乐互娱引擎中心在《龙之谷手游》和《仙境传说RO:爱如初见》项目开发过程中的制作方法和优化技巧,主要包括:

  • Shader中的性能优化
  • 高效的图像后处理框架
  • 多人同屏时的Imposter使用
  • 结合顶视图的场景制作策略

《Unreal引擎渲染效率解析》


在Unreal中,如何分析渲染部分的开销?如何定位渲染的瓶颈?在各类设备上如何制定合理的渲染配置?基于UWA的项目优化经验和数据统计分析,针对当前流行的渲染效果和常用技术做更进一步的解析,从而能够更高效地实现高品质的渲染效果。内容包括:

  • 渲染模块的开销分析与瓶颈定位
  • Unreal渲染模块中各种渲染效果性能开销总结

《Unity引擎移动游戏性能优化全解析》


目前,UWA已经为超过70款移动游戏项目进行了深度优化。在针对这些项目的性能进行深度剖析时,我们遇到了大量的“疑难杂症”。在此,我们将这些问题进行总结和归纳,通过大量实际案例,让大家能够了解和掌握如何对Unity引擎各个模块、资源和内存管理方面的性能问题进行快速的定位和精准的分析,内容主要包括:
1、渲染、UI、加载、物理等Unity引擎各个主流模块的“疑难杂症”分析
2、纹理、网格等主流资源的资源加载和内存管理

《移动游戏的GPU性能优化》


随着精品移动游戏的大量涌现,移动设备GPU端的性能压力越来越大。对此,我们从Bandwidth、Fillrate和Shader等几方面出发,结合大量优化过程中的实际案例让大家了解和掌握如何快速定位和分析游戏在GPU端的性能瓶颈,以及游戏开发过程中需要注意的性能点,以求有效降低移动游戏的GPU压力,避免不必要的性能开销。

《Unity引擎渲染效率全解析》


Unity中各种高大上的渲染效果在实际开发中效率到底如何?如何去定位渲染中的性能热点?具体多大的渲染数据量算是合理的?基于UWA对各种不同类型游戏项目的优化经验和数据,针对当前流行的PBR以及实时阴影渲染技术做更进一步的详细介绍。为大家提高产品渲染效果、增加美术表现力提供合理有效的解决方案。内容包括:

  • Unity渲染模块中各种渲染效果性能开销总结
  • Unity中PBR渲染性能开销分析
  • Unity中阴影渲染性能开销分析

以上就是我们为大家梳理的Unity引擎渲染模块学习路径图。需要说明的是,这个路径图并不是捷径,越来越多的文章会更加训练大家的意志力。

作为体系化的知识,我们希望大家能掌握背后的逻辑与原理,结合学习方法论并反复实践,未来尝试在自己的项目中创新创造出自己满意的效果。

往期回顾

《Unity引擎渲染模块知识Tree汇总--零基础\初级篇》
《Unity引擎UI模块知识Tree》
《UWA学堂|逻辑代码模块》
《UWA学堂|开发流程模块》
《UWA学堂|解决方案模块》
《UWA学堂|优化模块》