Unity シェーダープログラムを始めて分かったこと


はじめに

2018/10/19から2018/10/26までの1週間、Unityのシェーダープログラムを始めました。この期間中に分かったことをまとめます。

1.何から始めたらいいのか分からない

ここは、ツイッターでtakaokaさんが発言していたツイートを思い出し、Boothで販売中の書籍「Unity Shader Programming Vol.01 」を購入して読みました。簡潔で小さな内容を順序だてて解説してくれます。
https://twitter.com/takaoka_hide/status/1027332007108341765

2.Unityシェーダープログラムには、プログラムできる部分が沢山ある

SurfaceシェーダーとVertexシェーダーとFragmentシェーダーと固定関数シェーダーがある。
https://docs.unity3d.com/ja/current/Manual/ShadersOverview.html

3.順序だてて学習することが難しい

知っておいたほうがいい知識、理解しておかないといけないことが沢山。
レンダリング回り?、DirectX?、構造体?、プログラムの基礎?
分からないを調べると、その先に分からないがあり、分からないが次から次へと増える。
知りたかったことはいったい何だったのか分からなくなりそうになる。。(諦めないでマイペースに!ちゃんと進んでるよ★)
唯一分かるのは、分からないことがドンドン分かっていく…

上記を踏まえて

Unityのシェーダープログラムを学習するのに良いと思う流れを下記にまとめます。(私も現在進行形で勉強中ですので参考までにお願いします。)

1.Boothで販売中の書籍「Unity Shader Programming Vol.01 」を2周読む

2周目は、他のサイトを回り苦しんだ後にもう1度戻って読み直す。

2.自分の表現したいシェーダーのサンプルをネットで探してざっと見る

3.分からないことをメモする

この時に、重要なことがSurfaceシェーダーとフラグメントシェーダーのプログラムには構文に違いがある事を知ることです。
構文の違いで必要なルールが沢山あります。
下記のqiitaにとても分かりやすくまとめられていました。
r-ngtm様、本当にありがとうございます。
https://qiita.com/r-ngtm/items/05eb20e230f3ebe2b19f

4.コツコツマイペースで学習する

挫折しないように、マイペースに。

1週間の学習でのオススメしたいと思ったサイトと書籍を紹介

繰り返し紹介する部分もありますがご了承ください。加えて、独断と偏見で選んでいますので参考までにお願いします。

公式Unity シェーダーを書く

Booth書籍:Unity Shader Programming Vol.01  著者:XJINE's

【Unity】Surfaceシェーダーとフラグメントシェーダーの違いを軽くまとめてみた

Unityのシェーダーセマンティクスまとめ

書籍:プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた

おわりに

最後まで読んでくださりありがとうございます。
引き続き、シェーダープログラム学習していきます。
学習を続け、分かったことが増えましたら更新していきます。