【Unity】Shader Graphを使った自作シェーダの解説をします!(両面テクスチャ、UVタイリング/オフセット編)

こんにちは!新入社員のタケです!

今日は自作シェーダの一番メインの部分、裏表で別々のテクスチャを貼るという設定を解説したいと思います!
この部分ですね!


今回実装したい機能は以下の通りです。
・テクスチャを貼ることができる。
・テクスチャに色を載せることができる。
・裏面テクスチャの使用の可否が選べる。
・裏面を表面と別のテクスチャを貼ることができる。
・裏面もテクスチャに色を載せることができる。


まずはいつも通りにテクスチャを貼るためのノードを使います。
表用(Base Map)と裏用(Back Map)の二つのテクスチャ変数を用意します。ここのもう説明は不要ですね!


次に色を載せるためにMultiplyで色の変数とテクスチャを重ね合わせます。
ここもEmissionでやった設定とほぼ同じです。
裏面と表面用に二つずつ変数を作りましょう。


次に裏面はオンオフを切り替えられるようにしたいのでこれもEmissionのオンオフのようにします。
BranchのPredicateにチェックボックスの変数を付けて、MultiplyからTrueのところにつないであげましょう。


最後のココの部分が一番大事です!
全ての処理が終わった部分にBranchを用意します。
今までと違う部分…それはPredicateには見慣れない条件が繋がっていることですね。
Is Front Faceノードです。
これはBranchノードに対して表面ですか?という質問を投げかけてくれます。


つまりこれが条件になっているとTrueに繋がっているノードは表面を表示するのに使われて、Falseに繋がっているノードは裏面を表示するのに使われます。


これによって裏面と表面に別のテクスチャを貼ることができるわけですね…!

あと最後に一番左側にあったこのノードの解説です。
これはテクスチャをリピートさせたりずらしたりするための設定です!


このノードがテクスチャが割り当てられるところ全部につながっているのにも理由があります。
多くの場合、複数のマップに同じテクスチャが割り当てられたり専用のテクスチャが割り当てられたりするので全てを一緒にずらしてあげないと使い勝手が悪くなるからです。



これで自作シェーダの解説が終わりました!
いやー意外とStandardシェーダを再現してみるだけでも骨が折れますね…
シェーダーを作る人は本当にすごいなあ…

今日の成果物!

闇の柱のエフェクト
制作時間:4時間


バリアのシェーダ
制作時間:1時間30分


本格的にエフェクトとシェーダの作成に取り掛かっています!
まだまだ自分で考えてシェーダを組むという作業が難しく感じるので場数をこなさなければなりませんね…!
明日は今日作ったバリアのシェーダの解説をしてみたいと思います!

--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント