1. 程式人生 > >Unity學習(三)Unity Shader入門(基礎知識篇)+線性代數複習(未完待續)

Unity學習(三)Unity Shader入門(基礎知識篇)+線性代數複習(未完待續)

至於為什麼剛建立了指令碼,現在就要做Shader了。。說多了都是淚

1.建立一個新的材質 Material

Assert -> Create -> Material

拖到Scene中的某個物體上

2.建立一個新的Shader

Assert -> Create -> Shader

裡面有四種模板:

Standard Surface Shader:表面著色器

Unlit Shader:頂點/片元著色器

Image Effective Shader:後處理效果

Compute Shader:特殊的Shader檔案

3.數學基礎(包括但不限於一下幾點):

Unity使用的座標系

對於設計者:左手系

對於觀察者:右手系

向量

向量的內積(點積)幾何意義:投影;a·b即b在a上有方向的投影

向量的外積(叉積)幾何意義:面積&法向量

矩陣

1.逆矩陣:MM^-1=E

並不是所有矩陣都有逆矩陣,如果有逆矩陣,則稱該矩陣可逆,或非奇藝。

寫Shader的過程中,矩陣的求解可以用C++庫Eigen求得。

逆矩陣有一大堆性質,這個還是看看線性代數吧,雖然交大的線性代數課本簡直。。。。不可描述

2.正交矩陣:MM^T=E

矩陣的幾何意義!!!!(這個肥腸重要)

變換:

線性變換(保留向量加和標量乘):縮放,旋轉,錯切,映象,正交投影

仿射變換:線性變換+平移變換 向量需要擴充套件到四維\begin{pmatrix} 1& 0& 0& 1\\ 0& 1& 0& 2\\ 0& 0 & 1&3 \\ 0& 0 & 0 &1 \end{pmatrix}\begin{pmatrix} 1\\ 1\\ 1\\ 1 \end{pmatrix} = \begin{pmatrix} 2\\ 3\\ 4\\ 1 \end{pmatrix}表示(1,1,1)T+(1,2,3)T

分解基礎變換矩陣 \begin{pmatrix} M_{3\times 3} & T_{3\times 1} \\ 0& 1 \end{pmatrix}

約定變換的順序:縮放-旋轉-平移(公式中從右到左) MVP矩陣

----未完待續