體積光的光源可以是平行光、探照燈、點光源等,我們今天先來看看平行光如何制作體積光。 體積光的原理網上已經有很多了,這里就不贅述了。着重快速實現: 代碼如上,可以看到體積光的基礎實現非常簡單,在片元着色器步進采樣shadowmap,看當前步進的位置是否處於陰影區域,如果不處於陰影 ...
之前一位小伙伴問過我URP沒有Projector,要實現decal功能,我后來確實注意到這一點,URP下的Projector有相關的插件實現,各位可自行百度,這里說Decal的另一種實現思路,屏幕空間Decal。 屏幕空間的decal思路就是在屏幕空間采樣深度圖,然后通過屏幕空間坐標和深度值重建世界坐標,再轉換到decal的local坐標,算出uv即可。 先上代碼和效果圖: 直接使用此代碼需要將渲 ...
2020-09-10 20:02 1 1042 推薦指數:
體積光的光源可以是平行光、探照燈、點光源等,我們今天先來看看平行光如何制作體積光。 體積光的原理網上已經有很多了,這里就不贅述了。着重快速實現: 代碼如上,可以看到體積光的基礎實現非常簡單,在片元着色器步進采樣shadowmap,看當前步進的位置是否處於陰影區域,如果不處於陰影 ...
上一節我們知道了SRP的作用和基本用法,現在來看一下我們的主角--URP是個怎樣的管線把! Unity2019.3及之后的版本才能看到URP這個package,前身是LWRP,可以創建默認管線項目然后手動導入,或者直接創建URP項目。導入之后我們開始分析URP的代碼: 回到我們最開始學習SRP ...
高度霧的實現思路非常簡單,通過深度圖還原出來的世界坐標的y值來做fog的lerp參數。 代碼使用之前的體積光代碼的基礎上做了個加法,方便快速使用。 代碼如下: 使用方法還是像之前一樣在攝像機前面放一個片,快速的查看效果。 效果如下: 我們能看到天空已經曝 ...
上節我們學習了LitShader大致是怎樣的起作用的,留下了PBR相關的疑問,這節我們來解答一下URP下的PBR究竟做了什么優化。 要知道做了什么優化,就必須知道原來的PBR是什么樣子。 Unity原來的Standard是這樣寫的: 我們直接看最后color的計算 ...
Unity的URP給了我們擴展渲染Pass的接口--RenderFeature,我們之前在講URP-ForwardRenderer的時候提到過RenderFeature,這個東西是可以用來擴展Pass的。RenderFeature是依附於ForwardRenderer的,如下圖所示 ...
關於URP的Postprocess我們需要有個了解,以前在內置管線,對於后處理我們一般自己寫或者用PostprocessStack,現在URP已經將postprocess集成到URP中,我們一起來學習下吧~ 首先需要創建一個Volume,然后創建VolumeProfile,點擊 ...
學習URP之前首先要知道SRP是什么。 SRP(Scriptable Render Pipeline)是Unity向開發者提供的用來組織渲染數據和自定義提交渲染方案的接口,用戶可以靈活的根據需求選擇自己的渲染信息組織和提交方案。 而URP就是Unity官方在SRP的基礎上實現好的一套方案 ...
上一章講到了URP的RenderSingleCamera函數的Renderer之前,這次我們繼續,開始了解Unity封裝的ForwardRenderer是個什么神秘物體。 為了方便,先把上次講到的方法貼在這里: 我們從line 14開始學習: 我們可以看到Renderer ...