前言
如果有做過MOD或者使用過MOD或許有這種經驗
因為面上面,只能呈現法線方向的著色
所以導致面後面有黑影 (如下圖)↓

而經由修改shader後,雙面著色則解決這問題↓

而不使用雙面著色的解決方法就是實體化(增加厚度)
也就是在一個面當中,變成了有厚度的形狀
同樣可以解決這問題
但是這會發生一些問題
因為你使用增加厚度,如果權重、骨骼沒有匹配好 或者面與面相鄰太近
則會產生下圖問題↓

很明顯的,在大動作下,後面穿透到前面
傳統的解決方法是將裙內變成透明材質
不過還是會碰上一些問題,增加厚度也同時增加頂點

↑而雙面著色就沒有這問題

↑這遊戲個人並不喜歡的地方在於,後髮因為碰撞的關係,又導致後面穿透到前面
所以後髮常常會這樣,如果利用雙面著色以及刪除頭髮內部,就可以解決這問題

↑接下來是實作了
我們打開SB3UGS_v1.2.18
1.開啟resources.assets (路徑 \CM3D2\CM3D2x64_Data)
切到materials分頁 尋找CM3D2/Toony_Lighted的著色器
2.對著他按ctrl+c
3.貼到文字編輯器上
4.在tags下方增加Cull off
(具體函數請參照 http://www.unity.5helpyou.com/2377.html)
5.全選,複製,之後再SB3UGS 上的CM3D2/Toony_Lighted CTRL+V 貼上,在save到unity 3D即可
這樣就完成了雙面著色了,每次更新都要重新加上這行(假設更新會動到resources.assets)
--------------------------------------------------------------------
![]()
↑
而上面的圖與下面的圖是我修改tags裡面的函數,可以看到,原本遊戲預設的是依據環境光來繪製陰影
而下圖我改成利用攝影機來繪製陰影
↓
![]()
![]()
↑而上圖則是材質球與著色器的關係
你可以看到著色器上的properties 上宣告後則在 材質球上使用 =後的括號是預設值
下方的副sharder亦可以修改
不過小弟則是因沒有受過相關訓練,也沒有遊戲引擎的基礎
所以在這裡是半桶水的野人獻曝
也僅僅是邊GOOGLE邊修改
希望大家多多包涵
![]()
而目前我希望做到的是增加法線貼圖
https://docs.unity3d.com/Manual/SL-SurfaceShaderExamples.html
當然我知道沒有增加一行_BumpMap ("Bumpmap", 2D) = "bump" {}
那麼的簡單 所以希望在網路世界有貴人相助!