シェーダーグラフ初修「Near The Sun」制作記#5
15期のドッグウッドと申します。
制作記第5回、今回はシェーダーグラフの勉強について、初期にやったことをまとめます。
僕自身、完全にシェーダーグラフを理解しているわけではないのですが……これからシェーダーグラフについて勉強を始めたいと思っている人には役立つのではないでしょうか。
まず、シェーダーグラフとはUnityの機能の一つで、シェーダーをノードで作成することができます。

シェーダーはゲームの物体がどのように描画されるかを決める計算方式です。
例えば、あるテクスチャの不透明度をn倍して描画する!みたいな感じですね。
通常、シェーダーを書くにはhlslなどの言語を学ぶ必要があります。
しかし、シェーダーグラフを使えばコードが書けなくてもシェーダーを作ることができます!
僕はプログラマーなので、コードが書けないわけではないのです。しかし、シェーダーのコードは書くための「約束事」が多いので、たまにしかシェーダーを書かない僕は毎回書き方を一から調べることになります。その手間を短縮してくれるシェーダーグラフは本当にありがたいです。
シェーダーを作ることができると、いろいろなエフェクトや光に対するシーンの構成が簡単にできるようになります!
さて、前置きが長くなりました。シェーダーグラフを学ぶためにやったこと、まず最初は「発光するオブジェクト」の作り方を調べたことでした。
これは調べればいくらでも記事が出てきます。
シェーダーグラフは「技術を向上させる」、というよりは「何ができて、何ができないかを知る」というタイプの勉強です。高速化とかを考え始めるとまた変わってくるのでしょうが……。
なのでおすすめなのは、とりあえず使えそうなシェーダーを5個ほど作ってみることです。
おすすめは
・ディゾルブ UIや消滅表現に汎用的に使えて、ノードの構成が簡単
・アウトライン UVの概念を学ぶのに適している
・汎用シェーダー エミッションマップ、加算、乗算、透明度について自由に値を設定できるシェーダーです。めちゃくちゃ便利。
・炎 外部に露出させる設定項目の割り切り方が学べます。
・ぼかし シェーダーグラフが苦手な「隣り合ったピクセルの値の取得」ができるようになります。

シェーダーグラフを学ぶと思った通りのエフェクトが出せるようになるのが一番大きいです。シェーダーグラフについて、いつくかシェーダーを作成した後次の本でエフェクトとシェーダーについて学びました。
Unity ゲームエフェクトマスターガイド
少し前のバージョンでの解説ですが、問題なく学習することができます。
また、次のサイトも参考になります。
https://zenn.dev/r_ngtm/books/shadergraph-cookbook
ありがたいですね。
あとは、UnityJapan公式が出している次の動画がとてもわかりやすいです。
https://www.youtube.com/watch?v=3TXHMS8xFJ0
このあたりを一通り終わらせたらシェーダーグラフ中級者なんじゃないでしょうか。売られているシェーダーの本を見て、「この本に載ってるエフェクト、全部作れるな……」とほくそ笑むことができるようになります。
ぜひシェーダーグラフを勉強してエフェクトもりもりなゲームを作りましょう!

次回は残り体力ゲージについて話そうと思います。
ではこの辺で。