初心者が1週間でUnityシェーダーを学んでみた


はじめに

シェーダーについて何もわからない初心者が1週間勉強して,
わかったこと・勉強法などをまとめました.

※シェーダーについての説明はしません.

やったこと

基本的に「Unityの教科書」で有名な北村愛実様のブログを読んで,動かしていました.
7日間でマスターするUnityシェーダ入門
http://nn-hokuson.hatenablog.com/entry/2018/02/15/140037

わからないことは適宜Google先生に質問
公式ドキュメントは必読ですが,知りたいことをピンポイントで検索するのには向いていないかも.

ブログの感想

ブログめっちゃわかりやすい!!!!!!!!!!
シェーダーどうやって勉強しようかなと迷っている初心者の方は,本を買う前に絶対やってみた方がいいです.

プロジェクトの設定の仕方からシェーダーのアルゴリズムまで,
誰が読んでもわかるようなやさしい言葉で解説されています.

ただ,読むだけでは身につかないため,ハンズオン形式で動かしてみることが大切です.

シェーダーでは,「何だこの数字」「どっからこの計算出てきた」みたいなことがあるので,
その場合は自分でパラメータをいじってみるのがいいと思います.
Unityではプロパティーをエディタ上で変えられ,結果も簡単に確認できます.

シェーダーを学んでみた感想

む.むずかしい...
というのが正直な感想です.
基本的な書き方は,その他のプログラミング言語と遜色なく理解できるのですが,
いざ「こんなシェーダー作りたい」と思っても計算式がなかなか思いつきません.

また,他の人のコードを読んでも,「どうしてその計算式になったのか」は記されていないので,
理解はできてもゼロから自分で書く力にはなりにくい印象です.

でも,,,
楽しいです!!!
なんたって,Unityでの表現が圧倒的に広がりますからね.
ゼロからシェーダーを書けなくても,公開アセットのシェーダーをちょこっといじるだけでも結構変わります.
あと,勉強する前までは「僕シェーダーはわからないんです」っていう苦手意識がありましたが,
たった1週間勉強するだけで,苦手意識も薄れ,ツイッターで回ってくるシェーダーの凄さも理解できるようになりました.

特に,就活中の学生はシェーダーの話振られてもある程度答えられるようになりますし,
1週間だけでもシェーダーに捧げてもいいのではないでしょうか.

今後の勉強方法

  • パラメーターをいじったり,シェーダーを掛け合わせてみたり,とにかくてきとーにいじってみる
  • Shadertoy(https://www.shadertoy.com) のGLSLをUnityで再現してみる
  • シェーダーグラフの本読みたい

参考になるサイト

Unity ShaderLab ノート (https://qiita.com/nmxi/items/bfd10a3b3f519878e74e)
ShaderLabについてまとめられており,シェーダーを書くとき開いておくと便利です.

YTTMWORK (https://yttm-work.jp/shader/shader_index.html)
レンダリングパイプラインやHLSLの基礎がわかりやすくまとめてあります.

Unityのトゥーンシェーダについて調べてみた (http://tips.hecomi.com/entry/2015/04/25/214050)
Unity付属のトゥーンシェーダーについて解説されています.

The Book of Shaders by Patricio Gonzalez Vivo & Jen Lowe (https://thebookofshaders.com/00/)
多くのシェーダーが載っており,見てるだけでも楽しいです.