Version: 2019.4
ビルトインシェーダーヘルパー機能
Shader variants and keywords

ビルトインのシェーダー変数

Unity’s built-in include files contain global variables for your shaders: things like current object’s transformation matrices, light parameters, current time and so on. You use them in shader programs like any other variable, but if you include the relevant include file, you don’t have to declare them.

For more information on include files, see Built-in include files.

変形

All these matrices are float4x4 type, and are column major.

Name (名前)  
UNITY_MATRIX_MVP 現在のモデル * ビュー * プロジェクション行列
UNITY_MATRIX_MV 現在のモデル * ビュー行列
UNITY_MATRIX_V 現在のビュー行列
UNITY_MATRIX_P 現在のプロジェクション行列
UNITY_MATRIX_VP 現在のビュー * プロジェクション行列
UNITY_MATRIX_T_MV モデル * ビュー行列の変換
UNITY_MATRIX_IT_MV モデル * ビュー行列の逆変換
unity_ObjectToWorld 現在のモデル行列
unity_WorldToObject 現在のワールド行列の逆変換

カメラと画面

These variables will correspond to the Camera that is rendering. For example during shadowmap rendering, they will still refer to the Camera component values, and not the “virtual camera” that is used for the shadowmap projection.

Name (名前) タイプ  
_WorldSpaceCameraPos float3 カメラのワールド空間位置
_ProjectionParams float4 x は 1.0 または –1.0、反転した射影行列で現在レンダリングしている場合は負の値。y はカメラのニアクリップ面、zはカメラのファークリップ面、wは 1/ファークリップ面 です。
_ScreenParams float4 x はカメラのターゲットテクスチャの幅(単位:ピクセル)、y はカメラのターゲットテクスチャの高さ(単位:ピクセル)、 z は 1.0 + 1.0/幅、 w は 1.0 + 1.0/高さです。
_ZBufferParams float4 Z バッファ値をリニア化するために使用します。 x は (1-far/near)、 y は (far/near)、 z は (x/far)、 w は (y/far) です。
unity_OrthoParams float4 x は平行投影カメラの幅、 y は平行投影カメラの高さ、 z は未使用、 w はカメラが平行投影の場合 1.0 で透視投影の場合 0.0 です。
unity_CameraProjection float4x4 カメラの射影行列です。
unity_CameraInvProjection float4x4 カメラの射影行列の逆です。
unity_CameraWorldClipPlanes[6] float4 カメラ錘台面のワールド空間上の方程式です。左、右、下、near、far の順番です。

Time

Time is measured in seconds, and is scaled by the Time multiplier in your Project’s Time settings. There is no built-in variable that provides access to unscaled time.

Name (名前) タイプ  
_Time float4 ステージのロードからの時間 (t/20, t, t*2, t*3)。シェーダー内でアニメーション化を行うために使用します。
_SinTime float4 時間の正弦: (t/8, t/4, t/2, t)
_CosTime float4 時間の余弦: (t/8, t/4, t/2, t)
unity _DeltaTime float4 デルタ時間: (dt, 1/dt, smoothDt, 1/smoothDt)

ライティング

ライトのパラメーターは、使用される レンダリング パス と シェーダー内で使用される LightMode Pass タグ によって、異なる方法でシェーダーに渡されます。

Forward Rendering (パスタイプ ForwardBaseForwardAdd )

Name (名前) タイプ  
_LightColor0 (declared in UnityLightingCommon.cginc) fixed4 ライトの色
_WorldSpaceLightPos0 float4 ディレクショナルライト: (ワールド空間方向のxyz, 0)、他のライト: (ワールド空間位置のxyz, 1)
unity_WorldToLight (declared in AutoLight.cginc) float4x4 ワールドとライトの配列。クッキーと減衰テクスチャをサンプリングするのに使用されます。
unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0 float4 (ForwardBase パスのみ) 重要でない最初の 4つのポイントライトのワールド空間位置。
unity_4LightAtten0 float4 (ForwardBase パスのみ) 重要でない最初の 4つのポイントライトの Attenuation ファクター。
unity_LightColor half4[4] (ForwardBase パスのみ) 重要でない最初の 4つのポイントライトの色
unity_WorldToShadow float4x4[4] ワールドとシャドウの行列。スポットライトには 1 つの行列、ディレクショナルライトのカスケードには最高 4 つの行列。

ライティングパス シェーダー内で使用される、 Deferred シェーディングと Deferred ライティング(すべて UnityDeferredLibrary.cginc) 内で宣言される)

Name (名前) タイプ  
_LightColor float4 ライトの色
unity_WorldToLight float4x4 ワールドとライトの配列。クッキーと減衰テクスチャをサンプリングするのに使用されます。
unity_WorldToShadow float4x4[4] ワールドとシャドウの行列。スポットライトには 1 つの行列、ディレクショナルライトのカスケードには最高 4 つの行列。

球面調和関数の相互作用 (アンビエントライトとライトプローブにより使用される) は、ForwardBasePrePassFinalDeferred いずれかのタイプのパス向けに設定されます。 それらは 3次元の球面調和関数を含み、ワールド空間の法線ベクトルによって評価されます (UnityCG.cgincShadeSH9 を参照)。 変数はすべて、half4 型で、unity_SHAr や似た名前を持っています。

Vertex Lit レンダリングパス詳細 (Vertex パスタイプ)

1つの Vertex パスタイプに、8 ライトまで設定できます。常に、最も明るいものから順番になっています。 そのため、2つのライトから同時に影響を受けるオブジェクトをレンダリングする場合は、配列の最初の 2つを取得します。 オブジェクトに影響するライトが 8つより少ない場合は、残りのライトの色を黒に設定します。

Name (名前) タイプ  
unity_LightColor half4[8] ライトの色
unity_LightPosition float4[8] ビュー空間ライト位置。ディレクショナルライトは (-direction,0)、ポイント/スポットライト は (position,1)
unity_LightAtten half4[8] ライトの減衰ファクター。x は cos(spotAngle/2)、または、スポットライト以外は –1。y は 1/cos(spotAngle/4)、または、スポットライト以外は 1。z は 2次減衰。w はライト範囲の平方。
unity_SpotDirection float4[8] ビュー空間スポットライト位置。スポットライト以外は、(0,0,1,0)

Lightmaps

Name (名前) タイプ  
unity_Lightmap Texture2D Contains lightmap information.
unity_LightmapST float4[8] Scales and translates the UV information to the correct range to sample the lightmap texture.

フォグとアンビエント

Name (名前) タイプ  
unity_AmbientSky fixed4 グラデーションのアンビエントライトの場合のスカイアンビエントライトのカラー
unity_AmbientSky fixed4 グラデーションのアンビエントライトの場合の赤道のアンビエントライトのカラー
unity_AmbientGround fixed4 グラデーションのアンビエントライトの場合の地面のアンビエントライトのカラー
UNITY_LIGHTMODEL_AMBIENT fixed4 アンビエントライトのカラー (グラデーションのアンビエントライトの場合のスカイカラー)。古い変数。
unity_FogColor fixed4 フォグカラー
unity_FogParams float4 フォグ計算のためのパラメーター: (density / sqrt(ln(2)), density / ln(2), –1/(end-start), end/(end-start))。x は Exp2 fog モード用、y は Exp モード用、zw は Linear モード用。

その他

Name (名前) タイプ  
unity_LODFade float4 LOD グループ を使用する場合の LOD フェード。x は fade (0..1)、y は16 レベルに数値化された fade、zw は不使用。
_TextureSampleAdd float4 UI 専用に Unity によって自動的に設定されます。使用するテククチャが Alpha8 型 (値は (1,1,1,0) に設定) か、そうでないか (値は (0,0,0,0) に設定) に基づきます。
ビルトインシェーダーヘルパー機能
Shader variants and keywords