シェーダー
オブジェクトをどう描画するかを GPU 上で決めるプログラムのこと。
GPU に「このピクセルは何色にする」「光が当たったらこう見せる」と命令するスクリプトだと思えばok
ざっくりイメージ
3Dモデルそのものは「形」だけで、色や質感は決まっていない。
シェーダーは、そのモデルが画面に映るときの「色・陰影・反射・透け具合・輪郭線」などを計算する処理を書いたプログラム。
その結果として、「リアル調」「アニメ調トゥーン」「金属っぽい」「ガラス」「水面」「発光」などの見た目を作れる。
マテリアルとの関係
シェーダー=「描画方法そのもの(コード)」。どんな計算をするかを決める。
マテリアル=「そのシェーダーに渡す設定値のセット」。テクスチャ、色、光沢、ラフネス、影の濃さなどのパラメータの入れ物。
マテリアルの Shader プルダウンで「Standard」「UTS2」「liltoon」などを選んでいるのが、まさに使うシェーダーの切り替え。
どんな処理をしているか(超ざっくり)
頂点シェーダー:3D 空間の頂点を、画面上の 2D 座標に変換したり、頂点ごとの情報を加工したりする部分。
フラグメント(ピクセル)シェーダー:最終的に「このピクセルはこの色にする」と決める部分で、ライト・影・テクスチャ・法線などを使って色を計算する。
​
UTS2 やliltoon みたいな「○○シェーダー」は、Unity のシェーダープログラム+それを扱いやすくするための仕組み一式のこと。
アバターの「肌がこう見える」「髪がこう光る」「アウトラインが出る・出ない」といった見た目差は、ほとんどシェーダーとマテリアル設定の違いから来ている。
​