cm3d吧 关注:25,905贴子:310,987

集思廣益 CM3D2的雙面著色與著色器修改

只看楼主收藏回复

前言
如果有做過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" {}
那麼的簡單 所以希望在網路世界有貴人相助!


IP属地:中国台湾1楼2017-01-03 00:23回复
    不行 這問題太高階了 我只好假裝路過


    IP属地:中国台湾2楼2017-01-03 00:25
    回复
      看不懂
      帮顶好了


      IP属地:河南3楼2017-01-03 00:29
      回复
        入门十天的萌新觉得虽然代码简单和操作很简单,就是看不懂啊


        IP属地:广东来自Android客户端4楼2017-01-03 01:08
        回复
          太长不看系列


          IP属地:上海来自Android客户端5楼2017-01-03 01:10
          回复
            不懂刪除頭髮內部的意思


            IP属地:中国台湾6楼2017-01-03 01:18
            收起回复
              看不懂,不过,顶一个


              IP属地:江苏来自Android客户端7楼2017-01-03 01:25
              回复
                原理是懂得。。就是不懂实施


                IP属地:广东来自Android客户端8楼2017-01-03 01:25
                回复
                  变成mmd的时候,问题都没有了


                  IP属地:福建来自Android客户端9楼2017-01-03 08:11
                  收起回复
                    学习了可以把裙内改成透明材质...


                    来自Android客户端11楼2017-01-03 08:35
                    回复
                      mark


                      IP属地:河北12楼2017-01-03 09:59
                      回复
                        我还不会做双面色,法线贴图好像只是做凹凸感觉,blender自带的吧,不知道能不能用在这游戏


                        IP属地:广东13楼2017-01-03 10:50
                        回复
                          教學是懂了
                          不過個人做MOD還是會比較考慮一般大眾
                          所以就算能這樣用MOD還是會繼續搞實體化吧
                          除非KISS社直接把雙面貼圖功能預設開啟
                          (話說,為啥他們不乾脆直接開起啊...既然都有的話)


                          IP属地:中国台湾14楼2017-01-03 11:03
                          收起回复
                            学习了 接着就是实际 实做了


                            IP属地:中国台湾来自Android客户端15楼2017-01-03 11:35
                            回复
                              太巨了


                              IP属地:江苏来自Android客户端16楼2017-01-03 15:00
                              回复