シェーダーでオブジェクトの色を変える
(1)色を変更するオブジェクトを作成、設置する。
(2)プロジェクトビューで右クリック→「Create」→「Shader」→「Standard Surface Shader」でシェーダファイルを作る。
(3)作成したsampleシェーダを選択した状態で「Create」→「Material」マテリアルを作成する。
(4)作成したマテリアルを(1)で作った3Dモデルにアタッチする
(5)インスペクタからマテリアルのシェーダをCustom/sampleに変更する。
シェーダーの工程について。
シェーダーには3つの工程が存在する。
下記の画像の通りであるが、今回使うのはオブジェクトの色を決めるSurfシェーダーを使用する。
残りの二つはトゥーンシェーダや頂点カラーシェーダーを作る際に使用される。
シェーダの中身について
・Parameters インスペクタに公開する変数を記載する(C#のPublic的なやつ)
・ShaderSettings シェーダの設定項目(透明度など)を記載する
・SurfaceShader シェーダ本体のプログラムを記載(ここで目的のシェーダを作る)
この3つである。
色の変更処理
SurfaceShaderのSurf関数のo.Albedoの処理を
o.Albedo = c.rgb
↓
o.Albedo = Fixed4(0.1f,0.1f,0.1f,1)
に変更する。
するとこんな感じになる
シェーダの工程確認の画像にあったライティング処理のおかげで真っ黒ではなく立体感が出るらしい。
以上。
コメント
コメントにはログインが必要です