中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現unity級聯陰影的過渡

發布時間:2021-11-15 17:06:51 來源:億速云 閱讀:245 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何實現unity級聯陰影的過渡,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

需求

場景的shadowmap 精度勉強滿足場景物件的需求,但對于近距離角色的小掛件投影 衣服厚度 領子等投影精度是不足的。雖然獨占的shadowmap可以實現,但為了不增加開銷我嘗試了用級聯陰影的最近1級做角色陰影。這樣操作很簡單不值得寫這篇內容,但這樣做需要解決2個級聯接縫問題。先上2張效果圖(其實第二張圖是我 獨立shadowmap實現的 為了做背景圖 就帶上他了)

如何實現unity級聯陰影的過渡  

 
注意手臂 和腰部衣服陰影  



 
如何實現unity級聯陰影的過渡  

 
槍械零件陰影  



 

模糊接縫問題

不同級聯貼圖精度不同 所以出現模糊到清晰的接縫是正常的,unity shader有實現過渡但是注釋寫著球形級聯會計算錯誤不建議開啟(unity有非球形的級聯?)。而且我想到一種不需要采樣2張級聯shadwomap的高性能過渡方法 所以就自己實現了。

我想的辦法是給遠處級聯陰影做個過渡銳化,不多采樣的銳化。原理很簡單就是讓黑色更黑 白色更白,于是我打開曲線工具 湊了個函數.(綠色這條就是了 黃色是我順便推的他的反函數)。

如何實現unity級聯陰影的過渡

在Internal-ScreenSpaceShadows.shader 文件中 加入這函數 并做個過渡調用 ,然后就有效果了 gif 精度不足 要很仔細看,實際游戲跑起來比較明顯 所以需要解決。

如何實現unity級聯陰影的過渡
如何實現unity級聯陰影的過渡

如何實現unity級聯陰影的過渡

亮度接縫問題

shadowmap 老問題 用 bias和normalBias 這種老配方解決了很多年,但是 出現級聯陰影后就有問題了 他沒有支持不同級聯的單獨設置。這樣就會出現近處的bias剛好,但下一級的就太小導致 Shadow acne .所以更黑 因為明度不同 那么自然會出現接縫了,知道了原理修改也簡單。讓不同距離 設置不同bias就好了。我這里偷懶直接加個偏移,根據級聯距離加不同的量。正式制作建議傳一份其他3個級聯的bias,在 vertShadowCaster函數內修改,注意當前相機不是場景主相機 所以需要自己傳主相機位置做距離判斷。而且inspector面板的bias 和shader內不是一個數值而且符號相反。

如何實現unity級聯陰影的過渡

解決了以上2個過渡問題 級聯陰影可以最近5米單獨一個shadowmap了 精度夠一般角色需求。要更高需求的陰影比如 微微凸起的部分也有陰影,建議用接觸陰影或 無限法則那樣把角色裝備各凸起部分直接做突出些這樣 不會因為精度斷開太多陰影,也可以嘗試用shadowOnly 模式的 renderer擋片 來擋一擋避免斷開。

看完上述內容,你們對如何實現unity級聯陰影的過渡有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巫山县| 东明县| 沙雅县| 双流县| 连山| 灵武市| 神木县| 文昌市| 太仓市| 闻喜县| 灵台县| 诏安县| 水富县| 通化县| 伊通| 绍兴县| 马山县| 承德县| 张家界市| 综艺| 荃湾区| 赤峰市| 蚌埠市| 黄龙县| 噶尔县| 乌鲁木齐县| 清水县| 略阳县| 梁平县| 蕲春县| 友谊县| 鄂伦春自治旗| 邓州市| 高碑店市| 乌什县| 青河县| 江北区| 邛崃市| 新巴尔虎右旗| 城步| 凤阳县|