【Unity】シェーダーの勉強を開始!
おはようございます。おーみんです。
今日はUnityのシェーダスクリプトを勉強しました。
— 超おーみん2@Unity民族 (@Ooooooomin_365) 2019年3月29日
マテリアル自身から発光する構文、輝きを出す構文、透過させるスクリプトに法線情報を取得して凹凸を出す関数などなど。
それにしてもシェーダスクリプトは今までと全然違っていて楽しいです。また色々やってみよう。#unity #shader #unity3d pic.twitter.com/efqu3es8cq
今日もシェーダの勉強。
— 超おーみん2@Unity民族 (@Ooooooomin_365) 2019年3月30日
左から、
・物体の隅にいくほど透明度を下げるマテリアル
・鏡面反射
・物体の一部の色を変える
・隅にいくほど影を出していくマテリアル
・輪切り模様のマテリアル#unity #shader pic.twitter.com/6eX0O3jxNv
ゲーム作成、物理演算、機械学習とUnityを始めてから色々な分野を学習してきましたが、今回からはシェーダースクリプトの勉強を始めてみます。
シェーダーとは?
シェーダーとは、僕らが普段使っているオブジェクト(上のツイートで用いているような3Dオブジェクト)のデザイン的なものです。
どのように光を当てるか、影などはどう映すか、波のような動きを作るにはどうするか、等々のプログラミングを書いていくんですね。
シェーダーに手を出す人は少ない
これは基本的に数学の知識が必要だったり、プログラムも今までUnityで用いていたC#やJavaScriptとは全く違うものなので手を出す人は少ないです。
実際に僕も触ってみましたが、まず参考書がないし(海外の本ならある)、解説サイトもそれほど多くありません。
・・・
・・・
だからこそやるのです!(笑)
・・・
・・・
まあ意気込みは置いといて、参考になるサイトは少ないながらも良いサイトはありましたのでここで紹介しておきます。
参考記事は以下。
— 超おーみん2@Unity民族 (@Ooooooomin_365) 2019年3月29日
丁寧な説明で凄く分かりやすいですな。ここが完了したらオリジナルでまた何かスクリプト書いてみようかと思います。https://t.co/E5WWWIkTJb
上記の記事では全9回(今後まだ増えていくらしい)に分けてシェーダーについて学習していきます。
スクリプトの構文を丁寧に一つ一つ解説してくださっていたり、実際に様々な構文を書いたりしていきますので自然と進めているうちにシェーダーが分かるようになるでしょう。
9回分終わった後はこちらのサイトをオススメします。
こちらの記事はさらにシェーダーのサンプル数が多く、しかも先程紹介した記事よりも堅い表現が少ないのでトレーニングには最適だと思います。
一つ目に紹介した記事はあくまでも細かな部分まで解説しているため最初に見るのがオススメですが、堅い表現も多いために挫折してしまう方も多いと思います。その際はこちらの記事からチャレンジしてみましょう!(でも一応は一つ目の記事からチャレンジすることをオススメしておきます)。
今後はシェーダーの記事も書いていく
ということで、まだ勉強を始めたばかりではありますが、今後はシェーダー関連の記事も書いていけたらと思います。