はじめに
シェーダーについて何もわからない初心者が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/)
多くのシェーダーが載っており,見てるだけでも楽しいです.