Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示 ...
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示 ...
这节我们来看一下URP下的LitShader。LitShader也是基于物理渲染的,很多方法和属性看过默认管线PBR代码的应该都会很熟悉,我们现在再过一遍,加深一下印象,同时疏通一下以前可能没有掌握的地方。 先看Shader的Properties: 工作流还是Specular ...
体积光的光源可以是平行光、探照灯、点光源等,我们今天先来看看平行光如何制作体积光。 体积光的原理网上已经有很多了,这里就不赘述了。着重快速实现: 代码如上,可以看到体积光的基础实现非 ...
上一章讲到了URP的RenderSingleCamera函数的Renderer之前,这次我们继续,开始了解Unity封装的ForwardRenderer是个什么神秘物体。 为了方便,先把上次讲到的方法贴在这里: 我们从line 14开始学习: 我们可以看到Renderer ...
学习URP之前首先要知道SRP是什么。 SRP(Scriptable Render Pipeline)是Unity向开发者提供的用来组织渲染数据和自定义提交渲染方案的接口,用户可以灵活的根据需求选择自己的渲染信息组织和提交方案。 而URP就是Unity官方在SRP的基础上实现好的一套方案 ...
上次我们了解了URP大致的框架,接下来看看每个Pass都是做什么的,先看DrawObjectPass: 从截图中我们可以看到这个Pass主要用于渲染不透明物体和半透明物体(ForwardPath)。 首先我们看一下这个Pass的构造: 这个Pass会执行标有以上三个tag ...
上节我们学习了LitShader大致是怎样的起作用的,留下了PBR相关的疑问,这节我们来解答一下URP下的PBR究竟做了什么优化。 要知道做了什么优化,就必须知道原来的PBR是什么样子。 Unity原来的Standard是这样写的: 我们直接看最后color的计算 ...
关于URP的Postprocess我们需要有个了解,以前在内置管线,对于后处理我们一般自己写或者用PostprocessStack,现在URP已经将postprocess集成到URP中,我们一起来学习下吧~ 首先需要创建一个Volume,然后创建VolumeProfile,点击 ...
原神中当相机距离角色很近的时候会表现出如下虚化的效果: 经过笔者仔细观察,发现其实就是做了个镂空效果,所以开始动手实现,代码如下: 主要思路就是从屏幕空间采样一张tili ...
高度雾的实现思路非常简单,通过深度图还原出来的世界坐标的y值来做fog的lerp参数。 代码使用之前的体积光代码的基础上做了个加法,方便快速使用。 代码如下: 使用方法还是像之前一 ...