原文:基於URP的ScreenSpaceDecal的實現(其實和URP沒啥關系)

之前一位小伙伴問過我URP沒有Projector,要實現decal功能,我后來確實注意到這一點,URP下的Projector有相關的插件實現,各位可自行百度,這里說Decal的另一種實現思路,屏幕空間Decal。 屏幕空間的decal思路就是在屏幕空間采樣深度圖,然后通過屏幕空間坐標和深度值重建世界坐標,再轉換到decal的local坐標,算出uv即可。 先上代碼和效果圖: 直接使用此代碼需要將渲 ...

2020-09-10 20:02 1 1042 推薦指數:

查看詳情

Unity快速實現平行光體積光(URP

體積光的光源可以是平行光、探照燈、點光源等,我們今天先來看看平行光如何制作體積光。 體積光的原理網上已經有很多了,這里就不贅述了。着重快速實現: 代碼如上,可以看到體積光的基礎實現非常簡單,在片元着色器步進采樣shadowmap,看當前步進的位置是否處於陰影區域,如果不處於陰影 ...

Fri Dec 25 02:35:00 CST 2020 0 1960
URP學習之二--初識URP

上一節我們知道了SRP的作用和基本用法,現在來看一下我們的主角--URP是個怎樣的管線把! Unity2019.3及之后的版本才能看到URP這個package,前身是LWRP,可以創建默認管線項目然后手動導入,或者直接創建URP項目。導入之后我們開始分析URP的代碼: 回到我們最開始學習SRP ...

Tue Mar 17 02:45:00 CST 2020 0 3269
URP下快速實現高度霧

高度霧的實現思路非常簡單,通過深度圖還原出來的世界坐標的y值來做fog的lerp參數。 代碼使用之前的體積光代碼的基礎上做了個加法,方便快速使用。 代碼如下: 使用方法還是像之前一樣在攝像機前面放一個片,快速的查看效果。 效果如下: 我們能看到天空已經曝 ...

Tue Mar 09 03:38:00 CST 2021 0 694
URP學習之六--URP下的PBR

上節我們學習了LitShader大致是怎樣的起作用的,留下了PBR相關的疑問,這節我們來解答一下URP下的PBR究竟做了什么優化。 要知道做了什么優化,就必須知道原來的PBR是什么樣子。 Unity原來的Standard是這樣寫的: 我們直接看最后color的計算 ...

Mon Mar 23 23:07:00 CST 2020 0 2416
URP學習之七--RenderFeature

Unity的URP給了我們擴展渲染Pass的接口--RenderFeature,我們之前在講URP-ForwardRenderer的時候提到過RenderFeature,這個東西是可以用來擴展Pass的。RenderFeature是依附於ForwardRenderer的,如下圖所示 ...

Tue Mar 24 20:02:00 CST 2020 5 5311
URP學習之八--Postprocess

關於URP的Postprocess我們需要有個了解,以前在內置管線,對於后處理我們一般自己寫或者用PostprocessStack,現在URP已經將postprocess集成到URP中,我們一起來學習下吧~ 首先需要創建一個Volume,然后創建VolumeProfile,點擊 ...

Wed Mar 25 00:28:00 CST 2020 0 2350
URP學習之一--SRP

學習URP之前首先要知道SRP是什么。 SRP(Scriptable Render Pipeline)是Unity向開發者提供的用來組織渲染數據和自定義提交渲染方案的接口,用戶可以靈活的根據需求選擇自己的渲染信息組織和提交方案。 而URP就是Unity官方在SRP的基礎上實現好的一套方案 ...

Fri Mar 13 19:21:00 CST 2020 0 3209
URP學習之三--ForwardRenderer

上一章講到了URP的RenderSingleCamera函數的Renderer之前,這次我們繼續,開始了解Unity封裝的ForwardRenderer是個什么神秘物體。 為了方便,先把上次講到的方法貼在這里: 我們從line 14開始學習: 我們可以看到Renderer ...

Wed Mar 18 22:38:00 CST 2020 0 3482
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM