【Unity】Shader Graphでプログラミングをやらずにシェーダー作ってみた!

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

今日はUnity2019からの新機能、シェーダをノードで作ることができるShader Graph(シェーダーグラフ)を触ってみたいと思います!
グラビィくんの久しぶりの登場です~


Universal Render PipelineというUnityの新しいレンダー方法を適用したプロジェクトを使用していきます。
なんだかいつも見てる画面よりきれいな感じがします…!(Unreal Engine 4みたい?)


シェーダを作る時は普通プログラミングのコードを書かないといけないのですがこれを使うと一文字もコードを書かずに仕上がりを見ながら比較的簡単に作ることができます。
私もちょびっとしか触ったことないのでいろいろやってみたいです!

今回は基礎中の基礎ということでテクスチャを貼ることができるマテリアルをつくってみましょう!
ほんっとうに基礎中の基礎なのですが、これだけでもお勉強になりましたね~

環境構築はごめんなさい、省かせていただきます!
Shader GraphというパッケージをUnityに導入しておいてください!
それでは作っていきますー!

まずはシェーダファイルを作りましょう。
普通のシェーダファイルだとプログラムしないといけなくなってしまうので、右クリックしてCreate→Shaderの中のPBRGraphというものを選択してください。


名前を付けたら初めてのシェーダができました!
testShaderという名前にしました。


とりあえず何も設定してないtestシェーダをマテリアルに設定して、グラビィくんに付けてみましょう!
すると…石像みたいになっちゃいました!


何も入ってない空っぽのシェーダってこのような表示になるんですね~
テクスチャくらいは表示させてあげたいのでテクスチャが適用できるシェーダを作っていきます!

シェーダを設定するときは先ほど作ったtestShaderをダブルクリックします。
するとこのような画面が開きます。これはノードエディタと呼ばれる画面です。


まずは適当な場所を右クリックしてテクスチャを設定するためにノードを出してみましょう!
Input→Texture→Sample Texture 2Dを選択します。
Sample Texture 2Dノードができました。



これはそのまま2Dテクスチャを設定するノードです。
左上の赤丸の左にはいつも通りに画像が入れられるのでそこで指定するとグラビィくんのテクスチャが表示されました!


次はこのノードをはじめに置いてあったPBRノードにつないであげます。
RGBA(4)の右の○をドラッグしてPBR MasterのAlbedo(3)につないであげましょう!


ここまでできたら左上のSave Assetを押します。
これを押さないと設定が反映されないので注意しましょう…


シーンを見てみるとちゃんとテクスチャが表示されています!やったー!
完成だー!


ではなくて、よくよくマテリアル設定を見てみるとテクスチャ画像が選べなくなっています。


実はシェーダ上でテクスチャを設定しているとそのテクスチャしか使えないのです!
このままではグラビィくん専用シェーダーになってしまいます。

これを直すにはまたノードエディタに戻って今度はTexture 2D Assetというノードを用意します。
テクスチャを設定するノードなのですが…



これを右クリックしてConvert to Propertyボタンを押すと、このように小さくまとまりました。
画像は表示されていませんがこのままSaveしてシーンに戻ると…



Selectボタンが押せるようになっています!
これで自由にテクスチャが選択できるシェーダーができました!




ううーん当たり前に今まで出来ていることが0から作るとこんなに大変だったとは…シェーダーおそるべし…

今日の成果物

男性ローポリモデルのバリエーション
制作時間:1時間


LODのテスト
制作時間:1時間


Shader Graphについての研究
制作時間:3時間45分



本当にあれこれ学ぶことが多すぎて、あとブログ記事書くのに4回くらい困らないと思います…!
かなり数学の知識使うのですが、なんと大の数学苦手!
何とか…がんばります…
でも新しいことをするのはやっぱりワクワクして大好きです!

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

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

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

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

コメント