Unity 版本:2021.3.14(LTS)
URP版本:12.1.8
Shader Graph:12.1.8
如果上網查URP的Shader Graph雙面材質的設定通常會看到一個 [ Two Side ] 的選項可勾選
但在 2021.3的 URP中沒有這個選項
連預設的URP材質球都沒有 [Double-sided] 選項可以勾
在2021.3的版本中 只要進入Shader Graph中修改2個地方即可達成雙面貼圖的效果
本次示範場景中有 Cube 和 plan 的模型
1. Render Face [Front] 改成 [Both]
渲染的面 改成[雙面]
但此時儲存會發現模型有奇怪的破圖
2. Depth Write [Auto] 改成 [Force Enabled]
這樣就可以解決雙面貼圖的部分了
設定如圖
有個雙面材質後,出現第二個問題[影子穿幫]
目前查到資料 Unity URP應該是還沒支援半透明影子的部分
或許用其他方法可以迂迴達成,但以面板上的選項是沒辦法做到的,或是有知道可以簡單達成的人請幫忙底下留言告訴大家,感恩。
處理方法也很簡單
1. Surface Tyep 改成 Transparent
2. 勾選 Alpha Clipping
結果就會如圖所示
如果今天是使用 無半透的透明貼圖 影子的渲染就是正常的
URP 預設材質球設定
上面提到的都是ShaderGraph的部分,有時候只需要使用[預設材質球] 其實也可以做到雙面材質的效果,只是效果上會有點問題
設定如下:
Surface Type > Transparent
Render Face > Both
結果與比較
一共有兩個大差異
1. 地面沒有影子
2. 明顯穿模(穿透)/前後渲染不正確
如果是小東西或飄揚的旗子反而還好
但遇到的是人物 用預設材質球Render Face 改 Both 就會整個大悲劇(如下圖)
Comments