Shaderのみレンダリングするようにします。アンビエントや球面調和関数ライトを適用しません。レンダリングで、球面調和関数または頂点ごとのライトを適用しません。このシェーダでライトマップのサポートを無効にします(シェーダをより小さくします)。このシェーダでディレクショナルライトマップを向こうにします(シェーダをより小さくします)。Forwardレンダリング追加パスを無効にします。シェーダもより小さくなります。標準化されたビュー方向をピクセルごとではなく、頂点ごとに計算します。これを必要としているシェーダに行われます。これは、より速いですが、カメラが表面に近づくと、ビュー方向は全体的に正しくありません。半分方向のベクトルを、ビュー方向ではなくmライティング関数に渡します。半距離は頂点ごとに計算および標準化されます。これはより高速ですが、全体的に正しくりません。GPUテッセレーションを使います。Tessellationをご覧ください。alphaもし半透明なシェーダを作りたいのなら、以上の様に宣言する。_MainTex;Propertiesで宣言したテクスチャや値を使用する場合、Propertiesで宣言した名前と同じ名前でSubShaderの中で宣言しなければならない。関数の引数となるInput構造体を宣言している。構造体でテクスチャ座標を代入する変数を宣言しなければならない。テクスチャ座標を代入する変数の名前をPropertiesで宣言したテクスチャの名前の前にuvをつけたものとすることで、自動的にテクスチャ座標が代入される。テクスチャ座標セットを使用するには、uv2で始める)。以下のものをInput構造体の中で宣言することで、surface関数で使用できます。ライティングなどの計算に使用されます。補間された頂点ごとの色を含みます。反射効果の画面空間位置を含みます。シェーダによって使用されます。世界空間の位置を含みます。書き込まない場合の世界反射ベクトルを含みます。書き込まない場合の世界法線ベクトルを含みます。書き込む場合の世界反射ベクトルを含みます。o.Normal)を使用します。書き込む場合の世界反射ベクトルを含みます。o.Normal)を使用します。};もしシェーダーでワールド座標とテクスチャ座標を使うならば、以上の様にInput構造体を宣言する。代入することにより、シェーダの処理を行う。透過度};SurfaceOutputは上のような構造をしている。カラーを変数cに代入している。17、18行目でテクスチャの色とアルファ値を代入している。Shaderがハードウェアの影響で割り当てられなかった場合に、組み込みシェーダの一つであるdiffuseシェーダーを呼び出すための一文。FallBack詳細テッセレーションテッセレーションについては省略。シェーダでは表現できないエフェクトである場合、頂点およびフラグメントシェーダは必要となる。頂点処理、ピクセル処理を記述するシェーダーである。基本的な構造は以下である。}}上のシェーダは赤くするだけのshaderです。vertこれサーフェスシェーダの時と同様に、これから頂点シェーダ関数を記述しますということを表す。この例ではvertが関数名。fragこれからフラグメントシェーダを記述することを表している。基本的に頂点シェーダ関数とフラグメントシェーダ関数で、頂点/フラグメントシェーダはできている。これ以外のほかの関数も記述できる。このシェーダを実行するターゲットも指定できる。}頂点ごとに実行される頂点シェーダ関数である。頂点シェーダ関数では戻り値に頂点座標となるfloat4型の値もしくは、これを含む構造体を指定しなければならない。戻り値はSV_POSITIONもしくはPOSITIONはセマンティックを指定しなければならない。SV_POSITIONと書くことで、戻り値をSV_POSITIONセマンティクスにバインドしている。UNITY_MATRIX_MVPはモデル変換、ビュー変換、投影変換をかけ算した行列でそれに、頂点座標vをかけることで、カメラ座標系での頂点位置を計算している。引数には以下のもの、もしくは値を指定できます。複数指定する場合は構造体にするとよい。モデルのローカル頂点座標。接線ベクトル(法線マッピングに使用されます)。頂点ごとの色セマンティクスはCOLOR戻り値には以下のもの、もしくは値を指定できる。この戻り値で指定したものをフラグメントシェーダ関数の引数として渡せる。