RGB 顏色值用於存儲矢量的 X、Y、Z 方向,其中的 Z 為“向上”(與 Unity 通常使用 Y 作為“向上”的慣例相反)。此外,紋理中的值視為經過減半處理,即添加了 0.5 的系數。這樣就能存儲所有方向的矢量。因此,為了將 RGB 顏色轉換為矢量方向,必須乘以 2,然后減去 1。例如,RGB 值 (0.5, 0.5, 1) 或十六進制的 #8080FF 將得到矢量 (0,0,1),這便是用於法線貼圖的“向上”,並表示模型表面沒有變化。這就是您在此頁面前面的法線貼圖“示例”的平面區域中看到的顏色。
//RGB=>法線方向
R*2-1=X
G*2-1=Y
Z*2-1=Z
//法線方向=>RGB
(X+1)/2=R
(Y+1)/2=G
(Z+1)/2=B
