Debugging DirectX 11 shaders with Visual Studio
パーティクルシステム(Shuriken)

ShaderLab 定義済みの値

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Unityはたくさんの定義済みの値をシェーダで用意しています。例えば,現在のオブジェクトの変換行列,時間,等。

他のプロパティと同じようにShaderLabで使用するのみで,唯一の違いはどこかで宣言する必要がなく,すでに“定義済み”です。

Programmable Shaders で使用する場合は UnityCG.cginc file をインクルードする必要があります。.

変換

Name Type Value
UNITY_MATRIX_MVP float4x4 現在のモデル*ビュー*射影行列(model*view*projection)
UNITY_MATRIX_MV float4x4 現在のモデル * ビュー行列。
UNITY_MATRIX_V float4x4 現在のビュー行列。
UNITY_MATRIX_P float4x4 現在の投影行列
UNITY_MATRIX_VP float4x4 現在のビュー行列*射影行列
UNITY_MATRIX_T_MV float4x4 モデル * ビュー行列の転置行列
UNITY_MATRIX_IT_MV float4x4 モデル * ビュー行列の逆行列の転置行列
UNITY_MATRIX_TEXTURE0 - UNITY_MATRIX_TEXTURE3 float4x4 テクスチャ変換行列
_Object2World float4x4 現在のモデルマトリックス
_World2Object float4x4 現在のワールド行列の逆
_WorldSpaceCameraPos float3 カメラのワールド空間位置
unity_Scale float4 xyz コンポーネントを使用せず,w が均一に拡大・縮小するスケールを保持しています

ライティング

シンプルなShadelabでは,次のプロパティにアクセスするには末尾に0を付与,すなわちライトのModel×LightColorは_ModelLightColor0 となります。Cgシェーダでは,ひとつの要素をもった配列としてアクセスできるため,Cgでの相当する表現は_ModelLightColor[0] です。

Name Type Value
_ModelLightColor float4 マテリアルのModel×Light color。
_SpecularLightColor float4 マテリアルのSpecular×Light color。
_ObjectSpaceLightPos float4 オブジェクト座標系でのライトの位置。_w_コンポーネントが 0 の場合は指向性ライト,1 の場合はその他のライト。
_Light2World float4x4 ライトからワールド座標系の行列。
_World2Light float4x4 ワールドからライト座標系の行列。
_Object2Light float4x4 オブジェクトからライト座標系の行列。

その他,様々

Name Type Value
_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)
_ProjectionParams float4 x は 1.0 または –1.0,反転した射影行列で現在レンダリングしている場合は負の値。 y はカメラに近い平面,zはカメラの遠い平面,wは 1/FarPlaneです
_ScreenParams float4 xはピクセルの現在のレンダーターゲット幅。yはピクセルの現在のレンダーターゲット高さ,zは 1.0 + 1.0/width,wは 1.0 + 1.0/height
Debugging DirectX 11 shaders with Visual Studio
パーティクルシステム(Shuriken)