【Unity】Shader Graphを使った自作シェーダの解説をします!(Metallic/Occlusion/Smoothness編)

どうもー!新入社員のタケです!

今回も昨日紹介したシェーダの解説をしていきたいと思います!
MetallicとSmoothnessとOcclusionの設定になりまーす!


では早速解説していきましょう!

今回実装したい機能は以下の通りです。
・Metallic Map(マスク機能)が設定できる。
・Metallicの強さをスライダーで調節できる。
・Metallic Mapを使いながら強さをスライダーで調節する。(Standardにはない機能)
・Smoothnessの強さをスライダーで調節できる。


まずはテクスチャを選ばせるためにSample Texture 2Dノードを使います。
これは今までと同じでいいのですが…今回はこのまま適用するのではなくてマスクとして使うという点が違います。


メタリックマスクは白色の部分が反射するようになっています。
テクスチャをつかってマスクを行うときはChannel Maskというノードを使います。
これはInに入れたテクスチャ画像をマスク情報に変換してくれるものだと思っていてOKです。


これを前回も使ったMultiplyにつなげてあげます。
Aにはさっき出したChannel Maskを、Bには新しく使うスライダーという変数を使います。


細かく言えばVector1変数のなかのスライダーというジャンル…みたいな感じですね。
その名の通りこれを使うとマテリアル設定時にスライダーが表示されます。
数字で設定するよりもスライダーのほうが便利ですからね!こっちを使いましょう~


初期値と最小値、最大値が設定できます。
今回はMetallic Mapをどんだけ強くするかという掛け算で使うので0~1の間でスライダーを設定できるようにしてあげましょう。
スライダーにすると上限と下限が設定できるのでめちゃくちゃな設定にしてしまう心配がないのでお勧めです。
これをMultiplyのBにつなげたら完成です!
PBRMasterのMetallicにつないでいきましょう~


Smoothnessも先ほどのスライダーと同じ設定の変数をもう一個作ってそのままSmoothnessにつなげてしまえばスライダーで調節できちゃいます!

Occlusion MapもMetallic Mapと全く同じことを別の変数でやれば作ることができます。
これはとってもお手軽でした~!




次は両面に別々のテクスチャを貼る仕組みの紹介をしたいと思います。
結構大きくなっちゃったので説明も大変になると思います。

今日の成果物!

展示会場シーンへの人の配置
制作時間:1時間

Animation Controllerを使ってランダムなアニメーションを再生する
制作時間:2時間


エフェクト作成の研究
制作時間:1時間45分


今度はShader Graphを使ってエフェクトも作り始めました!
もうなんでもかんでも自分で作れるようになりそうでワクワクしてきました…!
思い通りのエフェクトが描けるようにしっかり研究開発したいと思います!

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

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

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

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

コメント