Unity 內建轉換矩陣

2021-10-09 08:20:41 字數 1650 閱讀 8667

名稱

說明unity_matrix_mvp

當前模型檢視投影矩陣,通常用於把頂點/方向向量從模型空間轉換到裁剪空間

unity_matrix_mv

當前模型檢視矩陣,通常用於把頂點/方向向量從模型空間轉換到視角(相機)空間

unity_matrix_v

當前檢視矩陣,通常用於把頂點/方向向量從世界空間轉換到視角(相機)空間

unity_matrix_p

當前的投影矩陣,通常用於把頂點/方向向量從視角(相機)空間轉換到裁剪空間

unity_matrix_vp

當前檢視投影矩陣,通常用於把頂點/方向向量從世界空間轉換到裁剪空間

unity_matrix_t_mv

unity_matrix_mv模型檢視矩陣的轉置

unity_matrix_it_mv

模型檢視矩陣的逆轉置,通常用於把法線從模型空間轉換到視角(相機)空間

unity_objecttoworld

當前模型轉空間矩陣,通常用於把頂點/方向向量從模型空間轉換到世界空間

unity_worldtoobject

當前世界轉模型矩陣,通常用於把頂點/方向向量從世界空間轉換到模型空間

如果unity_matrix_mv是乙個正交矩陣,那麼unity_matrix_t_mv就是它的逆矩陣,我們就可以使用unity_matrix_t_mv把頂點和向量從觀察空間轉換到模型空間。

如果乙個模型的變換只包括旋轉和統一縮放時,unity_matrix_mv就是乙個我們喜歡的正交矩陣。

unity_matrix_it_mv是unity_matrix_mv的逆轉矩陣,可以用來把法線從模型空間變換到觀察空間。但如果把unity_matrix_it_mv做一下轉置,就可以得到unity_matrix_mv的逆矩陣,

同樣,可以用來把頂點和向量從觀察空間轉換到模型空間。

名稱型別

數值_worldspacecamerapos

float3

世界空間相機的位置

_projectionparams

float4

x = 1.0(或如果當前使用翻轉投影矩陣渲染則為-1.0),y是相機的近平面,z是相機的遠平面,w是1 / farplane

_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,透視相機時w為0.0

unity_cameraprojection

float4x4

攝像機的投影矩陣

unity_camerainvprojection

float4x4

攝像機的投影矩陣的逆矩陣

unity_cameraworldclipplanes[6]

float4

相機錐平面世界空間方程,按順序為:左、右、底部、頂部、近、遠

Unity常用內建變換矩陣對應變數名

內建矩陣變數 含義unity matrix mvp 當前模型檢視投影矩陣 unity matrix mv 當前模型檢視矩陣 unity matrix v 當前檢視矩陣 unity matrix p 目前的投影矩陣 unity matrix vp 當前檢視 投影矩陣 unity matrix t mv...

Unity Shader內建矩陣

內建矩陣 支援的矩陣 float4x4 unity matrix mvp 當前模型 檢視 投影 矩陣 unity matrix mv 當前模型 檢視 矩陣 unity matrix v 當前檢視矩陣。unity matrix p 目前的投影矩陣 unity matrix vp 當前檢視 投影 矩陣 ...

Unity 矩陣運算

void start 1.00000 0.00000 0.00000 7.00000 0.00000 2.00000 0.00000 8.00000 0.00000 0.00000 3.00000 9.00000 0.00000 0.00000 0.00000 1.00000 q.eulerangl...