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參數。 代碼使用之前的體積光代碼的基礎上做了個加法,方便快速使用。 代碼如下: 使用方法還是像之前一 ...